1   
  2   
  3   
  4   
  5   
  6   
  7   
  8   
  9   
 10   
 11   
 12   
 13   
 14   
 15   
 16   
 17   
 18   
 19   
 20   
 21   
 22   
 23  """RDC-based system tests.""" 
 24   
 25   
 26   
 27  from os import sep 
 28   
 29   
 30  from pipe_control.interatomic import interatomic_loop 
 31  from pipe_control.mol_res_spin import count_spins 
 32  from status import Status; status = Status() 
 33  from test_suite.system_tests.base_classes import SystemTestCase 
 34   
 35   
 36 -class Rdc(SystemTestCase): 
  37      """Class for testing RDC operations.""" 
 38   
 40          """Test the operation of the rdc.copy user function.""" 
 41   
 42           
 43          self.interpreter.pipe.create('orig', 'N-state') 
 44   
 45           
 46          dir = status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'align_data'+sep 
 47   
 48           
 49          self.interpreter.sequence.read(file='tb.txt', dir=dir, spin_id_col=1) 
 50          self.interpreter.sequence.attach_protons() 
 51          self.interpreter.sequence.display() 
 52   
 53           
 54          self.interpreter.rdc.read(align_id='tb', file='tb.txt', dir=dir, spin_id1_col=1, spin_id2_col=2, data_col=3, error_col=4) 
 55          self.interpreter.sequence.display() 
 56   
 57           
 58          rdcs = [ -26.2501958629, 9.93081766942, 7.26317614156, -1.24840526981, 5.31803314334, 14.0362909456, 1.33652530397, -1.6021670281] 
 59   
 60           
 61          self.interpreter.pipe.copy(pipe_from='orig', pipe_to='new') 
 62          self.interpreter.pipe.switch(pipe_name='new') 
 63   
 64           
 65          self.interpreter.rdc.delete() 
 66   
 67           
 68          self.interpreter.rdc.copy(pipe_from='orig', align_id='tb') 
 69   
 70           
 71          self.assertEqual(count_spins(), 16) 
 72          self.assertEqual(len(cdp.interatomic), 8) 
 73          i = 0 
 74          for interatom in interatomic_loop(): 
 75              self.assertAlmostEqual(rdcs[i], interatom.rdc['tb']) 
 76              i += 1 
  77   
 78   
 80          """Test for the loading of some RDC data with the spin ID format.""" 
 81   
 82           
 83          self.interpreter.pipe.create('test', 'N-state') 
 84   
 85           
 86          dir = status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'align_data'+sep 
 87   
 88           
 89          self.interpreter.sequence.read(file='tb.txt', dir=dir, spin_id_col=1) 
 90          self.interpreter.sequence.attach_protons() 
 91          self.interpreter.sequence.display() 
 92   
 93           
 94          self.interpreter.rdc.read(align_id='tb', file='tb.txt', dir=dir, spin_id1_col=1, spin_id2_col=2, data_col=3, error_col=4) 
 95          self.interpreter.sequence.display() 
 96   
 97           
 98          rdcs = [ -26.2501958629, 9.93081766942, 7.26317614156, -1.24840526981, 5.31803314334, 14.0362909456, 1.33652530397, -1.6021670281] 
 99   
100           
101          self.assertEqual(count_spins(), 16) 
102          self.assertEqual(len(cdp.interatomic), 8) 
103          i = 0 
104          for interatom in interatomic_loop(): 
105              self.assertAlmostEqual(rdcs[i], interatom.rdc['tb']) 
106              i += 1 
  107