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
47 """Set up for all the functional tests."""
48
49
50 self.interpreter.pipe.create('mf', 'mf')
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, 28)
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, 28)
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