mailr23371 - in /branches/frame_order_cleanup: ./ specific_analyses/relax_disp/ test_suite/system_tests/


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

Header


Content

Posted by edward on May 23, 2014 - 10:29:
Author: bugman
Date: Fri May 23 10:29:49 2014
New Revision: 23371

URL: http://svn.gna.org/viewcvs/relax?rev=23371&view=rev
Log:
Merged revisions 23368-23370 via svnmerge from 
svn+ssh://bugman@xxxxxxxxxxx/svn/relax/trunk

........
  r23368 | bugman | 2014-05-23 10:06:32 +0200 (Fri, 23 May 2014) | 11 lines
  
  Changed most default dispersion parameter values to avoid edge cases where 
there is no exchange.
  
  The dw parameters were all 0.0 and kex 1e5, both of which result in no 
exchange.  If this is ever
  used for an optimisation starting point - which it never should, apart from 
development, test suite,
  and debugging purposes - then the optimisation algorithm will have a very 
hard time recovering.  The
  pA parameter has been changed to 0.90 to set it to a reasonable value while 
still staying far away
  from the no exchange condition of pA = 1.0.
  
  This follows from 
http://article.gmane.org/gmane.science.nmr.relax.devel/5917.
........
  r23369 | bugman | 2014-05-23 10:10:46 +0200 (Fri, 23 May 2014) | 10 lines
  
  Fixes for 3 dispersion system tests for the change in default parameter 
values.
  
  The default values are used in the auto-analysis in the test suite to avoid 
the grid search.  The
  changed values affected the optimisation of two spins from Flemming 
Hansen's data located at
  test_suite/shared_data/dispersion/Hansen/, residue 4 used as an example of 
no exchange and residue
  70 used as an example where data is only available at one field.  The 
system test
  Relax_disp.test_set_grid_r20_from_min_r2eff_cpmg was also modified as it 
was directly checking these
  default values.
........
  r23370 | bugman | 2014-05-23 10:18:37 +0200 (Fri, 23 May 2014) | 7 lines
  
  Fix for the Relax_disp.test_cpmg_synthetic_dx_map_points system test.
  
  This uses the default parameter values to start the optimisation, therefore 
the recent change away
  from edge case 'no Rex' values allows the parameter values stored in 
ds.dx_clust_val to be correctly
  optimised.
........

Modified:
    branches/frame_order_cleanup/   (props changed)
    
branches/frame_order_cleanup/specific_analyses/relax_disp/parameter_object.py
    branches/frame_order_cleanup/test_suite/system_tests/relax_disp.py

Propchange: branches/frame_order_cleanup/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Fri May 23 10:29:49 2014
@@ -1 +1 @@
-/trunk:1-23366
+/trunk:1-23370

Modified: 
branches/frame_order_cleanup/specific_analyses/relax_disp/parameter_object.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/specific_analyses/relax_disp/parameter_object.py?rev=23371&r1=23370&r2=23371&view=diff
==============================================================================
--- 
branches/frame_order_cleanup/specific_analyses/relax_disp/parameter_object.py 
      (original)
+++ 
branches/frame_order_cleanup/specific_analyses/relax_disp/parameter_object.py 
      Fri May 23 10:29:49 2014
@@ -61,32 +61,32 @@
         self._add('r2', scope='spin', default=10.0, desc='The transversal 
relaxation rate', set='params', py_type=dict, grace_string='\\qR\\s2\\N\\Q 
(rad.s\\S-1\\N)', err=True, sim=True)
         self._add('r2a', scope='spin', default=10.0, desc='The transversal 
relaxation rate for state A in the absence of exchange', set='params', 
py_type=dict, grace_string='\\qR\\s2,A\\N\\Q (rad.s\\S-1\\N)', err=True, 
sim=True)
         self._add('r2b', scope='spin', default=10.0, desc='The transversal 
relaxation rate for state B in the absence of exchange', set='params', 
py_type=dict, grace_string='\\qR\\s2,B\\N\\Q (rad.s\\S-1\\N)', err=True, 
sim=True)
-        self._add('pA', scope='spin', default=0.5, desc='The population for 
state A', set='params', py_type=float, grace_string='\\qp\\sA\\N\\Q', 
err=True, sim=True)
+        self._add('pA', scope='spin', default=0.90, desc='The population for 
state A', set='params', py_type=float, grace_string='\\qp\\sA\\N\\Q', 
err=True, sim=True)
         self._add('pB', scope='spin', default=0.5, desc='The population for 
state B', set='params', py_type=float, grace_string='\\qp\\sB\\N\\Q', 
err=True, sim=True)
         self._add('pC', scope='spin', default=0.5, desc='The population for 
state C', set='params', py_type=float, grace_string='\\qp\\sC\\N\\Q', 
err=True, sim=True)
         self._add('phi_ex', scope='spin', default=5.0, desc='The phi_ex = 
pA.pB.dw**2 value (ppm^2)', set='params', py_type=float, 
grace_string='\\xF\\B\\sex\\N = \\q p\\sA\\N.p\\sB\\N.\\xDw\\B\\S2\\N\\Q  
(ppm\\S2\\N)', err=True, sim=True)
         self._add('phi_ex_B', scope='spin', default=5.0, desc='The fast 
exchange factor between sites A and B (ppm^2)', set='params', py_type=float, 
grace_string='\\xF\\B\\sex,B\\N (ppm\\S2\\N)', err=True, sim=True)
         self._add('phi_ex_C', scope='spin', default=5.0, desc='The fast 
exchange factor between sites A and C (ppm^2)', set='params', py_type=float, 
grace_string='\\xF\\B\\sex,C\\N (ppm\\S2\\N)', err=True, sim=True)
         self._add('padw2', scope='spin', default=1.0, desc='The pA.dw**2 
value (ppm^2)', set='params', py_type=float, 
grace_string='\\qp\\sA\\N.\\xDw\\B\\S2\\N\\Q  (ppm\\S2\\N)', err=True, 
sim=True)
-        self._add('dw', scope='spin', default=0.0, desc='The chemical shift 
difference between states A and B (in ppm)', set='params', py_type=float, 
grace_string='\\q\\xDw\\B\\Q (ppm)', err=True, sim=True)
-        self._add('dw_AB', scope='spin', default=0.0, desc='The chemical 
shift difference between states A and B for 3-site exchange (in ppm)', 
set='params', py_type=float, grace_string='\\q\\xDw\\B\\Q\\SAB\\N (ppm)', 
err=True, sim=True)
-        self._add('dw_AC', scope='spin', default=0.0, desc='The chemical 
shift difference between states A and C for 3-site exchange (in ppm)', 
set='params', py_type=float, grace_string='\\q\\xDw\\B\\Q\\SAC\\N (ppm)', 
err=True, sim=True)
-        self._add('dw_BC', scope='spin', default=0.0, desc='The chemical 
shift difference between states B and C for 3-site exchange (in ppm)', 
set='params', py_type=float, grace_string='\\q\\xDw\\B\\Q\\SBC\\N (ppm)', 
err=True, sim=True)
-        self._add('dwH', scope='spin', default=0.0, desc='The proton 
chemical shift difference between states A and B (in ppm)', set='params', 
py_type=float, grace_string='\\q\\xDw\\B\\sH\\N\\Q (ppm)', err=True, sim=True)
-        self._add('dwH_AB', scope='spin', default=0.0, desc='The proton 
chemical shift difference between states A and B for 3-site exchange (in 
ppm)', set='params', py_type=float, 
grace_string='\\q\\xDw\\B\\sH\\N\\Q\\SAB\\N (ppm)', err=True, sim=True)
-        self._add('dwH_AC', scope='spin', default=0.0, desc='The proton 
chemical shift difference between states A and C for 3-site exchange (in 
ppm)', set='params', py_type=float, 
grace_string='\\q\\xDw\\B\\sH\\N\\Q\\SAC\\N (ppm)', err=True, sim=True)
-        self._add('dwH_BC', scope='spin', default=0.0, desc='The proton 
chemical shift difference between states B and C for 3-site exchange (in 
ppm)', set='params', py_type=float, 
grace_string='\\q\\xDw\\B\\sH\\N\\Q\\SBC\\N (ppm)', err=True, sim=True)
-        self._add('kex', scope='spin', default=10000.0, desc='The exchange 
rate', set='params', py_type=float, grace_string='\\qk\\sex\\N\\Q 
(rad.s\\S-1\\N)', err=True, sim=True)
-        self._add('kex_AB', scope='spin', default=10000.0, desc='The 
exchange rate between sites A and B for 3-site exchange with kex_AB = k_AB + 
k_BA (rad.s^-1)', set='params', py_type=float, 
grace_string='\\qk\\sex\\N\\Q\\SAB\\N (rad.s\\S-1\\N)', err=True, sim=True)
-        self._add('kex_AC', scope='spin', default=10000.0, desc='The 
exchange rate between sites A and C for 3-site exchange with kex_AC = k_AC + 
k_CA (rad.s^-1)', set='params', py_type=float, 
grace_string='\\qk\\sex\\N\\Q\\SAC\\N (rad.s\\S-1\\N)', err=True, sim=True)
-        self._add('kex_BC', scope='spin', default=10000.0, desc='The 
exchange rate between sites B and C for 3-site exchange with kex_BC = k_BC + 
k_CB (rad.s^-1)', set='params', py_type=float, 
grace_string='\\qk\\sex\\N\\Q\\SBC\\N (rad.s\\S-1\\N)', err=True, sim=True)
-        self._add('kB', scope='spin', default=10000.0, desc='Approximate 
chemical exchange rate constant between sites A and B (rad.s^-1)', 
set='params', py_type=float, grace_string='\\qk\\sB\\N\\Q (rad.s\\S-1\\N)', 
err=True, sim=True)
-        self._add('kC', scope='spin', default=10000.0, desc='Approximate 
chemical exchange rate constant between sites A and C (rad.s^-1)', 
set='params', py_type=float, grace_string='\\qk\\sC\\N\\Q (rad.s\\S-1\\N)', 
err=True, sim=True)
-        self._add('tex', scope='spin', default=1.0/10000.0, desc='The time 
of exchange (tex = 1/kex)', set='params', py_type=float, 
grace_string='\\q\\xt\\B\\sex\\N\\Q (s.rad\\S-1\\N)', err=True, sim=True)
+        self._add('dw', scope='spin', default=1.0, desc='The chemical shift 
difference between states A and B (in ppm)', set='params', py_type=float, 
grace_string='\\q\\xDw\\B\\Q (ppm)', err=True, sim=True)
+        self._add('dw_AB', scope='spin', default=1.0, desc='The chemical 
shift difference between states A and B for 3-site exchange (in ppm)', 
set='params', py_type=float, grace_string='\\q\\xDw\\B\\Q\\SAB\\N (ppm)', 
err=True, sim=True)
+        self._add('dw_AC', scope='spin', default=1.0, desc='The chemical 
shift difference between states A and C for 3-site exchange (in ppm)', 
set='params', py_type=float, grace_string='\\q\\xDw\\B\\Q\\SAC\\N (ppm)', 
err=True, sim=True)
+        self._add('dw_BC', scope='spin', default=1.0, desc='The chemical 
shift difference between states B and C for 3-site exchange (in ppm)', 
set='params', py_type=float, grace_string='\\q\\xDw\\B\\Q\\SBC\\N (ppm)', 
err=True, sim=True)
+        self._add('dwH', scope='spin', default=1.0, desc='The proton 
chemical shift difference between states A and B (in ppm)', set='params', 
py_type=float, grace_string='\\q\\xDw\\B\\sH\\N\\Q (ppm)', err=True, sim=True)
+        self._add('dwH_AB', scope='spin', default=1.0, desc='The proton 
chemical shift difference between states A and B for 3-site exchange (in 
ppm)', set='params', py_type=float, 
grace_string='\\q\\xDw\\B\\sH\\N\\Q\\SAB\\N (ppm)', err=True, sim=True)
+        self._add('dwH_AC', scope='spin', default=1.0, desc='The proton 
chemical shift difference between states A and C for 3-site exchange (in 
ppm)', set='params', py_type=float, 
grace_string='\\q\\xDw\\B\\sH\\N\\Q\\SAC\\N (ppm)', err=True, sim=True)
+        self._add('dwH_BC', scope='spin', default=1.0, desc='The proton 
chemical shift difference between states B and C for 3-site exchange (in 
ppm)', set='params', py_type=float, 
grace_string='\\q\\xDw\\B\\sH\\N\\Q\\SBC\\N (ppm)', err=True, sim=True)
+        self._add('kex', scope='spin', default=1000.0, desc='The exchange 
rate', set='params', py_type=float, grace_string='\\qk\\sex\\N\\Q 
(rad.s\\S-1\\N)', err=True, sim=True)
+        self._add('kex_AB', scope='spin', default=1000.0, desc='The exchange 
rate between sites A and B for 3-site exchange with kex_AB = k_AB + k_BA 
(rad.s^-1)', set='params', py_type=float, 
grace_string='\\qk\\sex\\N\\Q\\SAB\\N (rad.s\\S-1\\N)', err=True, sim=True)
+        self._add('kex_AC', scope='spin', default=1000.0, desc='The exchange 
rate between sites A and C for 3-site exchange with kex_AC = k_AC + k_CA 
(rad.s^-1)', set='params', py_type=float, 
grace_string='\\qk\\sex\\N\\Q\\SAC\\N (rad.s\\S-1\\N)', err=True, sim=True)
+        self._add('kex_BC', scope='spin', default=1000.0, desc='The exchange 
rate between sites B and C for 3-site exchange with kex_BC = k_BC + k_CB 
(rad.s^-1)', set='params', py_type=float, 
grace_string='\\qk\\sex\\N\\Q\\SBC\\N (rad.s\\S-1\\N)', err=True, sim=True)
+        self._add('kB', scope='spin', default=1000.0, desc='Approximate 
chemical exchange rate constant between sites A and B (rad.s^-1)', 
set='params', py_type=float, grace_string='\\qk\\sB\\N\\Q (rad.s\\S-1\\N)', 
err=True, sim=True)
+        self._add('kC', scope='spin', default=1000.0, desc='Approximate 
chemical exchange rate constant between sites A and C (rad.s^-1)', 
set='params', py_type=float, grace_string='\\qk\\sC\\N\\Q (rad.s\\S-1\\N)', 
err=True, sim=True)
+        self._add('tex', scope='spin', default=1.0/1000.0, desc='The time of 
exchange (tex = 1/kex)', set='params', py_type=float, 
grace_string='\\q\\xt\\B\\sex\\N\\Q (s.rad\\S-1\\N)', err=True, sim=True)
         self._add('theta', scope='spin', desc='Rotating frame tilt angle : ( 
theta = arctan(w_1 / Omega) ) (rad)', grace_string='Rotating frame tilt angle 
(rad)', py_type=dict, set='all', err=False, sim=False)
         self._add('w_eff', scope='spin', desc='Effective field in rotating 
frame : ( w_eff = sqrt(Omega^2 + w_1^2) ) (rad.s^-1)', 
grace_string='Effective field in rotating frame (rad.s\\S-1\\N)', 
py_type=dict, set='all', err=False, sim=False)
-        self._add('k_AB', scope='spin', default=10000.0, desc='The exchange 
rate from state A to state B', set='params', py_type=float, 
grace_string='\\qk\\sAB\\N\\Q (rad.s\\S-1\\N)', err=True, sim=True)
-        self._add('k_BA', scope='spin', default=10000.0, desc='The exchange 
rate from state B to state A', set='params', py_type=float, 
grace_string='\\qk\\sBA\\N\\Q (rad.s\\S-1\\N)', err=True, sim=True)
+        self._add('k_AB', scope='spin', default=1000.0, desc='The exchange 
rate from state A to state B', set='params', py_type=float, 
grace_string='\\qk\\sAB\\N\\Q (rad.s\\S-1\\N)', err=True, sim=True)
+        self._add('k_BA', scope='spin', default=1000.0, desc='The exchange 
rate from state B to state A', set='params', py_type=float, 
grace_string='\\qk\\sBA\\N\\Q (rad.s\\S-1\\N)', err=True, sim=True)
 
         # Add the minimisation data.
         self._add_min_data(min_stats_global=False, min_stats_spin=True)

Modified: branches/frame_order_cleanup/test_suite/system_tests/relax_disp.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/test_suite/system_tests/relax_disp.py?rev=23371&r1=23370&r2=23371&view=diff
==============================================================================
--- branches/frame_order_cleanup/test_suite/system_tests/relax_disp.py  
(original)
+++ branches/frame_order_cleanup/test_suite/system_tests/relax_disp.py  Fri 
May 23 10:29:49 2014
@@ -1475,7 +1475,7 @@
         print("\nChecking the dx point point file.")
         res_file = [
             '0.8            3.92           0.39964        1'+"\n",
-            '4e-05          0.08           3.8            1'+"\n",
+            '0.76981        3.9169         0.41353        1'+"\n",
         ]
         file = open(point_point, 'r')
         lines = file.readlines()
@@ -1887,18 +1887,18 @@
         print("%-20s %20.15g %20.15g" % ("dw", spin70.dw, spin71.dw))
         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[r20_key1], 6.95820070286795, 3)
-        self.assertAlmostEqual(spin70.r2[r20_key2], 9.39657836325177, 3)
-        self.assertAlmostEqual(spin70.pA, 0.989701009272583, 3)
-        self.assertAlmostEqual(spin70.dw, 5.67326272877785, 3)
-        self.assertAlmostEqual(spin70.kex/10000, 1713.54848022381/10000, 3)
-        self.assertAlmostEqual(spin70.chi2, 52.5106852884892, 3)
-        self.assertAlmostEqual(spin71.r2[r20_key1], 4.99887619838854, 3)
-        self.assertAlmostEqual(spin71.r2[r20_key2], 6.89817579107423, 3)
-        self.assertAlmostEqual(spin71.pA, 0.986695947044873, 3)
-        self.assertAlmostEqual(spin71.dw, 2.09130944488215, 3)
-        self.assertAlmostEqual(spin71.kex/10000, 2438.42961328059/10000, 3)
-        self.assertAlmostEqual(spin71.chi2, 15.1644963157243, 3)
+        self.assertAlmostEqual(spin70.r2[r20_key1], 6.95815351460902, 3)
+        self.assertAlmostEqual(spin70.r2[r20_key2], 9.39649535771294, 3)
+        self.assertAlmostEqual(spin70.pA, 0.989701014493195, 3)
+        self.assertAlmostEqual(spin70.dw, 5.67314464776128, 3)
+        self.assertAlmostEqual(spin70.kex/10000, 1713.65380495429/10000, 3)
+        self.assertAlmostEqual(spin70.chi2, 52.5106880917473, 3)
+        self.assertAlmostEqual(spin71.r2[r20_key1], 4.99889337382435, 3)
+        self.assertAlmostEqual(spin71.r2[r20_key2], 6.89822887466673, 3)
+        self.assertAlmostEqual(spin71.pA, 0.986709050819695, 3)
+        self.assertAlmostEqual(spin71.dw, 2.09238266766502, 3)
+        self.assertAlmostEqual(spin71.kex/10000, 2438.27019901422/10000, 3)
+        self.assertAlmostEqual(spin71.chi2, 15.1644906963987, 3)
 
         # The final data pipe checks.
         self.interpreter.pipe.switch(pipe_name='final - relax_disp')
@@ -2048,23 +2048,23 @@
         print("%-20s %20.15g %20.15g %20.15g" % ("dw", spin4.dw, spin70.dw, 
spin71.dw))
         print("%-20s %20.15g %20.15g %20.15g" % ("kex", spin4.kex, 
spin70.kex, spin71.kex))
         print("%-20s %20.15g %20.15g %20.15g\n" % ("chi2", spin4.chi2, 
spin70.chi2, spin71.chi2))
-        self.assertAlmostEqual(spin4.r2[r20_key1], 1.58622828626709, 2)
-        self.assertAlmostEqual(spin4.r2[r20_key2], 1.58592122315687, 3)
-        self.assertAlmostEqual(spin4.pA, 0.51276361588332, 3)
-        self.assertAlmostEqual(spin4.dw, 0.0677279657953332, 3)
-        self.assertAlmostEqual(spin4.kex/10000, 2448.82586714642/10000, 3)
-        self.assertAlmostEqual(spin4.chi2, 20.4855900585583, 3)
-        self.assertAlmostEqual(spin70.r2[r20_key1], 6.97252087724882, 3)
-        self.assertAlmostEqual(spin70.r2[r20_key2], 9.40960089079409, 3)
-        self.assertAlmostEqual(spin70.pA, 0.989857038532724, 3)
-        self.assertAlmostEqual(spin70.dw, 5.60897947735102, 3)
-        self.assertAlmostEqual(spin70.kex/10000, 1752.98845226051/10000, 3)
-        self.assertAlmostEqual(spin70.chi2, 53.8382162820491, 3)
-        self.assertAlmostEqual(spin71.r2[r20_key1], 4.98111206240747, 3)
-        self.assertAlmostEqual(spin71.pA, 0.996607989009612, 3)
-        self.assertAlmostEqual(spin71.dw, 4.34436483888832, 3)
-        self.assertAlmostEqual(spin71.kex/10000, 1936.74679136572/10000, 3)
-        self.assertAlmostEqual(spin71.chi2, 5.5170374277749, 3)
+        self.assertAlmostEqual(spin4.r2[r20_key1], 1.60462456409508, 2)
+        self.assertAlmostEqual(spin4.r2[r20_key2], 1.63221781206148, 3)
+        self.assertAlmostEqual(spin4.pA, 0.899911303159742, 3)
+        self.assertAlmostEqual(spin4.dw, 0.000048303116437, 3)
+        self.assertAlmostEqual(spin4.kex/10000, 0.0796851577904277/10000, 3)
+        self.assertAlmostEqual(spin4.chi2, 26.7356693257612, 3)
+        self.assertAlmostEqual(spin70.r2[r20_key1], 6.97235130701478, 3)
+        self.assertAlmostEqual(spin70.r2[r20_key2], 9.40988386796136, 3)
+        self.assertAlmostEqual(spin70.pA, 0.989856745034836, 3)
+        self.assertAlmostEqual(spin70.dw, 5.60878828496508, 3)
+        self.assertAlmostEqual(spin70.kex/10000, 1752.93345983946/10000, 3)
+        self.assertAlmostEqual(spin70.chi2, 53.8382172686916, 3)
+        self.assertAlmostEqual(spin71.r2[r20_key1], 4.98111647969012, 3)
+        self.assertAlmostEqual(spin71.pA, 0.996608013844177, 3)
+        self.assertAlmostEqual(spin71.dw, 4.34425685338434, 3)
+        self.assertAlmostEqual(spin71.kex/10000, 1937.21776309767/10000, 3)
+        self.assertAlmostEqual(spin71.chi2, 5.51703749012473, 3)
 
 
     def test_hansen_cpmg_data_to_cr72(self):
@@ -4529,9 +4529,9 @@
             # Testing the r2 values.
             self.assertEqual(spin.r2[r20_key_600], 10.00)
             self.assertEqual(spin.r2[r20_key_500], 10.00)
-            self.assertEqual(spin.pA, 0.5)
-            self.assertEqual(spin.dw, 0.0)
-            self.assertEqual(spin.kex, 10000.0)
+            self.assertEqual(spin.pA, 0.9)
+            self.assertEqual(spin.dw, 1.0)
+            self.assertEqual(spin.kex, 1000.0)
 
         print("###########################################")
         print("Trying GRID SEARCH for standard R2eff values")




Related Messages


Powered by MHonArc, Updated Fri May 23 10:40:03 2014