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 sequence functions."""
33
39
40
42 """Load all aspartic acid atoms from the single residue in a loaded protein PDB file."""
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=':ASP')
49
50
51 self.assertEqual(len(cdp.mol), 1)
52 self.assertEqual(cdp.mol[0].name, 'Ap4Aase_res1-12_mol1')
53 self.assertEqual(len(cdp.mol[0].res), 1)
54
55
56 self.assertEqual(cdp.mol[0].res[0].num, 7)
57 self.assertEqual(cdp.mol[0].res[0].name, 'ASP')
58 self.assertEqual(len(cdp.mol[0].res[0].spin), 12)
59 self.assertEqual(cdp.mol[0].res[0].spin[0].num, 78)
60 self.assertEqual(cdp.mol[0].res[0].spin[0].name, 'N')
61 self.assertEqual(cdp.mol[0].res[0].spin[1].num, 79)
62 self.assertEqual(cdp.mol[0].res[0].spin[1].name, 'H')
63 self.assertEqual(cdp.mol[0].res[0].spin[2].num, 80)
64 self.assertEqual(cdp.mol[0].res[0].spin[2].name, 'CA')
65 self.assertEqual(cdp.mol[0].res[0].spin[3].num, 81)
66 self.assertEqual(cdp.mol[0].res[0].spin[3].name, 'HA')
67 self.assertEqual(cdp.mol[0].res[0].spin[4].num, 82)
68 self.assertEqual(cdp.mol[0].res[0].spin[4].name, 'CB')
69 self.assertEqual(cdp.mol[0].res[0].spin[5].num, 83)
70 self.assertEqual(cdp.mol[0].res[0].spin[5].name, '1HB')
71 self.assertEqual(cdp.mol[0].res[0].spin[6].num, 84)
72 self.assertEqual(cdp.mol[0].res[0].spin[6].name, '2HB')
73 self.assertEqual(cdp.mol[0].res[0].spin[7].num, 85)
74 self.assertEqual(cdp.mol[0].res[0].spin[7].name, 'CG')
75 self.assertEqual(cdp.mol[0].res[0].spin[8].num, 86)
76 self.assertEqual(cdp.mol[0].res[0].spin[8].name, 'OD1')
77 self.assertEqual(cdp.mol[0].res[0].spin[9].num, 87)
78 self.assertEqual(cdp.mol[0].res[0].spin[9].name, 'OD2')
79 self.assertEqual(cdp.mol[0].res[0].spin[10].num, 88)
80 self.assertEqual(cdp.mol[0].res[0].spin[10].name, 'C')
81 self.assertEqual(cdp.mol[0].res[0].spin[11].num, 89)
82 self.assertEqual(cdp.mol[0].res[0].spin[11].name, 'O')
83
84
86 """Load the glycine backbone amide N and Ca spins from a loaded protein PDB file."""
87
88
89 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)
90
91
92 self.interpreter.structure.load_spins(spin_id=':GLY@N')
93
94
95 self.interpreter.structure.load_spins(spin_id=':GLY@CA')
96
97
98 self.assertEqual(len(cdp.mol), 1)
99 self.assertEqual(cdp.mol[0].name, 'Ap4Aase_res1-12_mol1')
100 self.assertEqual(len(cdp.mol[0].res), 3)
101
102
103 self.assertEqual(cdp.mol[0].res[0].num, 1)
104 self.assertEqual(cdp.mol[0].res[0].name, 'GLY')
105 self.assertEqual(len(cdp.mol[0].res[0].spin), 2)
106 self.assertEqual(cdp.mol[0].res[0].spin[0].num, 1)
107 self.assertEqual(cdp.mol[0].res[0].spin[0].name, 'N')
108 self.assertEqual(cdp.mol[0].res[0].spin[1].num, 2)
109 self.assertEqual(cdp.mol[0].res[0].spin[1].name, 'CA')
110
111
112 self.assertEqual(cdp.mol[0].res[1].num, 4)
113 self.assertEqual(cdp.mol[0].res[1].name, 'GLY')
114 self.assertEqual(len(cdp.mol[0].res[1].spin), 2)
115 self.assertEqual(cdp.mol[0].res[1].spin[0].num, 43)
116 self.assertEqual(cdp.mol[0].res[1].spin[0].name, 'N')
117 self.assertEqual(cdp.mol[0].res[1].spin[1].num, 45)
118 self.assertEqual(cdp.mol[0].res[1].spin[1].name, 'CA')
119
120
121 self.assertEqual(cdp.mol[0].res[2].num, 12)
122 self.assertEqual(cdp.mol[0].res[2].name, 'GLY')
123 self.assertEqual(len(cdp.mol[0].res[2].spin), 2)
124 self.assertEqual(cdp.mol[0].res[2].spin[0].num, 144)
125 self.assertEqual(cdp.mol[0].res[2].spin[0].name, 'N')
126 self.assertEqual(cdp.mol[0].res[2].spin[1].num, 146)
127 self.assertEqual(cdp.mol[0].res[2].spin[1].name, 'CA')
128
129
131 """Load the glycine backbone amide N spins from a loaded protein PDB file."""
132
133
134 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)
135
136
137 self.interpreter.structure.load_spins(spin_id=':GLY@N')
138
139
140 self.assertEqual(len(cdp.mol), 1)
141 self.assertEqual(cdp.mol[0].name, 'Ap4Aase_res1-12_mol1')
142 self.assertEqual(len(cdp.mol[0].res), 3)
143
144
145 self.assertEqual(cdp.mol[0].res[0].num, 1)
146 self.assertEqual(cdp.mol[0].res[0].name, 'GLY')
147 self.assertEqual(len(cdp.mol[0].res[0].spin), 1)
148 self.assertEqual(cdp.mol[0].res[0].spin[0].num, 1)
149 self.assertEqual(cdp.mol[0].res[0].spin[0].name, 'N')
150
151
152 self.assertEqual(cdp.mol[0].res[1].num, 4)
153 self.assertEqual(cdp.mol[0].res[1].name, 'GLY')
154 self.assertEqual(len(cdp.mol[0].res[1].spin), 1)
155 self.assertEqual(cdp.mol[0].res[1].spin[0].num, 43)
156 self.assertEqual(cdp.mol[0].res[1].spin[0].name, 'N')
157
158
159 self.assertEqual(cdp.mol[0].res[2].num, 12)
160 self.assertEqual(cdp.mol[0].res[2].name, 'GLY')
161 self.assertEqual(len(cdp.mol[0].res[2].spin), 1)
162 self.assertEqual(cdp.mol[0].res[2].spin[0].num, 144)
163 self.assertEqual(cdp.mol[0].res[2].spin[0].name, 'N')
164
165
167 """Load the protein backbone amide N spins from a loaded PDB file."""
168
169
170 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)
171
172
173 self.interpreter.structure.load_spins(spin_id='@N')
174
175
176 self.assertEqual(len(cdp.mol), 1)
177 self.assertEqual(cdp.mol[0].name, 'Ap4Aase_res1-12_mol1')
178 self.assertEqual(len(cdp.mol[0].res), 12)
179
180
181 self.assertEqual(cdp.mol[0].res[0].num, 1)
182 self.assertEqual(cdp.mol[0].res[0].name, 'GLY')
183 self.assertEqual(len(cdp.mol[0].res[0].spin), 1)
184 self.assertEqual(cdp.mol[0].res[0].spin[0].num, 1)
185 self.assertEqual(cdp.mol[0].res[0].spin[0].name, 'N')
186
187
188 self.assertEqual(cdp.mol[0].res[1].num, 2)
189 self.assertEqual(cdp.mol[0].res[1].name, 'PRO')
190 self.assertEqual(len(cdp.mol[0].res[1].spin), 1)
191 self.assertEqual(cdp.mol[0].res[1].spin[0].num, 10)
192 self.assertEqual(cdp.mol[0].res[1].spin[0].name, 'N')
193
194
195 self.assertEqual(cdp.mol[0].res[2].num, 3)
196 self.assertEqual(cdp.mol[0].res[2].name, 'LEU')
197 self.assertEqual(len(cdp.mol[0].res[2].spin), 1)
198 self.assertEqual(cdp.mol[0].res[2].spin[0].num, 24)
199 self.assertEqual(cdp.mol[0].res[2].spin[0].name, 'N')
200
201
202 self.assertEqual(cdp.mol[0].res[3].num, 4)
203 self.assertEqual(cdp.mol[0].res[3].name, 'GLY')
204 self.assertEqual(len(cdp.mol[0].res[3].spin), 1)
205 self.assertEqual(cdp.mol[0].res[3].spin[0].num, 43)
206 self.assertEqual(cdp.mol[0].res[3].spin[0].name, 'N')
207
208
209 self.assertEqual(cdp.mol[0].res[4].num, 5)
210 self.assertEqual(cdp.mol[0].res[4].name, 'SER')
211 self.assertEqual(len(cdp.mol[0].res[4].spin), 1)
212 self.assertEqual(cdp.mol[0].res[4].spin[0].num, 50)
213 self.assertEqual(cdp.mol[0].res[4].spin[0].name, 'N')
214
215
216 self.assertEqual(cdp.mol[0].res[5].num, 6)
217 self.assertEqual(cdp.mol[0].res[5].name, 'MET')
218 self.assertEqual(len(cdp.mol[0].res[5].spin), 1)
219 self.assertEqual(cdp.mol[0].res[5].spin[0].num, 61)
220 self.assertEqual(cdp.mol[0].res[5].spin[0].name, 'N')
221
222
223 self.assertEqual(cdp.mol[0].res[6].num, 7)
224 self.assertEqual(cdp.mol[0].res[6].name, 'ASP')
225 self.assertEqual(len(cdp.mol[0].res[6].spin), 1)
226 self.assertEqual(cdp.mol[0].res[6].spin[0].num, 78)
227 self.assertEqual(cdp.mol[0].res[6].spin[0].name, 'N')
228
229
230 self.assertEqual(cdp.mol[0].res[7].num, 8)
231 self.assertEqual(cdp.mol[0].res[7].name, 'SER')
232 self.assertEqual(len(cdp.mol[0].res[7].spin), 1)
233 self.assertEqual(cdp.mol[0].res[7].spin[0].num, 90)
234 self.assertEqual(cdp.mol[0].res[7].spin[0].name, 'N')
235
236
237 self.assertEqual(cdp.mol[0].res[8].num, 9)
238 self.assertEqual(cdp.mol[0].res[8].name, 'PRO')
239 self.assertEqual(len(cdp.mol[0].res[8].spin), 1)
240 self.assertEqual(cdp.mol[0].res[8].spin[0].num, 101)
241 self.assertEqual(cdp.mol[0].res[8].spin[0].name, 'N')
242
243
244 self.assertEqual(cdp.mol[0].res[9].num, 10)
245 self.assertEqual(cdp.mol[0].res[9].name, 'PRO')
246 self.assertEqual(len(cdp.mol[0].res[9].spin), 1)
247 self.assertEqual(cdp.mol[0].res[9].spin[0].num, 115)
248 self.assertEqual(cdp.mol[0].res[9].spin[0].name, 'N')
249
250
251 self.assertEqual(cdp.mol[0].res[10].num, 11)
252 self.assertEqual(cdp.mol[0].res[10].name, 'GLU')
253 self.assertEqual(len(cdp.mol[0].res[10].spin), 1)
254 self.assertEqual(cdp.mol[0].res[10].spin[0].num, 129)
255 self.assertEqual(cdp.mol[0].res[10].spin[0].name, 'N')
256
257
258 self.assertEqual(cdp.mol[0].res[11].num, 12)
259 self.assertEqual(cdp.mol[0].res[11].name, 'GLY')
260 self.assertEqual(len(cdp.mol[0].res[11].spin), 1)
261 self.assertEqual(cdp.mol[0].res[11].spin[0].num, 144)
262 self.assertEqual(cdp.mol[0].res[11].spin[0].name, 'N')
263
264
266 """The sequence.read() test."""
267
268
269 self.interpreter.sequence.read(file='test_seq', dir=status.install_path + sep+'test_suite'+sep+'shared_data', res_num_col=1, res_name_col=2)
270
271
273 """Test the sequence.copy user function."""
274
275
276 self.interpreter.spin.create(spin_name='A', spin_num=1, res_num=1)
277 self.interpreter.spin.create(spin_name='A', spin_num=2, res_num=1)
278 self.interpreter.spin.create(spin_name='B', spin_num=3, res_num=1)
279 self.interpreter.spin.create(spin_name='B2', spin_num=4, res_num=1)
280 self.interpreter.spin.create(spin_name='A', spin_num=1, res_num=2)
281 self.interpreter.spin.create(spin_name='A', spin_num=2, res_num=2)
282 self.interpreter.spin.create(spin_name='B', spin_num=3, res_num=2)
283 self.interpreter.spin.create(spin_name='B2', spin_num=4, res_num=2)
284
285
286 self.interpreter.pipe.create('seq copy test', 'mf')
287
288
289 self.interpreter.sequence.copy(pipe_from='mf')
290
291
292 pipe1 = ds['mf']
293 pipe2 = ds['seq copy test']
294
295
296 self.assertEqual(len(pipe1.mol[0].res), len(pipe2.mol[0].res))
297
298
299 for i in range(len(pipe1.mol[0].res)):
300 self.assertEqual(len(pipe1.mol[0].res[i].spin), len(pipe2.mol[0].res[i].spin))
301