Author: bugman Date: Thu Jun 21 10:22:21 2012 New Revision: 17016 URL: http://svn.gna.org/viewcvs/relax?rev=17016&view=rev Log: Many fixes for the model-free system tests and related data. Now all model-free tests pass under the new interatomic data design. Modified: branches/interatomic/test_suite/shared_data/model_free/OMP/final_results_trunc_1.3_pre_py2.7.3_v2.bz2 branches/interatomic/test_suite/shared_data/model_free/OMP/final_results_trunc_1.3_v2.bz2 branches/interatomic/test_suite/shared_data/model_free/OMP/final_results_trunc_1.3_v2_broken.bz2 branches/interatomic/test_suite/system_tests/model_free.py branches/interatomic/test_suite/system_tests/scripts/model_free/omp_model_free.py Modified: branches/interatomic/test_suite/shared_data/model_free/OMP/final_results_trunc_1.3_pre_py2.7.3_v2.bz2 URL: http://svn.gna.org/viewcvs/relax/branches/interatomic/test_suite/shared_data/model_free/OMP/final_results_trunc_1.3_pre_py2.7.3_v2.bz2?rev=17016&r1=17015&r2=17016&view=diff ============================================================================== Binary files - no diff available. Modified: branches/interatomic/test_suite/shared_data/model_free/OMP/final_results_trunc_1.3_v2.bz2 URL: http://svn.gna.org/viewcvs/relax/branches/interatomic/test_suite/shared_data/model_free/OMP/final_results_trunc_1.3_v2.bz2?rev=17016&r1=17015&r2=17016&view=diff ============================================================================== Binary files - no diff available. Modified: branches/interatomic/test_suite/shared_data/model_free/OMP/final_results_trunc_1.3_v2_broken.bz2 URL: http://svn.gna.org/viewcvs/relax/branches/interatomic/test_suite/shared_data/model_free/OMP/final_results_trunc_1.3_v2_broken.bz2?rev=17016&r1=17015&r2=17016&view=diff ============================================================================== Binary files - no diff available. Modified: branches/interatomic/test_suite/system_tests/model_free.py URL: http://svn.gna.org/viewcvs/relax/branches/interatomic/test_suite/system_tests/model_free.py?rev=17016&r1=17015&r2=17016&view=diff ============================================================================== --- branches/interatomic/test_suite/system_tests/model_free.py (original) +++ branches/interatomic/test_suite/system_tests/model_free.py Thu Jun 21 10:22:21 2012 @@ -310,7 +310,7 @@ isotopes = ["15N", "1H"] * 9 csa = [-172e-6, None] * 9 select = [True, False] * 9 - fixed = [False, None] * 9 + fixed = [False, False] * 9 s2 = [0.8, None] * 9 te = [20e-12, None] * 9 @@ -397,8 +397,8 @@ # Load the relaxation data. for i in range(len(frq)): self.interpreter.relax_data.read('NOE_%s'%frq[i], 'NOE', float(frq[i])*1e6, 'noe.%s.out' % frq[i], dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4, spin_id='@N') - self.interpreter.relax_data.read('R1_%s'%frq[i], 'R1', float(frq[i])*1e6, 'r1.%s.out' % frq[i], dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4) - self.interpreter.relax_data.read('R2_%s'%frq[i], 'R2', float(frq[i])*1e6, 'r2.%s.out' % frq[i], dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4) + self.interpreter.relax_data.read('R1_%s'%frq[i], 'R1', float(frq[i])*1e6, 'r1.%s.out' % frq[i], dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4, spin_id='@N') + self.interpreter.relax_data.read('R2_%s'%frq[i], 'R2', float(frq[i])*1e6, 'r2.%s.out' % frq[i], dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4, spin_id='@N') # Set up the initial model-free parameter values (bypass the grid search for speed). self.interpreter.value.set([15.0e-9, 1.0, 0.0], ['local_tm', 's2', 'te']) @@ -424,9 +424,9 @@ # Load the relaxation data. for i in range(len(frq)): - self.interpreter.relax_data.read('NOE_%s'%frq[i], 'NOE', float(frq[i])*1e6, 'noe.%s.out' % frq[i], dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4) - self.interpreter.relax_data.read('R1_%s'%frq[i], 'R1', float(frq[i])*1e6, 'r1.%s.out' % frq[i], dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4) - self.interpreter.relax_data.read('R2_%s'%frq[i], 'R2', float(frq[i])*1e6, 'r2.%s.out' % frq[i], dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4) + self.interpreter.relax_data.read('NOE_%s'%frq[i], 'NOE', float(frq[i])*1e6, 'noe.%s.out' % frq[i], dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4, spin_id='@N') + self.interpreter.relax_data.read('R1_%s'%frq[i], 'R1', float(frq[i])*1e6, 'r1.%s.out' % frq[i], dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4, spin_id='@N') + self.interpreter.relax_data.read('R2_%s'%frq[i], 'R2', float(frq[i])*1e6, 'r2.%s.out' % frq[i], dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4, spin_id='@N') # Set up the initial model-free parameter values (bypass the grid search for speed). self.interpreter.value.set([15.0e-9, 1.0, 0.0], ['local_tm', 's2', 'te']) @@ -448,15 +448,15 @@ self.script_exec(status.install_path + sep+'test_suite'+sep+'system_tests'+sep+'scripts'+sep+'model_free'+sep+'opt_setup_local_tm_10_S2_0_8_te_40.py') # Load the relaxation data. - self.interpreter.relax_data.read('R2_700', 'R2', 700*1e6, 'r2.700.out', dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4) - self.interpreter.relax_data.read('NOE_500', 'NOE', 500*1e6, 'noe.500.out', dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4) - self.interpreter.relax_data.read('R1_500', 'R1', 500*1e6, 'r1.500.out', dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4) - self.interpreter.relax_data.read('R1_900', 'R1', 900*1e6, 'r1.900.out', dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4) - self.interpreter.relax_data.read('NOE_900', 'NOE', 900*1e6, 'noe.900.out', dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4) - self.interpreter.relax_data.read('R2_900', 'R2', 900*1e6, 'r2.900.out', dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4) - self.interpreter.relax_data.read('R1_700', 'R1', 700*1e6, 'r1.700.out', dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4) - self.interpreter.relax_data.read('NOE_700', 'NOE', 700*1e6, 'noe.700.out', dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4) - self.interpreter.relax_data.read('R2_500', 'R2', 500*1e6, 'r2.500.out', dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4) + self.interpreter.relax_data.read('R2_700', 'R2', 700*1e6, 'r2.700.out', dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4, spin_id='@N') + self.interpreter.relax_data.read('NOE_500', 'NOE', 500*1e6, 'noe.500.out', dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4, spin_id='@N') + self.interpreter.relax_data.read('R1_500', 'R1', 500*1e6, 'r1.500.out', dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4, spin_id='@N') + self.interpreter.relax_data.read('R1_900', 'R1', 900*1e6, 'r1.900.out', dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4, spin_id='@N') + self.interpreter.relax_data.read('NOE_900', 'NOE', 900*1e6, 'noe.900.out', dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4, spin_id='@N') + self.interpreter.relax_data.read('R2_900', 'R2', 900*1e6, 'r2.900.out', dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4, spin_id='@N') + self.interpreter.relax_data.read('R1_700', 'R1', 700*1e6, 'r1.700.out', dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4, spin_id='@N') + self.interpreter.relax_data.read('NOE_700', 'NOE', 700*1e6, 'noe.700.out', dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4, spin_id='@N') + self.interpreter.relax_data.read('R2_500', 'R2', 500*1e6, 'r2.500.out', dir=cdp.path, res_num_col=1, res_name_col=2, data_col=3, error_col=4, spin_id='@N') # Set up the initial model-free parameter values (bypass the grid search for speed). self.interpreter.value.set([15.0e-9, 1.0, 0.0], ['local_tm', 's2', 'te']) @@ -720,8 +720,9 @@ self.interpreter.relax_data.read('R2_500', 'R2', 500.0*1e6, 'r2.500.out', dir=path, res_num_col=1, res_name_col=2, data_col=3, error_col=4) self.interpreter.relax_data.read('NOE_500', 'NOE', 500.0*1e6, 'noe.500.out', dir=path, res_num_col=1, res_name_col=2, data_col=3, error_col=4) - # Name the spins. + # Name the spins and set the element type. self.interpreter.spin.name('N') + self.interpreter.spin.element('N') # Create all attached protons. self.interpreter.sequence.attach_protons() @@ -1992,6 +1993,9 @@ # Aliases res = cdp.mol[0].res[i] spin = cdp.mol[0].res[i].spin[0] + h_spin = None + if len(cdp.mol[0].res[i].spin) > 1: + h_spin = cdp.mol[0].res[i].spin[1] # Debugging printout. print(res) @@ -2001,18 +2005,24 @@ self.assertEqual(res.num, num[i]) self.assertEqual(res.name, 'XXX') self.assertEqual(spin.num, None) - self.assertEqual(spin.name, None) + if select[i]: + self.assertEqual(spin.name, 'N') + self.assertEqual(spin.fixed, False) + else: + self.assertEqual(spin.name, None) self.assertEqual(spin.select, select[i]) - self.assertEqual(spin.fixed, False) + if h_spin: + self.assertEqual(h_spin.num, None) + self.assertEqual(h_spin.name, 'H') + self.assertEqual(h_spin.select, False) # Skip deselected spins. if not select[i]: continue - # Structural info. - self.assertEqual(spin.heteronuc_type, '15N') - self.assertEqual(spin.proton_type, '1H') - self.assertEqual(spin.attached_proton, None) + # Nuclear isotope info. + self.assertEqual(spin.isotope, '15N') + self.assertEqual(h_spin.isotope, '1H') # Model-free tests. self.assertEqual(spin.model, model[j]) @@ -2030,7 +2040,6 @@ if rex[j] != None: rex[j] = rex[j]/(2.0*pi*500000000.0)**2 self.assertEqual(spin.rex, rex[j]) - self.assertEqual(spin.r, 1.0200000000000001e-10) self.assertEqual(spin.csa, -0.00016999999999999999) # Minimisation statistic tests. @@ -2049,6 +2058,10 @@ # Secondary index. j = j + 1 + + # The interatomic data tests. + for i in range(len(cdp.interatomic)): + self.assertEqual(cdp.interatomic[i].r, 1.0200000000000001e-10) def test_read_results_1_2_pse4(self): @@ -2162,7 +2175,7 @@ self.assertEqual(h_spin.name, 'H') self.assertEqual(h_spin.select, False) - # Structural info. + # Nuclear isotope info. self.assertEqual(spin.isotope, '15N') self.assertEqual(h_spin.isotope, '1H') @@ -2313,7 +2326,7 @@ self.assertEqual(h_spin.name, 'H') self.assertEqual(h_spin.select, False) - # Structural info. + # Nuclear isotope info. self.assertEqual(spin.isotope, '15N') self.assertEqual(h_spin.isotope, '1H') @@ -2443,8 +2456,8 @@ self.assertEqual(cdp.mol[0].res[1].spin[0].params, ['s2', 'te', 'rex']) - def test_set_bond_length(self): - """Setting the bond length through the user function value.set().""" + def test_set_csa(self): + """Setting the CSA value through the user function value.set().""" # Path of the files. path = status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'model_free'+sep+'S2_0.970_te_2048_Rex_0.149' @@ -2453,43 +2466,10 @@ self.interpreter.sequence.read(file='noe.500.out', dir=path, res_num_col=1, res_name_col=2) # Set the CSA value. - self.interpreter.value.set(NH_BOND_LENGTH, 'r') - - # Test the value. - self.assertEqual(cdp.mol[0].res[1].spin[0].r, NH_BOND_LENGTH) - - - def test_set_csa(self): - """Setting the CSA value through the user function value.set().""" - - # Path of the files. - path = status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'model_free'+sep+'S2_0.970_te_2048_Rex_0.149' - - # Read the sequence. - self.interpreter.sequence.read(file='noe.500.out', dir=path, res_num_col=1, res_name_col=2) - - # Set the CSA value. self.interpreter.value.set(N15_CSA, 'csa') # Test the value. self.assertEqual(cdp.mol[0].res[1].spin[0].csa, N15_CSA) - - - def test_set_csa_bond_length(self): - """Setting both the CSA value and bond length through the user function value.set().""" - - # Path of the files. - path = status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'model_free'+sep+'S2_0.970_te_2048_Rex_0.149' - - # Read the sequence. - self.interpreter.sequence.read(file='noe.500.out', dir=path, res_num_col=1, res_name_col=2) - - # Set the CSA value and bond length simultaneously. - self.interpreter.value.set([N15_CSA, NH_BOND_LENGTH], ['csa', 'r']) - - # Test the values. - self.assertEqual(cdp.mol[0].res[1].spin[0].csa, N15_CSA) - self.assertEqual(cdp.mol[0].res[1].spin[0].r, NH_BOND_LENGTH) def test_tm0_grid(self): Modified: branches/interatomic/test_suite/system_tests/scripts/model_free/omp_model_free.py URL: http://svn.gna.org/viewcvs/relax/branches/interatomic/test_suite/system_tests/scripts/model_free/omp_model_free.py?rev=17016&r1=17015&r2=17016&view=diff ============================================================================== --- branches/interatomic/test_suite/system_tests/scripts/model_free/omp_model_free.py (original) +++ branches/interatomic/test_suite/system_tests/scripts/model_free/omp_model_free.py Thu Jun 21 10:22:21 2012 @@ -211,7 +211,6 @@ # Define the magnetic dipole-dipole relaxation interaction. dipole_pair.define(spin_id1='@N', spin_id2='@H', direct_bond=True) dipole_pair.set_dist(spin_id1='@N', spin_id2='@H', ave_dist=1.02 * 1e-10) - dipole_pair.unit_vectors() # Set all the necessary values. value.set(CSA, 'csa')