Author: bugman Date: Wed Nov 13 22:06:46 2013 New Revision: 21436 URL: http://svn.gna.org/viewcvs/relax?rev=21436&view=rev Log: Created the N_state_model.test_pyrotartaric_anhydride_mix system test. This is used to demonstrate a bug in the N-state analysis using mixed RDC and long range absolute J+D data. Added: trunk/test_suite/shared_data/align_data/pyrotartaric_anhydride/R_rdcs_long_range - copied, changed from r21435, trunk/test_suite/shared_data/align_data/pyrotartaric_anhydride/R_rdcs trunk/test_suite/shared_data/align_data/pyrotartaric_anhydride/R_rdcs_short_range - copied, changed from r21435, trunk/test_suite/shared_data/align_data/pyrotartaric_anhydride/R_rdcs Modified: trunk/test_suite/system_tests/n_state_model.py trunk/test_suite/system_tests/scripts/n_state_model/pyrotartaric_anhydride.py Copied: trunk/test_suite/shared_data/align_data/pyrotartaric_anhydride/R_rdcs_long_range (from r21435, trunk/test_suite/shared_data/align_data/pyrotartaric_anhydride/R_rdcs) URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/align_data/pyrotartaric_anhydride/R_rdcs_long_range?p2=trunk/test_suite/shared_data/align_data/pyrotartaric_anhydride/R_rdcs_long_range&p1=trunk/test_suite/shared_data/align_data/pyrotartaric_anhydride/R_rdcs&r1=21435&r2=21436&rev=21436&view=diff ============================================================================== --- trunk/test_suite/shared_data/align_data/pyrotartaric_anhydride/R_rdcs (original) +++ trunk/test_suite/shared_data/align_data/pyrotartaric_anhydride/R_rdcs_long_range Wed Nov 13 22:06:46 2013 @@ -1,14 +1,4 @@ #spin_id1 spin_id2 RDC abs(T) abs(J) J_sign dist -#@9 @10 22.76303880266 147.25303880266 124.49000000000 1 1.089841 -#@9 @11 -14.90302123027 108.71697876973 123.62000000000 1 1.090724 -#@9 @12 13.29511331547 135.81511331547 122.52000000000 1 1.091948 -@9 @10 1 1 1 1 1.089841 -@9 @11 1 1 1 1 1.090724 -@9 @12 1 1 1 1 1.091948 -@9 @Q9 7.051710295953332 130.59171029595333 123.54000000000 1 1.090837 -@4 @6 14.64956993990 141.23956993990 126.59000000000 1 1.095136 -@5 @7 -9.80224941614 117.98775058386 127.79000000000 1 1.093495 -@5 @8 4.49085022708 138.87085022708 134.38000000000 1 1.088982 @1 @6 1.16041049951 2.16041049951 1.00000000000 1 2.996136 @3 @6 0.57071216172 6.81928783828 7.39000000000 -1 2.091217 @5 @6 3.68667449742 0.46667449742 3.22000000000 -1 2.163545 Copied: trunk/test_suite/shared_data/align_data/pyrotartaric_anhydride/R_rdcs_short_range (from r21435, trunk/test_suite/shared_data/align_data/pyrotartaric_anhydride/R_rdcs) URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/align_data/pyrotartaric_anhydride/R_rdcs_short_range?p2=trunk/test_suite/shared_data/align_data/pyrotartaric_anhydride/R_rdcs_short_range&p1=trunk/test_suite/shared_data/align_data/pyrotartaric_anhydride/R_rdcs&r1=21435&r2=21436&rev=21436&view=diff ============================================================================== --- trunk/test_suite/shared_data/align_data/pyrotartaric_anhydride/R_rdcs (original) +++ trunk/test_suite/shared_data/align_data/pyrotartaric_anhydride/R_rdcs_short_range Wed Nov 13 22:06:46 2013 @@ -9,36 +9,3 @@ @4 @6 14.64956993990 141.23956993990 126.59000000000 1 1.095136 @5 @7 -9.80224941614 117.98775058386 127.79000000000 1 1.093495 @5 @8 4.49085022708 138.87085022708 134.38000000000 1 1.088982 -@1 @6 1.16041049951 2.16041049951 1.00000000000 1 2.996136 -@3 @6 0.57071216172 6.81928783828 7.39000000000 -1 2.091217 -@5 @6 3.68667449742 0.46667449742 3.22000000000 -1 2.163545 -@9 @6 -2.26063357144 7.18063357144 4.92000000000 -1 2.150225 -@1 @7 -4.77232431456 11.97232431456 7.20000000000 -1 2.114901 -@3 @7 -0.17007443173 0.55992556827 0.73000000000 1 3.043440 -@4 @7 2.37501105989 0.82498894011 3.20000000000 -1 2.192949 -@9 @7 1.64523216045 7.67523216045 6.03000000000 1 2.673710 -@1 @8 -0.94447557779 6.19447557779 5.25000000000 -1 2.139021 -@3 @8 0.06213688971 6.42213688971 6.36000000000 1 3.252832 -@4 @8 1.48958862680 0.14958862680 1.34000000000 -1 2.219687 -@9 @8 0.21349779284 1.16349779284 0.95000000000 1 3.256413 -@3 @Q9 -1.2400897128766667 4.472910287123334 5.71300000000 1 9999.0 -@4 @Q9 -1.8997427023766667 5.669742702376667 3.77000000000 -1 9999.0 -@5 @Q9 -0.0129325208733333 4.917067479126667 4.93000000000 1 9999.0 -#@3 @10 -0.89720954952 1.16279045048 2.06000000000 1 2.778083 -#@4 @10 0.40534850610 3.44465149390 3.85000000000 -1 2.168145 -#@5 @10 0.45779735990 10.76779735990 10.31000000000 1 3.527661 -#@3 @11 -0.87177225738 11.85822774262 12.73000000000 1 3.473732 -#@4 @11 -3.87776069286 7.43776069286 3.56000000000 -1 2.159521 -#@5 @11 -0.20558867187 1.19441132813 1.40000000000 1 2.888372 -#@3 @12 -1.95128733173 0.39871266827 2.35000000000 1 2.826109 -#@4 @12 -2.22681592037 6.12681592037 3.90000000000 -1 2.173800 -#@5 @12 -0.29100625065 2.78899374935 3.08000000000 1 2.849230 -@3 @10 1 1 1 1 2.778083 -@4 @10 1 1 1 1 2.168145 -@5 @10 1 1 1 1 3.527661 -@3 @11 1 1 1 1 3.473732 -@4 @11 1 1 1 1 2.159521 -@5 @11 1 1 1 1 2.888372 -@3 @12 1 1 1 1 2.826109 -@4 @12 1 1 1 1 2.173800 -@5 @12 1 1 1 1 2.849230 Modified: trunk/test_suite/system_tests/n_state_model.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/system_tests/n_state_model.py?rev=21436&r1=21435&r2=21436&view=diff ============================================================================== --- trunk/test_suite/system_tests/n_state_model.py (original) +++ trunk/test_suite/system_tests/n_state_model.py Wed Nov 13 22:06:46 2013 @@ -920,11 +920,11 @@ self.assertAlmostEqual(cdp.interatomic[2].rdc_bc['A'], -16.244078605100817) - def test_pyrotartaric_anhydride_rdcs(self): - """Pyrotarctic anhydride alignment tensor optimisation using long range (1J, 2J & 3J) RDC data.""" + def test_pyrotartaric_anhydride_absT(self): + """Pyrotarctic anhydride alignment tensor optimisation using long range (1J, 2J & 3J) absolute T (J+D) data.""" # The setup. - ds.abs_data = False + ds.abs_data = 'T' # Execute the script. self.script_exec(status.install_path + sep+'test_suite'+sep+'system_tests'+sep+'scripts'+sep+'n_state_model'+sep+'pyrotartaric_anhydride.py') @@ -939,11 +939,30 @@ self.assertAlmostEqual(cdp.q_rdc, 0.0, 2) - def test_pyrotartaric_anhydride_absT(self): - """Pyrotarctic anhydride alignment tensor optimisation using long range (1J, 2J & 3J) absolute T (J+D) data.""" + def test_pyrotartaric_anhydride_mix(self): + """Pyrotarctic anhydride alignment tensor optimisation using short range RDC and long range (1J, 2J & 3J) absolute T (J+D) data.""" # The setup. - ds.abs_data = True + ds.abs_data = 'mix' + + # Execute the script. + self.script_exec(status.install_path + sep+'test_suite'+sep+'system_tests'+sep+'scripts'+sep+'n_state_model'+sep+'pyrotartaric_anhydride.py') + + # Test the optimised values. + self.assertAlmostEqual(cdp.align_tensors[0].Axx, -0.0001756305, 5) + self.assertAlmostEqual(cdp.align_tensors[0].Ayy, 0.000278497, 5) + self.assertAlmostEqual(cdp.align_tensors[0].Axy, -0.000253196, 5) + self.assertAlmostEqual(cdp.align_tensors[0].Axz, 0.000280272, 5) + self.assertAlmostEqual(cdp.align_tensors[0].Ayz, -0.0001431835, 5) + self.assertAlmostEqual(cdp.chi2, 0.0, 2) + self.assertAlmostEqual(cdp.q_rdc, 0.0, 2) + + + def test_pyrotartaric_anhydride_rdcs(self): + """Pyrotarctic anhydride alignment tensor optimisation using long range (1J, 2J & 3J) RDC data.""" + + # The setup. + ds.abs_data = 'D' # Execute the script. self.script_exec(status.install_path + sep+'test_suite'+sep+'system_tests'+sep+'scripts'+sep+'n_state_model'+sep+'pyrotartaric_anhydride.py') Modified: trunk/test_suite/system_tests/scripts/n_state_model/pyrotartaric_anhydride.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/system_tests/scripts/n_state_model/pyrotartaric_anhydride.py?rev=21436&r1=21435&r2=21436&view=diff ============================================================================== --- trunk/test_suite/system_tests/scripts/n_state_model/pyrotartaric_anhydride.py (original) +++ trunk/test_suite/system_tests/scripts/n_state_model/pyrotartaric_anhydride.py Wed Nov 13 22:06:46 2013 @@ -13,7 +13,7 @@ # Setup for stand-alone operation. if not hasattr(ds, 'abs_data'): - ds.abs_data = True + ds.abs_data = 'mix' # Path of the files. str_path = status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'structures' @@ -42,13 +42,22 @@ self._execute_uf(uf_name='interatom.read_dist', file='R_rdcs', dir=data_path, unit='Angstrom', spin_id1_col=1, spin_id2_col=2, data_col=7) self._execute_uf(uf_name='interatom.unit_vectors', ave=False) +# Load the short range RDC data and long range J and J+D data. +if ds.abs_data == 'mix': + # Short range RDCs. + self._execute_uf(uf_name='rdc.read', align_id='test', file='R_rdcs_short_range', dir=data_path, data_type='D', spin_id1_col=1, spin_id2_col=2, data_col=4, absolute=False) + + # Long range J and J+D data. + self._execute_uf(uf_name='rdc.read', align_id='test', file='R_rdcs_long_range', dir=data_path, data_type='T', spin_id1_col=1, spin_id2_col=2, data_col=4, absolute=True) + self._execute_uf(uf_name='j_coupling.read', file='R_rdcs_long_range', dir=data_path, spin_id1_col=1, spin_id2_col=2, data_col=5, sign_col=6) + # Load the J and J+D data. -if ds.abs_data: +elif ds.abs_data == 'T': self._execute_uf(uf_name='rdc.read', align_id='test', file='R_rdcs', dir=data_path, data_type='T', spin_id1_col=1, spin_id2_col=2, data_col=4, absolute=True) self._execute_uf(uf_name='j_coupling.read', file='R_rdcs', dir=data_path, spin_id1_col=1, spin_id2_col=2, data_col=5, sign_col=6) # Load the RDC data. -else: +elif ds.abs_data == 'D': self._execute_uf(uf_name='rdc.read', align_id='test', file='R_rdcs', dir=data_path, spin_id1_col=1, spin_id2_col=2, data_col=3) # Set up the model.