Author: semor Date: Mon Dec 17 21:02:55 2007 New Revision: 4200 URL: http://svn.gna.org/viewcvs/relax?rev=4200&view=rev Log: Merging of the 'consistency-tests' branch in the main 1.2 line. The command used was: svnmerge.py merge -r3343,3347-3349,3353-3354,3356-3358,3362,3368,3373-3374,3525-3527,3530,3534,4142-4143 These topics were first discussed in the thread starting at https://mail.gna.org/public/relax-devel/2007-06/msg00008.html (Message-id: <4672D803.4060009@xxxxxxxxx>). These additions will allow a user to check consistency for datasets recorded at different magnetic fields by calculating values for consistency functions J(0), Feta and FR2. Added: 1.2/maths_fns/consistency_tests.py - copied unchanged from r3532, branches/consistency_tests_1.2/maths_fns/consistency_tests.py 1.2/prompt/consistency_tests.py - copied unchanged from r3532, branches/consistency_tests_1.2/prompt/consistency_tests.py 1.2/sample_scripts/consistency_tests.py - copied unchanged from r3532, branches/consistency_tests_1.2/sample_scripts/consistency_tests.py 1.2/specific_fns/consistency_tests.py - copied unchanged from r3532, branches/consistency_tests_1.2/specific_fns/consistency_tests.py 1.2/test_suite/consistency_tests.py - copied unchanged from r3532, branches/consistency_tests_1.2/test_suite/consistency_tests.py Modified: 1.2/generic_fns/runs.py 1.2/prompt/__init__.py 1.2/prompt/grace.py 1.2/prompt/interpreter.py 1.2/prompt/molmol.py 1.2/prompt/run.py 1.2/prompt/value.py 1.2/specific_fns/__init__.py 1.2/specific_fns/main.py 1.2/specific_fns/specific_setup.py 1.2/test_suite/__init__.py 1.2/test_suite/test_suite.py Modified: 1.2/generic_fns/runs.py URL: http://svn.gna.org/viewcvs/relax/1.2/generic_fns/runs.py?rev=4200&r1=4199&r2=4200&view=diff ============================================================================== --- 1.2/generic_fns/runs.py (original) +++ 1.2/generic_fns/runs.py Mon Dec 17 21:02:55 2007 @@ -38,7 +38,7 @@ raise RelaxRunError, run # List of valid run types. - valid = ['jw', 'mf', 'noe', 'relax_fit', 'srls'] + valid = ['ct', 'jw', 'mf', 'noe', 'relax_fit', 'srls'] # Test if run_type is valid. if not run_type in valid: Modified: 1.2/prompt/__init__.py URL: http://svn.gna.org/viewcvs/relax/1.2/prompt/__init__.py?rev=4200&r1=4199&r2=4200&view=diff ============================================================================== --- 1.2/prompt/__init__.py (original) +++ 1.2/prompt/__init__.py Mon Dec 17 21:02:55 2007 @@ -22,6 +22,7 @@ __all__ = ['angles', + 'consistency_tests', 'command', 'dasha', 'diffusion_tensor', Modified: 1.2/prompt/grace.py URL: http://svn.gna.org/viewcvs/relax/1.2/prompt/grace.py?rev=4200&r1=4199&r2=4200&view=diff ============================================================================== --- 1.2/prompt/grace.py (original) +++ 1.2/prompt/grace.py Mon Dec 17 21:02:55 2007 @@ -25,6 +25,7 @@ from doc_string import regexp_doc import help from generic_fns.minimise import Minimise +from specific_fns.consistency_tests import Consistency_tests from specific_fns.model_free import Model_free from specific_fns.jw_mapping import Jw_mapping from specific_fns.noe import Noe @@ -258,6 +259,7 @@ # Write function. write.__doc__ = write.__doc__ + "\n\n" + regexp_doc() + "\n" + write.__doc__ = write.__doc__ + Consistency_tests.return_data_name.__doc__ + "\n\n" write.__doc__ = write.__doc__ + Minimise.return_data_name.__doc__ + "\n\n" write.__doc__ = write.__doc__ + Noe.return_data_name.__doc__ + "\n" write.__doc__ = write.__doc__ + Relax_fit.return_data_name.__doc__ + "\n" Modified: 1.2/prompt/interpreter.py URL: http://svn.gna.org/viewcvs/relax/1.2/prompt/interpreter.py?rev=4200&r1=4199&r2=4200&view=diff ============================================================================== --- 1.2/prompt/interpreter.py (original) +++ 1.2/prompt/interpreter.py Mon Dec 17 21:02:55 2007 @@ -50,6 +50,7 @@ from pdb import PDB # User classes. +from consistency_tests import Consistency_tests from dasha import Dasha from diffusion_tensor import Diffusion_tensor from grace import Grace @@ -106,6 +107,7 @@ self._system = system # Place the user classes into the interpreter class namespace. + self._Consistency_tests = Consistency_tests(relax) self._Dasha = Dasha(relax) self._Diffusion_tensor = Diffusion_tensor(relax) self._OpenDX = OpenDX(relax) @@ -163,6 +165,7 @@ pdb = self._PDB.pdb # Place the user classes in the local namespace. + consistency_tests = self._Consistency_tests dasha = self._Dasha diffusion_tensor = self._Diffusion_tensor dx = self._OpenDX Modified: 1.2/prompt/molmol.py URL: http://svn.gna.org/viewcvs/relax/1.2/prompt/molmol.py?rev=4200&r1=4199&r2=4200&view=diff ============================================================================== --- 1.2/prompt/molmol.py (original) +++ 1.2/prompt/molmol.py Mon Dec 17 21:02:55 2007 @@ -26,6 +26,7 @@ from doc_string import regexp_doc import help from generic_fns.minimise import Minimise +from specific_fns.consistency_tests import Consistency_tests from specific_fns.model_free import Molmol from specific_fns.jw_mapping import Jw_mapping from specific_fns.noe import Noe Modified: 1.2/prompt/run.py URL: http://svn.gna.org/viewcvs/relax/1.2/prompt/run.py?rev=4200&r1=4199&r2=4200&view=diff ============================================================================== --- 1.2/prompt/run.py (original) +++ 1.2/prompt/run.py Mon Dec 17 21:02:55 2007 @@ -54,6 +54,7 @@ The run name can be any string however the run type can only be one of the following + 'ct': Consistency tests. 'jw': Reduced spectral density mapping, 'mf': Model-free analysis, 'noe': Steady state NOE calculation, Modified: 1.2/prompt/value.py URL: http://svn.gna.org/viewcvs/relax/1.2/prompt/value.py?rev=4200&r1=4199&r2=4200&view=diff ============================================================================== --- 1.2/prompt/value.py (original) +++ 1.2/prompt/value.py Mon Dec 17 21:02:55 2007 @@ -25,6 +25,7 @@ from doc_string import regexp_doc import help from generic_fns.diffusion_tensor import Diffusion_tensor +from specific_fns.consistency_tests import Consistency_tests from specific_fns.model_free import Model_free from specific_fns.jw_mapping import Jw_mapping from specific_fns.relax_fit import Relax_fit @@ -510,6 +511,8 @@ # Copy function. copy.__doc__ = copy.__doc__ + "\n\n" + regexp_doc() + "\n" + copy.__doc__ = copy.__doc__ + Consistency_tests.set.__doc__ + "\n" + copy.__doc__ = copy.__doc__ + Consistency_tests.return_data_name.__doc__ + "\n" copy.__doc__ = copy.__doc__ + Model_free.set_doc.__doc__ + "\n\n" copy.__doc__ = copy.__doc__ + Model_free.return_data_name.__doc__ + "\n" copy.__doc__ = copy.__doc__ + Jw_mapping.set.__doc__ + "\n" @@ -519,12 +522,15 @@ # Display function. display.__doc__ = display.__doc__ + "\n\n" + regexp_doc() + "\n" + display.__doc__ = display.__doc__ + Consistency_tests.return_data_name.__doc__ + "\n" display.__doc__ = display.__doc__ + Model_free.return_data_name.__doc__ + "\n\n" display.__doc__ = display.__doc__ + Jw_mapping.return_data_name.__doc__ + "\n" display.__doc__ = display.__doc__ + Relax_fit.return_data_name.__doc__ + "\n" # Read function. read.__doc__ = read.__doc__ + "\n\n" + regexp_doc() + "\n" + read.__doc__ = read.__doc__ + Consistency_tests.set.__doc__ + "\n" + read.__doc__ = read.__doc__ + Consistency_tests.return_data_name.__doc__ + "\n" read.__doc__ = read.__doc__ + Model_free.set_doc.__doc__ + "\n\n" read.__doc__ = read.__doc__ + Model_free.return_data_name.__doc__ + "\n" read.__doc__ = read.__doc__ + Jw_mapping.set.__doc__ + "\n" @@ -534,6 +540,9 @@ # Set function. set.__doc__ = set.__doc__ + "\n\n" + regexp_doc() + "\n" + set.__doc__ = set.__doc__ + Consistency_tests.set.__doc__ + "\n" + set.__doc__ = set.__doc__ + Consistency_tests.return_data_name.__doc__ + "\n" + set.__doc__ = set.__doc__ + Consistency_tests.default_value.__doc__ + "\n" set.__doc__ = set.__doc__ + Model_free.set_doc.__doc__ + "\n" set.__doc__ = set.__doc__ + Model_free.return_data_name.__doc__ + "\n" set.__doc__ = set.__doc__ + Model_free.default_value.__doc__ + "\n\n" @@ -549,6 +558,7 @@ # Write function. write.__doc__ = write.__doc__ + "\n\n" + regexp_doc() + "\n" + write.__doc__ = write.__doc__ + Consistency_tests.return_data_name.__doc__ + "\n\n" write.__doc__ = write.__doc__ + Model_free.return_data_name.__doc__ + "\n\n" write.__doc__ = write.__doc__ + Jw_mapping.return_data_name.__doc__ + "\n\n" write.__doc__ = write.__doc__ + Noe.return_data_name.__doc__ + "\n" Modified: 1.2/specific_fns/__init__.py URL: http://svn.gna.org/viewcvs/relax/1.2/specific_fns/__init__.py?rev=4200&r1=4199&r2=4200&view=diff ============================================================================== --- 1.2/specific_fns/__init__.py (original) +++ 1.2/specific_fns/__init__.py Mon Dec 17 21:02:55 2007 @@ -21,7 +21,8 @@ ############################################################################### -__all__ = [ 'base_class', +__all__ = [ 'consistency_tests', + 'base_class', 'hybrid', 'jw_mapping', 'main', Modified: 1.2/specific_fns/main.py URL: http://svn.gna.org/viewcvs/relax/1.2/specific_fns/main.py?rev=4200&r1=4199&r2=4200&view=diff ============================================================================== --- 1.2/specific_fns/main.py (original) +++ 1.2/specific_fns/main.py Mon Dec 17 21:02:55 2007 @@ -21,6 +21,7 @@ ############################################################################### +from consistency_tests import Consistency_tests from hybrid import Hybrid from jw_mapping import Jw_mapping from model_free import Model_free @@ -37,6 +38,7 @@ self.relax = relax # Set up all the functions + self.consistency_tests = Consistency_tests(self.relax) self.hybrid = Hybrid(self.relax) self.jw_mapping = Jw_mapping(self.relax) self.model_free = Model_free(self.relax) Modified: 1.2/specific_fns/specific_setup.py URL: http://svn.gna.org/viewcvs/relax/1.2/specific_fns/specific_setup.py?rev=4200&r1=4199&r2=4200&view=diff ============================================================================== --- 1.2/specific_fns/specific_setup.py (original) +++ 1.2/specific_fns/specific_setup.py Mon Dec 17 21:02:55 2007 @@ -37,6 +37,10 @@ # Initialise. string = "this analysis" + # Consistency testing. + if function_type == 'ct': + string = "consistency testing" + # NOE calculation. if function_type == 'noe': string = "NOE calculations" @@ -69,6 +73,10 @@ # Get the function. try: + # Consistency testing. + if function_type == 'ct': + function = self.ct_funcs() + # NOE calculation. if function_type == 'noe': function = self.noe() @@ -205,6 +213,86 @@ # Write results function (Columnar format). if self.eqi == 'write_columnar_results': return self.relax.specific.jw_mapping.write_columnar_results + + + def ct_funcs(self): + """Consistency testing functions.""" + + # Calculate function. + if self.eqi == 'calculate': + return self.relax.specific.consistency_tests.calculate + + # Copy function. + if self.eqi == 'copy': + return self.relax.specific.consistency_tests.copy + + # Create Monte Carlo data function (same as data returning function). + if self.eqi == 'create_mc_data': + return self.relax.specific.consistency_tests.return_data + + # Number of instances. + if self.eqi == 'num_instances': + return self.relax.specific.consistency_tests.num_instances + + # Overfit deselect. + if self.eqi == 'overfit_deselect': + return self.relax.specific.consistency_tests.overfit_deselect + + # Pack Monte Carlo simulation data function. + if self.eqi == 'pack_sim_data': + return self.relax.specific.consistency_tests.sim_pack_data + + # Data returning function. + if self.eqi == 'return_data': + return self.relax.specific.consistency_tests.return_data + + # Data or parameter name returning function. + if self.eqi == 'return_data_name': + return self.relax.specific.consistency_tests.return_data_name + + # Factor of conversion between different parameter units returning function. + if self.eqi == 'return_conversion_factor': + return self.relax.specific.consistency_tests.return_conversion_factor + + # Data error returning function. + if self.eqi == 'return_error': + return self.relax.specific.consistency_tests.return_error + + # Grace string returning function. + if self.eqi == 'return_grace_string': + return self.relax.specific.consistency_tests.return_grace_string + + # Simulation parameter array returning function. + if self.eqi == 'return_sim_param': + return self.relax.specific.consistency_tests.sim_return_param + + # Simulation parameter array returning function. + if self.eqi == 'return_selected_sim': + return self.relax.specific.consistency_tests.sim_return_selected + + # String of the external parameter units returning function. + if self.eqi == 'return_units': + return self.relax.specific.consistency_tests.return_units + + # Value and error returning function. + if self.eqi == 'return_value': + return self.relax.specific.consistency_tests.return_value + + # Set function. + if self.eqi == 'set': + return self.relax.specific.consistency_tests.set + + # Set error function. + if self.eqi == 'set_error': + return self.relax.specific.consistency_tests.set_error + + # Set error function. + if self.eqi == 'set_selected_sim': + return self.relax.specific.consistency_tests.set_selected_sim + + # Write results function (Columnar format). + if self.eqi == 'write_columnar_results': + return self.relax.specific.consistency_tests.write_columnar_results def mf_funcs(self): Modified: 1.2/test_suite/__init__.py URL: http://svn.gna.org/viewcvs/relax/1.2/test_suite/__init__.py?rev=4200&r1=4199&r2=4200&view=diff ============================================================================== --- 1.2/test_suite/__init__.py (original) +++ 1.2/test_suite/__init__.py Mon Dec 17 21:02:55 2007 @@ -22,6 +22,7 @@ __all__ = ['test_suite', + 'consistency_tests', 'diffusion_tensor', 'generic.py', 'jw_mapping', Modified: 1.2/test_suite/test_suite.py URL: http://svn.gna.org/viewcvs/relax/1.2/test_suite/test_suite.py?rev=4200&r1=4199&r2=4200&view=diff ============================================================================== --- 1.2/test_suite/test_suite.py (original) +++ 1.2/test_suite/test_suite.py Mon Dec 17 21:02:55 2007 @@ -27,6 +27,7 @@ # Import the tests. from angles import Angles +from consistency_tests import Consistent from diffusion_tensor import Diffusion_tensor from generic import Generic from jw_mapping import Jw @@ -192,6 +193,23 @@ self.exec_tests(self.jw_test_array) + # Consistency tests tests. + ########################## + + # Heading + self.heading("The consistency tests tests") + + # Initialise the array containing each test element. + self.consistent_test_array = [] + + # User function value.set() test. + self.consistent_test_array.append(Consistent(self.relax, 'set')) + self.consistent_test_array.append(Consistent(self.relax, 'calc')) + + # Execute the tests. + self.exec_tests(self.consistent_test_array) + + # Model selection tests. ######################## @@ -404,6 +422,21 @@ self.summary_line(test) + # Consistentcy tests test. + ########################## + + # Heading. + sys.stdout.write("\nThe consistency tests tests:\n") + + # Loop over the tests. + for test in self.consistent_test_array: + # Synopsis. + global_pass = global_pass and test.passed + + # Print the summary line. + self.summary_line(test) + + # Model selection tests. ########################