Author: bugman Date: Tue Apr 2 12:34:40 2013 New Revision: 19303 URL: http://svn.gna.org/viewcvs/relax?rev=19303&view=rev Log: Merged revisions 19302 via svnmerge from svn+ssh://bugman@xxxxxxxxxxx/svn/relax/trunk ........ r19302 | bugman | 2013-04-02 12:34:05 +0200 (Tue, 02 Apr 2013) | 8 lines Fix for bug #20683 (https://gna.org/bugs/?20683) - the infinite and NaN data in Bruker DC files. This was reported by Mengjun Xue <mengjun dott xue att mailbox dott tu-berlin dot de>. The model-free specific overfit_deselect() method now checks for infinite relaxation data and deselects the spin if such data is encountered. ........ Modified: branches/relax_disp/ (props changed) branches/relax_disp/specific_analyses/model_free/main.py Propchange: branches/relax_disp/ ------------------------------------------------------------------------------ --- svnmerge-integrated (original) +++ svnmerge-integrated Tue Apr 2 12:34:40 2013 @@ -1,1 +1,1 @@ -/trunk:1-19300 +/trunk:1-19302 Modified: branches/relax_disp/specific_analyses/model_free/main.py URL: http://svn.gna.org/viewcvs/relax/branches/relax_disp/specific_analyses/model_free/main.py?rev=19303&r1=19302&r2=19303&view=diff ============================================================================== --- branches/relax_disp/specific_analyses/model_free/main.py (original) +++ branches/relax_disp/specific_analyses/model_free/main.py Tue Apr 2 12:34:40 2013 @@ -32,11 +32,12 @@ # relax module imports. import lib.arg_check +from lib.float import isInf +from lib.errors import RelaxError, RelaxFault, RelaxFuncSetupError, RelaxNoModelError, RelaxNoSequenceError, RelaxNoTensorError, RelaxTensorError +from lib.warnings import RelaxDeselectWarning, RelaxWarning from pipe_control import diffusion_tensor, interatomic, pipes, sequence from pipe_control.mol_res_spin import count_spins, exists_mol_res_spin_data, find_index, return_spin, return_spin_from_index, return_spin_indices, spin_loop import specific_analyses -from lib.errors import RelaxError, RelaxFault, RelaxFuncSetupError, RelaxNoModelError, RelaxNoSequenceError, RelaxNoTensorError, RelaxTensorError -from lib.warnings import RelaxDeselectWarning, RelaxWarning from user_functions.data import Uf_tables; uf_tables = Uf_tables() from user_functions.objects import Desc_container @@ -2030,12 +2031,24 @@ # Data checks. if data_check: - # The number of relaxation data points. + # The number of relaxation data points (and for infinite data). data_points = 0 + inf_data = False if hasattr(cdp, 'ri_ids') and hasattr(spin, 'ri_data'): for id in cdp.ri_ids: if id in spin.ri_data and spin.ri_data[id] != None: data_points += 1 + + # Infinite data! + if isInf(spin.ri_data[id]): + inf_data = True + + # Infinite data. + if inf_data: + warn(RelaxDeselectWarning(spin_id, 'infinite relaxation data')) + spin.select = False + deselect_flag = True + continue # Relaxation data must exist! if not hasattr(spin, 'ri_data'):