Author: bugman Date: Sun Nov 24 13:37:12 2013 New Revision: 21617 URL: http://svn.gna.org/viewcvs/relax?rev=21617&view=rev Log: Updates for the dispersion auto-analysis system tests using Flemming Hansen's data. The grid search increments have been increased by one to make sure the solution is always found. Modified: branches/relax_disp/test_suite/system_tests/relax_disp.py branches/relax_disp/test_suite/system_tests/scripts/relax_disp/hansen_data.py branches/relax_disp/test_suite/system_tests/scripts/relax_disp/hansen_r2eff_data.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=21617&r1=21616&r2=21617&view=diff ============================================================================== --- branches/relax_disp/test_suite/system_tests/relax_disp.py (original) +++ branches/relax_disp/test_suite/system_tests/relax_disp.py Sun Nov 24 13:37:12 2013 @@ -519,11 +519,12 @@ print("%-20s %20.15g %20.15g" % ("R2 (500 MHz)", spin70.r2[r20_key1], spin71.r2[r20_key1])) print("%-20s %20.15g %20.15g" % ("R2 (800 MHz)", spin70.r2[r20_key2], spin71.r2[r20_key2])) print("%-20s %20.15g %20.15g\n" % ("chi2", spin70.chi2, spin71.chi2)) - self.assertAlmostEqual(spin70.r2[r20_key1], 10.5342302498099, 4) - self.assertAlmostEqual(spin70.r2[r20_key2], 16.1112364696603, 4) - self.assertAlmostEqual(spin70.chi2, 8973.84809809869, 4) - self.assertAlmostEqual(spin71.r2[r20_key1], 5.83139245047696, 4) - self.assertAlmostEqual(spin71.chi2, 3908.00127775015, 4) + self.assertAlmostEqual(spin70.r2[r20_key1], 10.5340593984683, 3) + self.assertAlmostEqual(spin70.r2[r20_key2], 16.1112170102734, 3) + self.assertAlmostEqual(spin70.chi2, 8973.84810025761, 3) + self.assertAlmostEqual(spin71.r2[r20_key1], 5.83139953954648, 3) + self.assertAlmostEqual(spin71.r2[r20_key2], 8.90856319376098, 3) + self.assertAlmostEqual(spin71.chi2, 3908.00127830003, 3) # The 'LM63' model checks. self.interpreter.pipe.switch(pipe_name='LM63') @@ -536,17 +537,18 @@ 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[r20_key1], 6.74376061092056, 4) - self.assertAlmostEqual(spin70.r2[r20_key2], 6.57436567015874, 4) - self.assertAlmostEqual(spin70.phi_ex, 0.312720290823582, 4) - self.assertAlmostEqual(spin70.kex/10000, 4723.01373279974/10000, 4) - self.assertAlmostEqual(spin70.chi2, 363.534047015771, 4) - self.assertAlmostEqual(spin71.r2[r20_key1], 5.0078087499832, 4) - self.assertAlmostEqual(spin71.phi_ex, 0.0553771790108888, 4) - self.assertAlmostEqual(spin71.kex/10000, 2781.64391401371/10000, 4) - self.assertAlmostEqual(spin71.chi2, 17.0776426846929, 4) - - # The 'CR72' model checks. These models have not reached the minima due to the low quality optimisation! + self.assertAlmostEqual(spin70.r2[r20_key1], 6.74326615264889, 3) + self.assertAlmostEqual(spin70.r2[r20_key2], 6.57331164382438, 3) + self.assertAlmostEqual(spin70.phi_ex, 0.312767653822936, 3) + self.assertAlmostEqual(spin70.kex/10000, 4723.44390412119/10000, 3) + self.assertAlmostEqual(spin70.chi2, 363.534049046805, 3) + self.assertAlmostEqual(spin71.r2[r20_key1], 5.00778024769786, 3) + self.assertAlmostEqual(spin71.r2[r20_key2], 6.83343630016037, 3) + self.assertAlmostEqual(spin71.phi_ex, 0.0553791362097596, 3) + self.assertAlmostEqual(spin71.kex/10000, 2781.67925957068/10000, 3) + self.assertAlmostEqual(spin71.chi2, 17.0776426190574, 3) + + # The 'CR72' model checks. self.interpreter.pipe.switch(pipe_name='CR72') spin70 = return_spin(":70") spin71 = return_spin(":71") @@ -558,18 +560,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.97231098558438, 4) - self.assertAlmostEqual(spin70.r2[r20_key2], 9.40949167240224, 4) - self.assertAlmostEqual(spin70.pA, 0.989856881109833, 4) - self.assertAlmostEqual(spin70.dw, 5.60903520132766, 4) - self.assertAlmostEqual(spin70.kex/10000, 1752.96048901822/10000, 4) - self.assertAlmostEqual(spin70.chi2, 53.8382161775238, 4) - self.assertAlmostEqual(spin71.r2[r20_key1], 5.90115065692451, 2) - self.assertAlmostEqual(spin71.r2[r20_key2], 8.8711228286642, 2) - self.assertAlmostEqual(spin71.pA, 0.52128026997105, 2) - self.assertAlmostEqual(spin71.dw, 0.000250634783026154, 2) - self.assertAlmostEqual(spin71.kex, 1.41670416420046e-05, 2) - self.assertAlmostEqual(spin71.chi2, 3914.07175884826, 2) + self.assertAlmostEqual(spin70.r2[r20_key1], 6.97233943292193, 3) + self.assertAlmostEqual(spin70.r2[r20_key2], 9.409506394526, 3) + self.assertAlmostEqual(spin70.pA, 0.989856804525044, 3) + self.assertAlmostEqual(spin70.dw, 5.60889078920945, 3) + self.assertAlmostEqual(spin70.kex/10000, 1753.01607073019/10000, 3) + self.assertAlmostEqual(spin70.chi2, 53.8382158551706, 3) + self.assertAlmostEqual(spin71.r2[r20_key1], 5.003171547206, 3) + self.assertAlmostEqual(spin71.r2[r20_key2], 6.90210797727492, 3) + self.assertAlmostEqual(spin71.pA, 0.985922406455826, 3) + self.assertAlmostEqual(spin71.dw, 2.00500965892672, 3) + self.assertAlmostEqual(spin71.kex, 2481.10839579617, 3) + self.assertAlmostEqual(spin71.chi2, 15.6595374286822, 3) def test_hansen_cpmg_data_auto_analysis_numeric(self): @@ -602,13 +604,14 @@ print("%-20s %20.15g %20.15g" % ("R2 (500 MHz)", spin70.r2[r20_key1], spin71.r2[r20_key1])) print("%-20s %20.15g %20.15g" % ("R2 (800 MHz)", spin70.r2[r20_key2], spin71.r2[r20_key2])) print("%-20s %20.15g %20.15g\n" % ("chi2", spin70.chi2, spin71.chi2)) - self.assertAlmostEqual(spin70.r2[r20_key1], 10.5342302498099, 4) - self.assertAlmostEqual(spin70.r2[r20_key2], 16.1112364696603, 4) - self.assertAlmostEqual(spin70.chi2, 8973.84809809869, 4) - self.assertAlmostEqual(spin71.r2[r20_key1], 5.83139245047696, 4) - self.assertAlmostEqual(spin71.chi2, 3908.00127775015, 4) - - # The 'CR72' model checks. These models have not reached the minima due to the low quality optimisation! + self.assertAlmostEqual(spin70.r2[r20_key1], 10.5340593984683, 3) + self.assertAlmostEqual(spin70.r2[r20_key2], 16.1112170102734, 3) + self.assertAlmostEqual(spin70.chi2/10000, 8973.84810025761/10000, 3) + self.assertAlmostEqual(spin71.r2[r20_key1], 5.83139953954648, 3) + self.assertAlmostEqual(spin71.r2[r20_key2], 8.90856319376098, 3) + self.assertAlmostEqual(spin71.chi2/10000, 3908.00127830003/10000, 3) + + # The 'CR72' model checks. self.interpreter.pipe.switch(pipe_name='CR72') spin70 = return_spin(":70") spin71 = return_spin(":71") @@ -620,20 +623,20 @@ 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.97231098558438, 4) - self.assertAlmostEqual(spin70.r2[r20_key2], 9.40949167240224, 4) - self.assertAlmostEqual(spin70.pA, 0.989856881109833, 4) - self.assertAlmostEqual(spin70.dw, 5.60903520132766, 4) - self.assertAlmostEqual(spin70.kex/10000, 1752.96048901822/10000, 4) - self.assertAlmostEqual(spin70.chi2, 53.8382161775238, 4) - self.assertAlmostEqual(spin71.r2[r20_key1], 5.90115065692451, 2) - self.assertAlmostEqual(spin71.r2[r20_key2], 8.8711228286642, 2) - self.assertAlmostEqual(spin71.pA, 0.52128026997105, 2) - self.assertAlmostEqual(spin71.dw, 0.000250634783026154, 2) - self.assertAlmostEqual(spin71.kex, 1.41670416420046e-05, 2) - self.assertAlmostEqual(spin71.chi2, 3914.07175884826, 2) - - # The 'NS CPMG 2-site expanded' model checks. These models have not reached the minima due to the low quality optimisation! + self.assertAlmostEqual(spin70.r2[r20_key1], 6.97233943292193, 3) + self.assertAlmostEqual(spin70.r2[r20_key2], 9.409506394526, 3) + self.assertAlmostEqual(spin70.pA, 0.989856804525044, 3) + self.assertAlmostEqual(spin70.dw, 5.60889078920945, 3) + self.assertAlmostEqual(spin70.kex/10000, 1753.01607073019/10000, 3) + self.assertAlmostEqual(spin70.chi2, 53.8382158551706, 3) + self.assertAlmostEqual(spin71.r2[r20_key1], 5.003171547206, 3) + self.assertAlmostEqual(spin71.r2[r20_key2], 6.90210797727492, 3) + self.assertAlmostEqual(spin71.pA, 0.985922406455826, 3) + self.assertAlmostEqual(spin71.dw, 2.00500965892672, 3) + self.assertAlmostEqual(spin71.kex/10000, 2481.10839579617/10000, 3) + self.assertAlmostEqual(spin71.chi2, 15.6595374286822, 3) + + # The 'NS CPMG 2-site expanded' model checks. self.interpreter.pipe.switch(pipe_name='NS CPMG 2-site expanded') spin70 = return_spin(":70") spin71 = return_spin(":71") @@ -645,24 +648,25 @@ 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.95795403349439, 4) - self.assertAlmostEqual(spin70.r2[r20_key2], 9.39604008488758, 4) - self.assertAlmostEqual(spin70.pA, 0.98970139808133, 4) - self.assertAlmostEqual(spin70.dw, 5.67349284912365, 3) - self.assertAlmostEqual(spin70.kex/10000, 1713.71593906632/10000, 4) - self.assertAlmostEqual(spin70.chi2, 52.5106946212627, 4) - #self.assertAlmostEqual(spin71.r2[r20_key1], 4.91137529958506, 2) - #self.assertAlmostEqual(spin71.pA, 0.907789033045004, 2) - #self.assertAlmostEqual(spin71.dw, 5.4874818123363, 2) - #self.assertAlmostEqual(spin71.kex, 33.8903683174966, 2) - #self.assertAlmostEqual(spin71.chi2, 286.766727384223, 2) + self.assertAlmostEqual(spin70.r2[r20_key1], 6.95812089063457, 3) + self.assertAlmostEqual(spin70.r2[r20_key2], 9.39651467124235, 3) + self.assertAlmostEqual(spin70.pA, 0.989700942551209, 3) + self.assertAlmostEqual(spin70.dw, 5.67324269421426, 3) + self.assertAlmostEqual(spin70.kex/10000, 1713.59762249271/10000, 3) + self.assertAlmostEqual(spin70.chi2, 52.5106889105996, 3) + self.assertAlmostEqual(spin71.r2[r20_key1], 4.99897355555516, 3) + self.assertAlmostEqual(spin71.r2[r20_key2], 6.89823239900183, 3) + self.assertAlmostEqual(spin71.pA, 0.986704447530285, 3) + self.assertAlmostEqual(spin71.dw, 2.09198758585969, 3) + self.assertAlmostEqual(spin71.kex/10000, 2438.29751770245/10000, 3) + self.assertAlmostEqual(spin71.chi2, 15.1644904768219, 3) # The final data pipe checks. self.interpreter.pipe.switch(pipe_name='final') spin70 = return_spin(":70") spin71 = return_spin(":71") self.assertEqual(spin70.model, 'NS CPMG 2-site expanded') - #self.assertEqual(spin71.model, 'NS CPMG 2-site expanded') + self.assertEqual(spin71.model, 'NS CPMG 2-site expanded') def test_hansen_cpmg_data_auto_analysis_r2eff(self): @@ -696,11 +700,12 @@ print("%-20s %20.15g %20.15g" % ("R2 (500 MHz)", spin70.r2[r20_key1], spin71.r2[r20_key1])) print("%-20s %20.15g %20.15g" % ("R2 (800 MHz)", spin70.r2[r20_key2], spin71.r2[r20_key2])) print("%-20s %20.15g %20.15g\n" % ("chi2", spin70.chi2, spin71.chi2)) - self.assertAlmostEqual(spin70.r2[r20_key1], 10.5342302498099, 4) - self.assertAlmostEqual(spin70.r2[r20_key2], 16.1112364696603, 4) - self.assertAlmostEqual(spin70.chi2, 8973.84809809869, 4) - self.assertAlmostEqual(spin71.r2[r20_key1], 5.83139245047696, 4) - self.assertAlmostEqual(spin71.chi2, 3908.00127775015, 4) + self.assertAlmostEqual(spin70.r2[r20_key1], 10.5340593984683, 3) + self.assertAlmostEqual(spin70.r2[r20_key2], 16.1112170102734, 3) + self.assertAlmostEqual(spin70.chi2, 8973.84810025761, 3) + self.assertAlmostEqual(spin71.r2[r20_key1], 5.83139953954648, 3) + self.assertAlmostEqual(spin71.r2[r20_key2], 8.90856319376098, 3) + self.assertAlmostEqual(spin71.chi2, 3908.00127830003, 3) # The 'LM63' model checks. self.interpreter.pipe.switch(pipe_name='LM63') @@ -713,17 +718,18 @@ 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[r20_key1], 6.74376061092056, 4) - self.assertAlmostEqual(spin70.r2[r20_key2], 6.57436567015874, 4) - self.assertAlmostEqual(spin70.phi_ex, 0.312720290823582, 4) - self.assertAlmostEqual(spin70.kex/10000, 4723.01373279974/10000, 4) - self.assertAlmostEqual(spin70.chi2, 363.534047015771, 4) - self.assertAlmostEqual(spin71.r2[r20_key1], 5.0078087499832, 4) - self.assertAlmostEqual(spin71.phi_ex, 0.0553771790108888, 4) - self.assertAlmostEqual(spin71.kex/10000, 2781.64391401371/10000, 4) - self.assertAlmostEqual(spin71.chi2, 17.0776426846929, 4) - - # The 'CR72' model checks. These models have not reached the minima due to the low quality optimisation! + self.assertAlmostEqual(spin70.r2[r20_key1], 6.74326615264889, 3) + self.assertAlmostEqual(spin70.r2[r20_key2], 6.57331164382438, 3) + self.assertAlmostEqual(spin70.phi_ex, 0.312767653822936, 3) + self.assertAlmostEqual(spin70.kex/10000, 4723.44390412119/10000, 3) + self.assertAlmostEqual(spin70.chi2, 363.534049046805, 3) + self.assertAlmostEqual(spin71.r2[r20_key1], 5.00778024769786, 3) + self.assertAlmostEqual(spin71.r2[r20_key2], 6.83343630016037, 3) + self.assertAlmostEqual(spin71.phi_ex, 0.0553791362097596, 3) + self.assertAlmostEqual(spin71.kex/10000, 2781.67925957068/10000, 3) + self.assertAlmostEqual(spin71.chi2, 17.0776426190574, 3) + + # The 'CR72' model checks. self.interpreter.pipe.switch(pipe_name='CR72') spin70 = return_spin(":70") spin71 = return_spin(":71") @@ -735,18 +741,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.97231098558438, 4) - self.assertAlmostEqual(spin70.r2[r20_key2], 9.40949167240224, 4) - self.assertAlmostEqual(spin70.pA, 0.989856881109833, 4) - self.assertAlmostEqual(spin70.dw, 5.60903520132766, 4) - self.assertAlmostEqual(spin70.kex/10000, 1752.96048901822/10000, 4) - self.assertAlmostEqual(spin70.chi2, 53.8382161775238, 4) - self.assertAlmostEqual(spin71.r2[r20_key1], 5.90115065692451, 2) - self.assertAlmostEqual(spin71.r2[r20_key2], 8.8711228286642, 2) - self.assertAlmostEqual(spin71.pA, 0.52128026997105, 2) - self.assertAlmostEqual(spin71.dw, 0.000250634783026154, 2) - self.assertAlmostEqual(spin71.kex, 1.41670416420046e-05, 2) - self.assertAlmostEqual(spin71.chi2, 3914.07175884826, 2) + self.assertAlmostEqual(spin70.r2[r20_key1], 6.97233943292193, 3) + self.assertAlmostEqual(spin70.r2[r20_key2], 9.409506394526, 3) + self.assertAlmostEqual(spin70.pA, 0.989856804525044, 3) + self.assertAlmostEqual(spin70.dw, 5.60889078920945, 3) + self.assertAlmostEqual(spin70.kex/10000, 1753.01607073019/10000, 3) + self.assertAlmostEqual(spin70.chi2, 53.8382158551706, 3) + self.assertAlmostEqual(spin71.r2[r20_key1], 5.00317154730225, 3) + self.assertAlmostEqual(spin71.r2[r20_key2], 6.90210797713541, 3) + self.assertAlmostEqual(spin71.pA, 0.985922406429147, 3) + self.assertAlmostEqual(spin71.dw, 2.00500965887772, 3) + self.assertAlmostEqual(spin71.kex/10000, 2481.10839579804/10000, 3) + self.assertAlmostEqual(spin71.chi2, 15.6595374288635, 3) def test_hansen_cpmg_data_to_cr72(self): Modified: branches/relax_disp/test_suite/system_tests/scripts/relax_disp/hansen_data.py URL: http://svn.gna.org/viewcvs/relax/branches/relax_disp/test_suite/system_tests/scripts/relax_disp/hansen_data.py?rev=21617&r1=21616&r2=21617&view=diff ============================================================================== --- branches/relax_disp/test_suite/system_tests/scripts/relax_disp/hansen_data.py (original) +++ branches/relax_disp/test_suite/system_tests/scripts/relax_disp/hansen_data.py Sun Nov 24 13:37:12 2013 @@ -23,7 +23,7 @@ ds.numeric_only = False # The grid search size (the number of increments per dimension). -GRID_INC = 5 +GRID_INC = 6 # The number of Monte Carlo simulations to be used for error analysis at the end of the analysis. MC_NUM = 3 Modified: branches/relax_disp/test_suite/system_tests/scripts/relax_disp/hansen_r2eff_data.py URL: http://svn.gna.org/viewcvs/relax/branches/relax_disp/test_suite/system_tests/scripts/relax_disp/hansen_r2eff_data.py?rev=21617&r1=21616&r2=21617&view=diff ============================================================================== --- branches/relax_disp/test_suite/system_tests/scripts/relax_disp/hansen_r2eff_data.py (original) +++ branches/relax_disp/test_suite/system_tests/scripts/relax_disp/hansen_r2eff_data.py Sun Nov 24 13:37:12 2013 @@ -26,7 +26,7 @@ ds.numeric_only = False # The grid search size (the number of increments per dimension). -GRID_INC = 5 +GRID_INC = 6 # The number of Monte Carlo simulations to be used for error analysis at the end of the analysis. MC_NUM = 3