mailr21030 - in /branches/relax_disp/test_suite/system_tests: relax_disp.py scripts/relax_disp/sprangers_data.py


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

Header


Content

Posted by edward on October 09, 2013 - 18:28:
Author: bugman
Date: Wed Oct  9 18:28:52 2013
New Revision: 21030

URL: http://svn.gna.org/viewcvs/relax?rev=21030&view=rev
Log:
Created the Relax_disp.test_sprangers_cpmg_data_auto_analysis system test.

This checks the 'MQ NS 2-site' model against Remco Sprangers' MQ CPMG data 
using the auto-analysis.


Added:
    
branches/relax_disp/test_suite/system_tests/scripts/relax_disp/sprangers_data.py
      - copied, changed from r21028, 
branches/relax_disp/test_suite/shared_data/dispersion/Sprangers_ClpP/analysis.py
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=21030&r1=21029&r2=21030&view=diff
==============================================================================
--- branches/relax_disp/test_suite/system_tests/relax_disp.py (original)
+++ branches/relax_disp/test_suite/system_tests/relax_disp.py Wed Oct  9 
18:28:52 2013
@@ -389,7 +389,6 @@
         file.close()
         for i in range(len(main_file)):
             self.assertEqual(main_file[i], lines[i])
-
 
 
     def test_hansen_cpmg_data_auto_analysis(self):
@@ -1488,6 +1487,61 @@
         self.assertEqual(cdp.mol[0].res[2].spin[0].ri_data['R2eff.600'], 
7.2385)
 
 
+    def test_sprangers_cpmg_data_auto_analysis(self):
+        """Test of the dispersion auto-analysis using Remco Sprangers' MQ 
CPMG data.
+
+        This uses the data from Remco Sprangers' paper at 
http://dx.doi.org/10.1073/pnas.0507370102.  This is MQ CPMG data with a fixed 
relaxation time period.
+        """
+
+        # Execute the script.
+        self.interpreter.run(script_file=status.install_path + 
sep+'test_suite'+sep+'system_tests'+sep+'scripts'+sep+'relax_disp'+sep+'sprangers_data.py')
+
+        # The 'No Rex' model checks.
+        self.interpreter.pipe.switch(pipe_name='No Rex')
+        spin135S = cdp.mol[0].res[0].spin[0]
+        spin135F = cdp.mol[0].res[0].spin[1]
+        spin137S = cdp.mol[0].res[1].spin[0]
+        spin137F = cdp.mol[0].res[1].spin[1]
+        print("\n\nOptimised parameters:\n")
+        print("%-20s %-20s %-20s %-20s %-20s" % ("Parameter", "Value 
(:135@S)", "Value (:135@F)", "Value (:137@S)", "Value (:137@F)"))
+        print("%-20s %20.15g %20.15g %20.15g %20.15g" % ("R2 (500 MHz)", 
spin135S.r2[0], spin135F.r2[0], spin137S.r2[0], spin137F.r2[0]))
+        print("%-20s %20.15g %20.15g %20.15g %20.15g" % ("R2 (800 MHz)", 
spin135S.r2[1], spin135F.r2[1], spin137S.r2[1], spin137F.r2[1]))
+        print("%-20s %20.15g %20.15g %20.15g %20.15g\n" % ("chi2", 
spin135S.chi2, spin135F.chi2, spin137S.chi2, spin137F.chi2))
+        self.assertAlmostEqual(spin135S.r2[0], 33.9759609066454, 4)
+        self.assertAlmostEqual(spin135S.r2[1], 43.0969094834547, 4)
+        self.assertAlmostEqual(spin135S.chi2, 3969.76481864137, 4)
+        self.assertAlmostEqual(spin135F.r2[0], 47.552576922923, 4)
+        self.assertAlmostEqual(spin135F.r2[1], 65.0985264581959, 4)
+        self.assertAlmostEqual(spin135F.chi2, 3815.60336919813, 4)
+        self.assertAlmostEqual(spin137S.r2[0], 32.2534843780118, 4)
+        self.assertAlmostEqual(spin137S.r2[1], 42.3438098884568, 4)
+        self.assertAlmostEqual(spin137S.chi2, 5059.72438767579, 4)
+        self.assertAlmostEqual(spin137F.r2[0], 51.8197781054955, 4)
+        self.assertAlmostEqual(spin137F.r2[1], 66.2604887530423, 4)
+        self.assertAlmostEqual(spin137F.chi2, 1764.08570485219, 4)
+
+        # The 'MQ NS 2-site' model checks.
+        self.interpreter.pipe.switch(pipe_name='MQ NS 2-site')
+        spin70 = cdp.mol[0].res[0].spin[0]
+        spin71 = cdp.mol[0].res[1].spin[0]
+        print("\n\nOptimised parameters:\n")
+        print("%-20s %-20s %-20s" % ("Parameter", "Value (:70)", "Value 
(:71)"))
+        print("%-20s %20.15g %20.15g" % ("R2 (500 MHz)", spin70.r2[0], 
spin71.r2[0]))
+        print("%-20s %20.15g %20.15g" % ("R2 (800 MHz)", spin70.r2[1], 
spin71.r2[1]))
+        print("%-20s %20.15g %20.15g" % ("phi_ex", spin70.phi_ex, 
spin71.phi_ex))
+        print("%-20s %20.15g %20.15g" % ("kex", spin70.kex, spin71.kex))
+        print("%-20s %20.15g %20.15g\n" % ("chi2", spin70.chi2, spin71.chi2))
+        self.assertAlmostEqual(spin70.r2[0], 6.8058772971170374, 4)
+        self.assertAlmostEqual(spin70.r2[1], 6.6790611414921477, 4)
+        self.assertAlmostEqual(spin70.phi_ex, 0.31009292384617337, 4)
+        self.assertAlmostEqual(spin70.kex/10000, 4763.36556651067/10000, 4)
+        self.assertAlmostEqual(spin70.chi2, 106.393365972649, 4)
+        self.assertAlmostEqual(spin71.r2[0], 4.9264108615358406, 4)
+        self.assertAlmostEqual(spin71.phi_ex, 0.059254616846279792, 4)
+        self.assertAlmostEqual(spin71.kex/10000, 2543.899105435682/10000, 4)
+        self.assertAlmostEqual(spin71.chi2, 1.4423991744690439, 4)
+
+
     def test_tp02_data_to_ns_r1rho_2site(self, model=None):
         """Test the relaxation dispersion 'NS R1rho 2-site' model fitting 
against the 'TP02' test data."""
 

Copied: 
branches/relax_disp/test_suite/system_tests/scripts/relax_disp/sprangers_data.py
 (from r21028, 
branches/relax_disp/test_suite/shared_data/dispersion/Sprangers_ClpP/analysis.py)
URL: 
http://svn.gna.org/viewcvs/relax/branches/relax_disp/test_suite/system_tests/scripts/relax_disp/sprangers_data.py?p2=branches/relax_disp/test_suite/system_tests/scripts/relax_disp/sprangers_data.py&p1=branches/relax_disp/test_suite/shared_data/dispersion/Sprangers_ClpP/analysis.py&r1=21028&r2=21030&rev=21030&view=diff
==============================================================================
--- 
branches/relax_disp/test_suite/shared_data/dispersion/Sprangers_ClpP/analysis.py
 (original)
+++ 
branches/relax_disp/test_suite/system_tests/scripts/relax_disp/sprangers_data.py
 Wed Oct  9 18:28:52 2013
@@ -18,7 +18,7 @@
 #####################
 
 # The dispersion models.
-MODELS = ['R2eff', 'MQ NS CPMG 2-site']
+MODELS = ['R2eff', 'No Rex', 'MQ NS CPMG 2-site']
 
 # The grid search size (the number of increments per dimension).
 GRID_INC = 11
@@ -26,8 +26,9 @@
 # The number of Monte Carlo simulations to be used for error analysis at the 
end of the analysis.
 MC_NUM = 3
 
-# The results directory.
-RESULTS_DIR = 'temp'
+# The temporary directory, if needed.
+if not hasattr(ds, 'tmpdir'):
+    ds.tmpdir = 'temp'
 
 
 # Set up the data pipe.
@@ -39,7 +40,7 @@
 pipe.create(pipe_name=pipe_name, bundle=pipe_bundle, pipe_type='relax_disp')
 
 # The path to the data files.
-data_path = status.install_path + 
sep+'test_suite'+sep+'shared_data'+sep+'dispersion'+sep+'Spranger_ClpP'
+data_path = status.install_path + 
sep+'test_suite'+sep+'shared_data'+sep+'dispersion'+sep+'Sprangers_ClpP'
 
 # Create the sequence.
 spin.create(res_num=135, spin_name='S')
@@ -111,4 +112,4 @@
 ##########################
 
 # Do not change!
-Relax_disp(pipe_name=pipe_name, pipe_bundle=pipe_bundle, 
results_dir=RESULTS_DIR, models=MODELS, grid_inc=GRID_INC, mc_sim_num=MC_NUM)
+Relax_disp(pipe_name=pipe_name, pipe_bundle=pipe_bundle, 
results_dir=ds.tmpdir, models=MODELS, grid_inc=GRID_INC, mc_sim_num=MC_NUM)




Related Messages


Powered by MHonArc, Updated Wed Oct 09 18:40:01 2013