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 import Relax_data_store; ds = Relax_data_store()
27 import dep_check
28 from status import Status; status = Status()
29 from test_suite.system_tests.base_classes import SystemTestCase
30
31
33 """Class for testing the calculation of unit vectors."""
34
35 - def __init__(self, methodName='runTest'):
36 """Skip scientific Python tests if not installed.
37
38 @keyword methodName: The name of the test.
39 @type methodName: str
40 """
41
42
43 super(Unit_vectors, self).__init__(methodName)
44
45
51
52
54 """Load the PDB file using the Scientific parser and calculate the XH unit vectors."""
55
56
57 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, parser='scientific')
58
59
60 self.interpreter.structure.load_spins(spin_id='@N')
61 self.interpreter.structure.load_spins(spin_id='@H')
62
63
64 self.interpreter.dipole_pair.define(spin_id1='@N', spin_id2='@H', direct_bond=True)
65 self.interpreter.dipole_pair.unit_vectors()
66
67
68 self.assertEqual(cdp.mol[0].res[2].spin[0].num, 24)
69 self.assertEqual(cdp.mol[0].res[2].spin[0].name, 'N')
70 self.assert_(hasattr(cdp.interatomic[0], 'vector'))
71 self.assertNotEqual(cdp.interatomic[0].vector, None)
72 self.assertAlmostEqual(cdp.interatomic[0].vector[0], 0.40899187)
73 self.assertAlmostEqual(cdp.interatomic[0].vector[1], -0.80574458)
74 self.assertAlmostEqual(cdp.interatomic[0].vector[2], 0.42837054)
75
76
78 """Load the PDB file using the Scientific parser and calculate the XH unit vectors (with spin numbers removed)."""
79
80
81 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, parser='scientific')
82
83
84 self.interpreter.structure.load_spins(spin_id='@N')
85 self.interpreter.structure.load_spins(spin_id='@H')
86
87
88 self.interpreter.spin.number(force=True)
89
90
91 self.interpreter.dipole_pair.define(spin_id1='@N', spin_id2='@H', direct_bond=True)
92 self.interpreter.dipole_pair.unit_vectors()
93
94
95 self.assertEqual(cdp.mol[0].res[2].spin[0].num, None)
96 self.assertEqual(cdp.mol[0].res[2].spin[0].name, 'N')
97 self.assert_(hasattr(cdp.interatomic[0], 'vector'))
98 self.assertNotEqual(cdp.interatomic[0].vector, None)
99 self.assertAlmostEqual(cdp.interatomic[0].vector[0], 0.40899187)
100 self.assertAlmostEqual(cdp.interatomic[0].vector[1], -0.80574458)
101 self.assertAlmostEqual(cdp.interatomic[0].vector[2], 0.42837054)
102
103
105 """Load the PDB file using the internal parser and calculate the XH unit vectors."""
106
107
108 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, parser='internal')
109
110
111 self.interpreter.structure.load_spins(spin_id='@N')
112 self.interpreter.structure.load_spins(spin_id='@H')
113
114
115 self.interpreter.dipole_pair.define(spin_id1='@N', spin_id2='@H', direct_bond=True)
116 self.interpreter.dipole_pair.unit_vectors()
117
118
119 self.assertEqual(cdp.mol[0].res[2].spin[0].num, 24)
120 self.assertEqual(cdp.mol[0].res[2].spin[0].name, 'N')
121 self.assert_(hasattr(cdp.interatomic[0], 'vector'))
122 self.assertNotEqual(cdp.interatomic[0].vector, None)
123 self.assertAlmostEqual(cdp.interatomic[0].vector[0], 0.40899187)
124 self.assertAlmostEqual(cdp.interatomic[0].vector[1], -0.80574458)
125 self.assertAlmostEqual(cdp.interatomic[0].vector[2], 0.42837054)
126
127
129 """Load the PDB file using the internal parser and calculate the XH unit vectors from it (with spin numbers removed)."""
130
131
132 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, parser='internal')
133
134
135 self.interpreter.structure.load_spins(spin_id='@N')
136 self.interpreter.structure.load_spins(spin_id='@H')
137
138
139 self.interpreter.spin.number(force=True)
140
141
142 self.interpreter.dipole_pair.define(spin_id1='@N', spin_id2='@H', direct_bond=True)
143 self.interpreter.dipole_pair.unit_vectors()
144
145
146 self.assertEqual(cdp.mol[0].res[2].spin[0].num, None)
147 self.assertEqual(cdp.mol[0].res[2].spin[0].name, 'N')
148 self.assert_(hasattr(cdp.interatomic[0], 'vector'))
149 self.assertNotEqual(cdp.interatomic[0].vector, None)
150 self.assertAlmostEqual(cdp.interatomic[0].vector[0], 0.40899187)
151 self.assertAlmostEqual(cdp.interatomic[0].vector[1], -0.80574458)
152 self.assertAlmostEqual(cdp.interatomic[0].vector[2], 0.42837054)
153