Author: bugman Date: Wed Feb 4 17:09:20 2015 New Revision: 27521 URL: http://svn.gna.org/viewcvs/relax?rev=27521&view=rev Log: Merged revisions 27518-27519 via svnmerge from svn+ssh://bugman@xxxxxxxxxxx/svn/relax/trunk ........ r27518 | bugman | 2015-02-04 17:02:35 +0100 (Wed, 04 Feb 2015) | 5 lines Created the Relax_fit.test_bug_23244_Iinf_graph system test. This is to catch bug #23244 (https://gna.org/bugs/?23244). ........ r27519 | bugman | 2015-02-04 17:06:42 +0100 (Wed, 04 Feb 2015) | 6 lines Fix for bug #23244 (https://gna.org/bugs/?23244). The relaxation curve-fitting auto-analysis now outputs text files and Grace graphs for the I0 parameter and the Iinf parameter if it exists. ........ Added: branches/nmrglue/test_suite/shared_data/curve_fitting/bug_23244_Iinf_graph/ - copied from r27519, trunk/test_suite/shared_data/curve_fitting/bug_23244_Iinf_graph/ branches/nmrglue/test_suite/system_tests/scripts/curve_fitting/relax_fit_inversion_recovery.py - copied unchanged from r27519, trunk/test_suite/system_tests/scripts/curve_fitting/relax_fit_inversion_recovery.py Modified: branches/nmrglue/ (props changed) branches/nmrglue/auto_analyses/relax_fit.py branches/nmrglue/test_suite/system_tests/relax_fit.py Propchange: branches/nmrglue/ ------------------------------------------------------------------------------ --- svnmerge-integrated (original) +++ svnmerge-integrated Wed Feb 4 17:09:20 2015 @@ -1 +1 @@ -/trunk:1-27246 +/trunk:1-27246,27518-27519 Modified: branches/nmrglue/auto_analyses/relax_fit.py URL: http://svn.gna.org/viewcvs/relax/branches/nmrglue/auto_analyses/relax_fit.py?rev=27521&r1=27520&r2=27521&view=diff ============================================================================== --- branches/nmrglue/auto_analyses/relax_fit.py (original) +++ branches/nmrglue/auto_analyses/relax_fit.py Wed Feb 4 17:09:20 2015 @@ -126,22 +126,29 @@ self.interpreter.minimise.execute('newton', scaling=False, constraints=False) self.interpreter.monte_carlo.error_analysis() - # Save the relaxation rates. - self.interpreter.value.write(param='rx', file=self.file_root+'.out', dir=self.results_dir, force=True) - - # Save the results. - self.interpreter.results.write(file='results', dir=self.results_dir, force=True) - - # Determine the normalisation type. + # Determine the normalisation type and if the Iinf parameter exists. norm_type = 'last' + iinf = True for spin in spin_loop(skip_desel=True): if spin.model not in ['sat', 'inv']: norm_type = 'first' + iinf = False break + + # Save the relaxation rates and other parameter values. + self.interpreter.value.write(param='i0', file='i0.out', dir=self.results_dir, force=True) + if iinf: + self.interpreter.value.write(param='iinf', file='iinf.out', dir=self.results_dir, force=True) + self.interpreter.value.write(param='rx', file=self.file_root+'.out', dir=self.results_dir, force=True) + + # Save the results. + self.interpreter.results.write(file='results', dir=self.results_dir, force=True) # Create Grace plots of the data. self.interpreter.grace.write(y_data_type='chi2', file='chi2.agr', dir=self.grace_dir, force=True) # Minimised chi-squared value. self.interpreter.grace.write(y_data_type='i0', file='i0.agr', dir=self.grace_dir, force=True) # Initial peak intensity. + if iinf: + self.interpreter.grace.write(y_data_type='iinf', file='iinf.agr', dir=self.grace_dir, force=True) # Infinite peak intensity. self.interpreter.grace.write(y_data_type='rx', file=self.file_root+'.agr', dir=self.grace_dir, force=True) # Relaxation rate. self.interpreter.grace.write(x_data_type='relax_times', y_data_type='peak_intensity', file='intensities.agr', dir=self.grace_dir, force=True) # Average peak intensities. self.interpreter.grace.write(x_data_type='relax_times', y_data_type='peak_intensity', norm_type=norm_type, norm=True, file='intensities_norm.agr', dir=self.grace_dir, force=True) # Average peak intensities (normalised). Modified: branches/nmrglue/test_suite/system_tests/relax_fit.py URL: http://svn.gna.org/viewcvs/relax/branches/nmrglue/test_suite/system_tests/relax_fit.py?rev=27521&r1=27520&r2=27521&view=diff ============================================================================== --- branches/nmrglue/test_suite/system_tests/relax_fit.py (original) +++ branches/nmrglue/test_suite/system_tests/relax_fit.py Wed Feb 4 17:09:20 2015 @@ -1,6 +1,6 @@ ############################################################################### # # -# Copyright (C) 2006-2014 Edward d'Auvergne # +# Copyright (C) 2006-2015 Edward d'Auvergne # # Copyright (C) 2014 Troels E. Linnet # # # # This file is part of the program relax (http://www.nmr-relax.com). # @@ -21,7 +21,7 @@ ############################################################################### # Python module imports. -from os import sep +from os import F_OK, access, sep from re import search from tempfile import mkdtemp @@ -202,6 +202,23 @@ # A RelaxError is expected (but assertRaises() does not work with the script_exec method). except RelaxError: pass + + + def test_bug_23244_Iinf_graph(self): + """Test that the auto-analysis creates the Iinf grace graphs, replicating U{bug #23244<https://gna.org/bugs/?23244>}.""" + + # Execute the script. + self.script_exec(status.install_path + sep+'test_suite'+sep+'system_tests'+sep+'scripts'+sep+'curve_fitting'+sep+'relax_fit_inversion_recovery.py') + + # Check that the Iinf parameter files have been created. + self.assert_(access(ds.tmpdir+sep+'i0.out', F_OK)) + self.assert_(access(ds.tmpdir+sep+'iinf.out', F_OK)) + self.assert_(access(ds.tmpdir+sep+'rx.out', F_OK)) + + # Check that the Iinf grace graphs have been created. + self.assert_(access(ds.tmpdir+sep+'grace'+sep+'i0.agr', F_OK)) + self.assert_(access(ds.tmpdir+sep+'grace'+sep+'iinf.agr', F_OK)) + self.assert_(access(ds.tmpdir+sep+'grace'+sep+'rx.agr', F_OK)) def test_curve_fitting_height(self):