Author: tlinnet Date: Thu Aug 28 20:56:47 2014 New Revision: 25408 URL: http://svn.gna.org/viewcvs/relax?rev=25408&view=rev Log: Locked values for systemtest test_estimate_r2eff_err, to estimate how the R2eff error estimation reflects on fitted parameters. task #7822(https://gna.org/task/index.php?7822): Implement user function to estimate R2eff and associated errors for exponential curve fitting. Modified: trunk/test_suite/system_tests/relax_disp.py Modified: trunk/test_suite/system_tests/relax_disp.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/system_tests/relax_disp.py?rev=25408&r1=25407&r2=25408&view=diff ============================================================================== --- trunk/test_suite/system_tests/relax_disp.py (original) +++ trunk/test_suite/system_tests/relax_disp.py Thu Aug 28 20:56:47 2014 @@ -2744,13 +2744,13 @@ self.interpreter.minimise.execute(min_algor='Newton', constraints=False, verbosity=1) # Estimate R2eff errors. - self.interpreter.relax_disp.r2eff_err_estimate() + self.interpreter.relax_disp.r2eff_err_estimate(chi2_jacobian=False) # Run the analysis. relax_disp.Relax_disp(pipe_name=ds.pipe_name, pipe_bundle=ds.pipe_bundle, results_dir=result_dir_name, models=MODELS, grid_inc=GRID_INC, mc_sim_num=MC_NUM, modsel=MODSEL) # Verify the data. - self.verify_r1rho_kjaergaard_missing_r1(models=MODELS, result_dir_name=result_dir_name, do_assert=False) + self.verify_r1rho_kjaergaard_missing_r1(models=MODELS, result_dir_name=result_dir_name, r2eff_estimate=True) def test_estimate_r2eff_err_auto(self): @@ -2849,7 +2849,7 @@ relax_disp.Relax_disp(pipe_name=pipe_name, pipe_bundle=pipe_bundle, results_dir=result_dir_name, models=MODELS, grid_inc=GRID_INC, mc_sim_num=MC_NUM, exp_mc_sim_num=EXP_MC_NUM, modsel=MODSEL, r1_fit=r1_fit) # Verify the data. - self.verify_r1rho_kjaergaard_missing_r1(models=MODELS, result_dir_name=result_dir_name, do_assert=False) + self.verify_r1rho_kjaergaard_missing_r1(models=MODELS, result_dir_name=result_dir_name) def test_estimate_r2eff_err_methods(self): @@ -7809,7 +7809,7 @@ print("plot '%s' using 1:17 title 'R2eff error as function of MC number' w linespoints "%filepath) - def verify_r1rho_kjaergaard_missing_r1(self, models=None, result_dir_name=None, do_assert=True): + def verify_r1rho_kjaergaard_missing_r1(self, models=None, result_dir_name=None, r2eff_estimate=False): """Verification of test_r1rho_kjaergaard_missing_r1.""" # Check the kex value of residue 52 @@ -7848,35 +7848,70 @@ # Print value. print("%-10s %-6s %-6s %3.8f" % ("Parameter:", param, "Value:", value)) - if do_assert: - # Compare values. - if spin_id == ':52@N': - if param == 'r1': - if model == MODEL_NOREX: + # Compare values. + if spin_id == ':52@N': + if param == 'r1': + if model == MODEL_NOREX: + if r2eff_estimate: + self.assertAlmostEqual(value, 1.46138805) + else: self.assertAlmostEqual(value, 1.46328102) - elif model == MODEL_DPL94: - self.assertAlmostEqual(value, 1.45019848) - elif model == MODEL_TP02: + elif model == MODEL_DPL94: + if r2eff_estimate: + self.assertAlmostEqual(value, 1.44845742) + else: + self.assertAlmostEqual(value, 1.44845743) + elif model == MODEL_TP02: + if r2eff_estimate: + self.assertAlmostEqual(value, 1.54354392) + else: self.assertAlmostEqual(value, 1.54352369) - elif model == MODEL_TAP03: + elif model == MODEL_TAP03: + if r2eff_estimate: + self.assertAlmostEqual(value, 1.54356410) + else: self.assertAlmostEqual(value, 1.54354367) - elif model == MODEL_MP05: + elif model == MODEL_MP05: + if r2eff_estimate: + self.assertAlmostEqual(value, 1.54356416) + else: self.assertAlmostEqual(value, 1.54354372) - elif model == MODEL_NS_R1RHO_2SITE: + elif model == MODEL_NS_R1RHO_2SITE: + if r2eff_estimate: + self.assertAlmostEqual(value, 1.41359221) + else: self.assertAlmostEqual(value, 1.41321968, 5) - elif param == 'r2': - if model == MODEL_NOREX: + elif param == 'r2': + if model == MODEL_NOREX: + if r2eff_estimate: + self.assertAlmostEqual(value, 11.48392439) + else: self.assertAlmostEqual(value, 11.48040934) - elif model == MODEL_DPL94: + elif model == MODEL_DPL94: + if r2eff_estimate: + self.assertAlmostEqual(value, 10.15688372, 6) + else: self.assertAlmostEqual(value, 10.16304887, 6) - elif model == MODEL_TP02: + elif model == MODEL_TP02: + if r2eff_estimate: + self.assertAlmostEqual(value, 9.72654896, 6) + else: self.assertAlmostEqual(value, 9.72772726, 6) - elif model == MODEL_TAP03: + elif model == MODEL_TAP03: + if r2eff_estimate: + self.assertAlmostEqual(value, 9.72641887, 6) + else: self.assertAlmostEqual(value, 9.72759374, 6) - elif model == MODEL_MP05: + elif model == MODEL_MP05: + if r2eff_estimate: + self.assertAlmostEqual(value, 9.72641723, 6) + else: self.assertAlmostEqual(value, 9.72759220, 6) - elif model == MODEL_NS_R1RHO_2SITE: + elif model == MODEL_NS_R1RHO_2SITE: + if r2eff_estimate: + self.assertAlmostEqual(value, 9.34531535, 6) + else: self.assertAlmostEqual(value, 9.34602793, 5) # For all other parameters. @@ -7887,57 +7922,116 @@ # Print value. print("%-10s %-6s %-6s %3.8f" % ("Parameter:", param, "Value:", value)) - if do_assert: - # Compare values. - if spin_id == ':52@N': - if param == 'phi_ex': - if model == MODEL_DPL94: + # Compare values. + if spin_id == ':52@N': + if param == 'phi_ex': + if model == MODEL_DPL94: + if r2eff_estimate: + self.assertAlmostEqual(value, 0.07599563) + else: self.assertAlmostEqual(value, 0.07561937) - elif param == 'pA': - if model == MODEL_TP02: + elif param == 'pA': + if model == MODEL_TP02: + if r2eff_estimate: + self.assertAlmostEqual(value, 0.88827040) + else: self.assertAlmostEqual(value, 0.88807487) - elif model == MODEL_TAP03: + elif model == MODEL_TAP03: + if r2eff_estimate: + self.assertAlmostEqual(value, 0.88828922) + else: self.assertAlmostEqual(value, 0.88809318) - elif model == MODEL_MP05: + elif model == MODEL_MP05: + if r2eff_estimate: + self.assertAlmostEqual(value, 0.88828924) + else: self.assertAlmostEqual(value, 0.88809321) - elif model == MODEL_NS_R1RHO_2SITE: + elif model == MODEL_NS_R1RHO_2SITE: + if r2eff_estimate: + self.assertAlmostEqual(value, 0.94504369, 6) + else: self.assertAlmostEqual(value, 0.94496541, 6) - elif param == 'dw': - if model == MODEL_TP02: + elif param == 'dw': + if model == MODEL_TP02: + if r2eff_estimate: + self.assertAlmostEqual(value, 1.08875840, 6) + else: self.assertAlmostEqual(value, 1.08765638, 6) - elif model == MODEL_TAP03: + elif model == MODEL_TAP03: + if r2eff_estimate: + self.assertAlmostEqual(value, 1.08837238, 6) + else: self.assertAlmostEqual(value, 1.08726698, 6) - elif model == MODEL_MP05: + elif model == MODEL_MP05: + if r2eff_estimate: + self.assertAlmostEqual(value, 1.08837241, 6) + else: self.assertAlmostEqual(value, 1.08726706, 6) - elif model == MODEL_NS_R1RHO_2SITE: + elif model == MODEL_NS_R1RHO_2SITE: + if r2eff_estimate: + self.assertAlmostEqual(value, 1.56001812, 5) + else: self.assertAlmostEqual(value, 1.55833321, 5) - elif param == 'kex': - if model == MODEL_DPL94: + elif param == 'kex': + if model == MODEL_DPL94: + if r2eff_estimate: + self.assertAlmostEqual(value, 4460.43711569, 2) + else: self.assertAlmostEqual(value, 4419.03917195, 2) - elif model == MODEL_TP02: + elif model == MODEL_TP02: + if r2eff_estimate: + self.assertAlmostEqual(value, 4921.28602757, 3) + else: self.assertAlmostEqual(value, 4904.70144883, 3) - elif model == MODEL_TAP03: + elif model == MODEL_TAP03: + if r2eff_estimate: + self.assertAlmostEqual(value, 4926.42963491, 3) + else: self.assertAlmostEqual(value, 4909.86877150, 3) - elif model == MODEL_MP05: + elif model == MODEL_MP05: + if r2eff_estimate: + self.assertAlmostEqual(value, 4926.44236315, 3) + else: self.assertAlmostEqual(value, 4909.88110195, 3) - elif model == MODEL_NS_R1RHO_2SITE: + elif model == MODEL_NS_R1RHO_2SITE: + if r2eff_estimate: + self.assertAlmostEqual(value, 5628.66061488, 2) + else: self.assertAlmostEqual(value, 5610.20221435, 2) - elif param == 'chi2': - if model == MODEL_NOREX: + elif param == 'chi2': + if model == MODEL_NOREX: + if r2eff_estimate: + self.assertAlmostEqual(value, 848.42016907) + else: self.assertAlmostEqual(value, 3363.95829122) - elif model == MODEL_DPL94: + elif model == MODEL_DPL94: + if r2eff_estimate: + self.assertAlmostEqual(value, 179.47041241) + else: self.assertAlmostEqual(value, 710.24767560) - elif model == MODEL_TP02: + elif model == MODEL_TP02: + if r2eff_estimate: + self.assertAlmostEqual(value, 29.33882530) + else: self.assertAlmostEqual(value, 114.47142772) - elif model == MODEL_TAP03: + elif model == MODEL_TAP03: + if r2eff_estimate: + self.assertAlmostEqual(value, 29.29050673) + else: self.assertAlmostEqual(value, 114.27987534) - elif model == MODEL_MP05: + elif model == MODEL_MP05: + if r2eff_estimate: + self.assertAlmostEqual(value, 29.29054301) + else: self.assertAlmostEqual(value, 114.28002272) - elif model == MODEL_NS_R1RHO_2SITE: + elif model == MODEL_NS_R1RHO_2SITE: + if r2eff_estimate: + self.assertAlmostEqual(value, 34.44010543) + else: self.assertAlmostEqual(value, 134.14368365)