mailr20730 - /branches/relax_disp/test_suite/system_tests/relax_disp.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on August 30, 2013 - 15:45:
Author: bugman
Date: Fri Aug 30 15:45:58 2013
New Revision: 20730

URL: http://svn.gna.org/viewcvs/relax?rev=20730&view=rev
Log:
Created the Relax_disp.test_r1rho_ns_r1rho_2site_to_tp02 system test for the 
new 'NS R1rho 2-site' model.

This tests the 'NS R1rho 2-site' model against the R1rho off-resonance test 
data from the 'TP02' model.


Modified:
    branches/relax_disp/test_suite/system_tests/relax_disp.py

Modified: branches/relax_disp/test_suite/system_tests/relax_disp.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/relax_disp/test_suite/system_tests/relax_disp.py?rev=20730&r1=20729&r2=20730&view=diff
==============================================================================
--- branches/relax_disp/test_suite/system_tests/relax_disp.py (original)
+++ branches/relax_disp/test_suite/system_tests/relax_disp.py Fri Aug 30 
15:45:58 2013
@@ -850,6 +850,71 @@
         self.assertEqual(cdp.mol[0].res[2].spin[0].ri_data['R2eff.600'], 
7.2385)
 
 
+    def test_r1rho_ns_r1rho_2site_to_tp02(self, model=None):
+        """Test the relaxation dispersion 'NS R1rho 2-site' model fitting 
against the 'TP02' test data."""
+
+        # Reset.
+        self.interpreter.reset()
+
+        # Create the data pipe and load the base data.
+        data_path = status.install_path + 
sep+'test_suite'+sep+'shared_data'+sep+'dispersion'+sep+'r1rho_off_res_tp02'
+        self.interpreter.state.load(data_path+sep+'r2eff_values')
+
+        # The model data pipe.
+        model = 'NS R1rho 2-site'
+        self.interpreter.pipe.copy(pipe_from='base pipe', pipe_to=model, 
bundle_to='relax_disp')
+        self.interpreter.pipe.switch(pipe_name=model)
+
+        # Set the model.
+        self.interpreter.relax_disp.select_model(model=model)
+
+        # Copy the data.
+        self.interpreter.value.copy(pipe_from='R2eff', pipe_to=model, 
param='r2eff')
+
+        # Alias the spins.
+        spin1 = cdp.mol[0].res[0].spin[0]
+        spin2 = cdp.mol[0].res[1].spin[0]
+
+        # Set the initial parameter values.
+        spin1.r2 = [10.0, 15.0]
+        spin1.pA = 0.7654321
+        spin1.dw = 7.0
+        spin1.kex = 1234.56789
+        spin2.r2 = [12.0, 18.0]
+        spin2.pA = 0.7654321
+        spin2.dw = 9.0
+        spin2.kex = 1234.56789
+
+        # Low precision optimisation.
+        self.interpreter.minimise(min_algor='simplex', line_search=None, 
hessian_mod=None, hessian_type=None, func_tol=1e-05, grad_tol=None, 
max_iter=1000, constraints=True, scaling=True, verbosity=1)
+
+        # Printout.
+        print("\n\nOptimised parameters:\n")
+        print("%-20s %-20s %-20s" % ("Parameter", "Value (:1)", "Value 
(:2)"))
+        print("%-20s %20.15g %20.15g" % ("R2 (500 MHz)", spin1.r2[0], 
spin2.r2[0]))
+        print("%-20s %20.15g %20.15g" % ("R2 (800 MHz)", spin1.r2[1], 
spin2.r2[1]))
+        print("%-20s %20.15g %20.15g" % ("pA", spin1.pA, spin2.pA))
+        print("%-20s %20.15g %20.15g" % ("dw", spin1.dw, spin2.dw))
+        print("%-20s %20.15g %20.15g" % ("kex", spin1.kex, spin2.kex))
+        print("%-20s %20.15g %20.15g\n" % ("chi2", spin1.chi2, spin2.chi2))
+
+        # Checks for residue :1.
+        self.assertAlmostEqual(spin1.r2[0], 10.0, 4)
+        self.assertAlmostEqual(spin1.r2[1], 15.0, 4)
+        self.assertAlmostEqual(spin1.pA, 0.7654321, 4)
+        self.assertAlmostEqual(spin1.dw, 7.0, 4)
+        self.assertAlmostEqual(spin1.kex/1000, 1234.56789/1000, 4)
+        self.assertAlmostEqual(spin1.chi2, 0.0, 4)
+
+        # Checks for residue :2.
+        self.assertAlmostEqual(spin2.r2[0], 12.0, 4)
+        self.assertAlmostEqual(spin2.r2[1], 18.0, 4)
+        self.assertAlmostEqual(spin2.pA, 0.7654321, 4)
+        self.assertAlmostEqual(spin2.dw, 9.0, 4)
+        self.assertAlmostEqual(spin2.kex/1000, 1234.56789/1000, 4)
+        self.assertAlmostEqual(spin2.chi2, 0.0, 4)
+
+
     def test_r1rho_off_res_fixed_time_tp02(self):
         """Test the relaxation dispersion 'TP02' model curve fitting to 
fixed time synthetic data."""
 




Related Messages


Powered by MHonArc, Updated Fri Aug 30 16:00:02 2013