1   
 2   
 3   
 4   
 5   
 6   
 7   
 8   
 9   
10   
11   
12   
13   
14   
15   
16   
17   
18   
19   
20   
21   
22   
23  from os import sep 
24   
25   
26  from data_store import Relax_data_store; ds = Relax_data_store() 
27  from status import Status; status = Status() 
28  from test_suite.system_tests.base_classes import SystemTestCase 
29   
30   
32      """Class for testing the calculation of unit vectors.""" 
33   
39   
40   
42          """Load the PDB file and calculate the XH unit vectors.""" 
43   
44           
45          self.interpreter.structure.read_pdb(file='Ap4Aase_res1-12.pdb', dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'structures', read_model=1) 
46   
47           
48          self.interpreter.structure.load_spins(spin_id='@N') 
49          self.interpreter.structure.load_spins(spin_id='@H') 
50   
51           
52          self.interpreter.interatom.define(spin_id1='@N', spin_id2='@H', direct_bond=True) 
53          self.interpreter.interatom.unit_vectors() 
54   
55           
56          self.assertEqual(cdp.mol[0].res[2].spin[0].num, 24) 
57          self.assertEqual(cdp.mol[0].res[2].spin[0].name, 'N') 
58          self.assert_(hasattr(cdp.interatomic[0], 'vector')) 
59          self.assertNotEqual(cdp.interatomic[0].vector, None) 
60          self.assertAlmostEqual(cdp.interatomic[0].vector[0], 0.40899187) 
61          self.assertAlmostEqual(cdp.interatomic[0].vector[1], -0.80574458) 
62          self.assertAlmostEqual(cdp.interatomic[0].vector[2], 0.42837054) 
 63   
64   
66          """Load the PDB file and calculate the XH unit vectors (with spin numbers removed).""" 
67   
68           
69          self.interpreter.structure.read_pdb(file='Ap4Aase_res1-12.pdb', dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'structures', read_model=1) 
70   
71           
72          self.interpreter.structure.load_spins(spin_id='@N') 
73          self.interpreter.structure.load_spins(spin_id='@H') 
74   
75           
76          self.interpreter.spin.number(force=True) 
77   
78           
79          self.interpreter.interatom.define(spin_id1='@N', spin_id2='@H', direct_bond=True) 
80          self.interpreter.interatom.unit_vectors() 
81   
82           
83          self.assertEqual(cdp.mol[0].res[2].spin[0].num, None) 
84          self.assertEqual(cdp.mol[0].res[2].spin[0].name, 'N') 
85          self.assert_(hasattr(cdp.interatomic[0], 'vector')) 
86          self.assertNotEqual(cdp.interatomic[0].vector, None) 
87          self.assertAlmostEqual(cdp.interatomic[0].vector[0], 0.40899187) 
88          self.assertAlmostEqual(cdp.interatomic[0].vector[1], -0.80574458) 
89          self.assertAlmostEqual(cdp.interatomic[0].vector[2], 0.42837054) 
  90