Author: bugman Date: Fri Nov 21 10:51:55 2008 New Revision: 8009 URL: http://svn.gna.org/viewcvs/relax?rev=8009&view=rev Log: Updated the NOE overfit_deselect() method to use RelaxDeselectWarning. Deselected spins are skipped and the checks are now in an if-elif block. Modified: branches/spectral_errors/specific_fns/noe.py Modified: branches/spectral_errors/specific_fns/noe.py URL: http://svn.gna.org/viewcvs/relax/branches/spectral_errors/specific_fns/noe.py?rev=8009&r1=8008&r2=8009&view=diff ============================================================================== --- branches/spectral_errors/specific_fns/noe.py (original) +++ branches/spectral_errors/specific_fns/noe.py Fri Nov 21 10:51:55 2008 @@ -23,6 +23,7 @@ # Python module imports. from math import sqrt from re import match +from warnings import warn # relax module imports. from base_class import Common_functions @@ -31,6 +32,7 @@ from generic_fns.mol_res_spin import exists_mol_res_spin_data, spin_loop from relax_errors import RelaxArgNotInListError, RelaxError, RelaxInvalidDataError, RelaxNoSequenceError, RelaxRegExpError from relax_io import open_write_file +from relax_warnings import RelaxDeselectWarning class Noe(Common_functions): @@ -106,13 +108,19 @@ raise RelaxNoSequenceError # Loop over spin data. - for spin in spin_loop(): + for spin, spin_id in spin_loop(return_id=True): + # Skip deselected spins. + if not spin.select: + continue + # Check for sufficient data. if not hasattr(spin, 'intensities') or not len(spin.intensities) == 2: + warn(RelaxDeselectWarning(spin_id, 'insufficient data')) spin.select = False # Check for sufficient errors. - if not hasattr(spin, 'intensity_err') or not len(spin.intensity_err) == 2: + elif not hasattr(spin, 'intensity_err') or not len(spin.intensity_err) == 2: + warn(RelaxDeselectWarning(spin_id, 'missing errors')) spin.select = False