mailr24013 - /branches/disp_spin_speed/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 tlinnet on June 17, 2014 - 09:33:
Author: tlinnet
Date: Tue Jun 17 09:33:32 2014
New Revision: 24013

URL: http://svn.gna.org/viewcvs/relax?rev=24013&view=rev
Log:
Temporary added systemtest: test_korzhnev_2005_all_data_disp_speed_bug.

This makes a minimisation with 1 iteration, and so will give the chi2 value 
at the preset
parameter values.

This is chi2 value should give 162.5, but gives 74.7104.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion 
models for Clustered analysis.

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

Modified: branches/disp_spin_speed/test_suite/system_tests/relax_disp.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/disp_spin_speed/test_suite/system_tests/relax_disp.py?rev=24013&r1=24012&r2=24013&view=diff
==============================================================================
--- branches/disp_spin_speed/test_suite/system_tests/relax_disp.py      
(original)
+++ branches/disp_spin_speed/test_suite/system_tests/relax_disp.py      Tue 
Jun 17 09:33:32 2014
@@ -3558,6 +3558,101 @@
         self.assertAlmostEqual(spin.chi2/1000, 162.511988511609/1000, 3)
 
 
+    def test_korzhnev_2005_all_data_disp_speed_bug(self):
+        """Optimisation of all the Korzhnev et al., 2005 CPMG data using the 
'NS MMQ 2-site' model.
+
+        This uses the data from Dmitry Korzhnev's paper at U{DOI: 
10.1021/ja054550e<http://dx.doi.org/10.1021/ja054550e>}.  This is the 1H SQ, 
15N SQ, ZQ, DQ, 1H MQ and 15N MQ data for residue Asp 9 of the Fyn SH3 domain 
mutant.
+
+        Here all data will be optimised.  The values found by cpmg_fit using 
just this data are:
+
+            - r2 = {'H-S 500':  6.671649051677150, 'H-S 600':  
6.988634195648529, 'H-S 800':  5.527971316790596,
+                    'N-S 500':  8.394988400015988, 'N-S 600':  
8.891359568401835, 'N-S 800': 10.405356669006709,
+                    'NHZ 500':  5.936446687394352, 'NHZ 600':  
6.717058062814535, 'NHZ 800':  6.838733853403030,
+                    'NHD 500':  8.593136215779710, 'NHD 600': 
10.651511259239674, 'NHD 800': 12.567902357560627,
+                    'HNM 500':  7.851325614877817, 'HNM 600':  
8.408803624020202, 'HNM 800': 11.227489645758979,
+                    'NHM 500':  9.189159145380575, 'NHM 600':  
9.856814478405868, 'NHM 800': 11.967910041807118},
+            - pA = 0.943125351763911,
+            - dw = 4.421827493809807,
+            - dwH = -0.272637034755752,
+            - kex = 360.609744568697238,
+            - chi2 = 162.589570340050813.
+        """
+
+        # Base data setup.
+        self.setup_korzhnev_2005_data(data_list=['SQ', '1H SQ', 'DQ', 'ZQ', 
'MQ', '1H MQ'])
+
+        # Alias the spin.
+        spin = return_spin(":9@N")
+
+        # The R20 keys.
+        r20_key1  = generate_r20_key(exp_type=EXP_TYPE_CPMG_PROTON_SQ, 
frq=500e6)
+        r20_key2  = generate_r20_key(exp_type=EXP_TYPE_CPMG_PROTON_SQ, 
frq=600e6)
+        r20_key3  = generate_r20_key(exp_type=EXP_TYPE_CPMG_PROTON_SQ, 
frq=800e6)
+        r20_key4  = generate_r20_key(exp_type=EXP_TYPE_CPMG_SQ, frq=500e6)
+        r20_key5  = generate_r20_key(exp_type=EXP_TYPE_CPMG_SQ, frq=600e6)
+        r20_key6  = generate_r20_key(exp_type=EXP_TYPE_CPMG_SQ, frq=800e6)
+        r20_key7  = generate_r20_key(exp_type=EXP_TYPE_CPMG_ZQ, frq=500e6)
+        r20_key8  = generate_r20_key(exp_type=EXP_TYPE_CPMG_ZQ, frq=600e6)
+        r20_key9  = generate_r20_key(exp_type=EXP_TYPE_CPMG_ZQ, frq=800e6)
+        r20_key10 = generate_r20_key(exp_type=EXP_TYPE_CPMG_DQ, frq=500e6)
+        r20_key11 = generate_r20_key(exp_type=EXP_TYPE_CPMG_DQ, frq=600e6)
+        r20_key12 = generate_r20_key(exp_type=EXP_TYPE_CPMG_DQ, frq=800e6)
+        r20_key13 = generate_r20_key(exp_type=EXP_TYPE_CPMG_PROTON_MQ, 
frq=500e6)
+        r20_key14 = generate_r20_key(exp_type=EXP_TYPE_CPMG_PROTON_MQ, 
frq=600e6)
+        r20_key15 = generate_r20_key(exp_type=EXP_TYPE_CPMG_PROTON_MQ, 
frq=800e6)
+        r20_key16 = generate_r20_key(exp_type=EXP_TYPE_CPMG_MQ, frq=500e6)
+        r20_key17 = generate_r20_key(exp_type=EXP_TYPE_CPMG_MQ, frq=600e6)
+        r20_key18 = generate_r20_key(exp_type=EXP_TYPE_CPMG_MQ, frq=800e6)
+
+        # Set the initial parameter values.
+        spin.r2 = {
+            r20_key1:   6.67288025927458, r20_key2:   6.98951408255098, 
r20_key3:   5.52959273852704,
+            r20_key4:   8.39471048876782, r20_key5:   8.89290699178799, 
r20_key6:  10.40770687236930,
+            r20_key7:   5.93611174376373, r20_key8:   6.71735669582514, 
r20_key9:   6.83835225518265,
+            r20_key10:  8.59615074668922, r20_key11: 10.65121378892910, 
r20_key12: 12.57108229191090,
+            r20_key13:  7.85956711501608, r20_key14:  8.41891642907918, 
r20_key15: 11.23620892230380,
+            r20_key16:  9.19654863789350, r20_key17:  9.86031627358462, 
r20_key18: 11.97523755925750
+        }
+        spin.pA = 0.943129019477673
+        spin.dw = 4.42209952545181
+        spin.dwH = -0.27258970590969
+        spin.kex = 360.516132791038
+
+        # Low precision optimisation.
+        #self.interpreter.grid_search(lower=None, upper=None, inc=10, 
constraints=True, verbosity=1)
+        self.interpreter.minimise(min_algor='simplex', func_tol=1e-05, 
max_iter=1)
+
+        # Printout.
+        print("\n\nOptimised parameters:\n")
+        print("%-20s %-20s" % ("Parameter", "Value (:9)"))
+        print("%-20s %20.15g" % ("R2 (1H SQ - 500 MHz)", spin.r2[r20_key1]))
+        print("%-20s %20.15g" % ("R2 (1H SQ - 600 MHz)", spin.r2[r20_key2]))
+        print("%-20s %20.15g" % ("R2 (1H SQ - 800 MHz)", spin.r2[r20_key3]))
+        print("%-20s %20.15g" % ("R2 (SQ - 500 MHz)", spin.r2[r20_key4]))
+        print("%-20s %20.15g" % ("R2 (SQ - 600 MHz)", spin.r2[r20_key5]))
+        print("%-20s %20.15g" % ("R2 (SQ - 800 MHz)", spin.r2[r20_key6]))
+        print("%-20s %20.15g" % ("R2 (ZQ - 500 MHz)", spin.r2[r20_key7]))
+        print("%-20s %20.15g" % ("R2 (ZQ - 600 MHz)", spin.r2[r20_key8]))
+        print("%-20s %20.15g" % ("R2 (ZQ - 800 MHz)", spin.r2[r20_key9]))
+        print("%-20s %20.15g" % ("R2 (DQ - 500 MHz)", spin.r2[r20_key10]))
+        print("%-20s %20.15g" % ("R2 (DQ - 600 MHz)", spin.r2[r20_key11]))
+        print("%-20s %20.15g" % ("R2 (DQ - 800 MHz)", spin.r2[r20_key12]))
+        print("%-20s %20.15g" % ("R2 (1H MQ - 500 MHz)", spin.r2[r20_key13]))
+        print("%-20s %20.15g" % ("R2 (1H MQ - 600 MHz)", spin.r2[r20_key14]))
+        print("%-20s %20.15g" % ("R2 (1H MQ - 800 MHz)", spin.r2[r20_key15]))
+        print("%-20s %20.15g" % ("R2 (MQ - 500 MHz)", spin.r2[r20_key16]))
+        print("%-20s %20.15g" % ("R2 (MQ - 600 MHz)", spin.r2[r20_key17]))
+        print("%-20s %20.15g" % ("R2 (MQ - 800 MHz)", spin.r2[r20_key18]))
+        print("%-20s %20.15g" % ("pA", spin.pA))
+        print("%-20s %20.15g" % ("dw", spin.dw))
+        print("%-20s %20.15g" % ("dwH", spin.dwH))
+        print("%-20s %20.15g" % ("kex", spin.kex))
+        print("%-20s %20.15g\n" % ("chi2", spin.chi2))
+
+        # Checks for residue :9.
+        self.assertAlmostEqual(spin.chi2, 162.511988511609, 3)
+
+
     def test_kteilum_fmpoulsen_makke_cpmg_data_048m_guhcl_to_cr72(self):
         """Optimisation of Kaare Teilum, Flemming M Poulsen, Mikael Akke 
2006 "acyl-CoA binding protein" CPMG data to the CR72 dispersion model.
 




Related Messages


Powered by MHonArc, Updated Tue Jun 17 10:00:02 2014