1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 from os import sep
26
27
28 from data_store import Relax_data_store; ds = Relax_data_store()
29 import dep_check
30 from pipe_control.mol_res_spin import spin_loop
31 from status import Status; status = Status()
32 from test_suite.system_tests.base_classes import SystemTestCase
33
34
36 """TestCase class for the functional tests for the support of different peak intensity files."""
37
38 - def __init__(self, methodName='runTest'):
39 """Skip the tests if the C modules are non-functional.
40
41 @keyword methodName: The name of the test.
42 @type methodName: str
43 """
44
45
46 super(Peak_lists, self).__init__(methodName)
47
48
49 if not dep_check.C_module_exp_fn and methodName in ['test_bug_17276_peak_lists', 'test_bug_20873_peak_lists', 'test_ccpn_analysis']:
50
51 status.skipped_tests.append([methodName, 'Relax curve-fitting C module', self._skip_type])
52
53
59
60
62 """Test catching U{bug #17276<https://web.archive.org/web/https://gna.org/bugs/?17276>}, the duplicated peak list reading failure submitted by Leanne Minall."""
63
64
65 self.script_exec(status.install_path + sep+'test_suite'+sep+'system_tests'+sep+'scripts'+sep+'bug_17276_peak_lists.py')
66
67
69 """Test catching U{bug #20873<https://web.archive.org/web/https://gna.org/bugs/?20873>}, the custom peak intensity reading with a list of spectrum_ids submitted by Troels E. Linnet."""
70
71
72 path = status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists'
73
74
75 self.interpreter.pipe.create(pipe_name='origin rx', pipe_type='relax_fit', bundle='rx')
76
77
78 self.interpreter.sequence.read(file='test.seq', dir=path, spin_id_col=None, mol_name_col=1, res_num_col=2, res_name_col=3, spin_num_col=4, spin_name_col=5, sep=None, spin_id=None)
79
80
81 self.interpreter.spectrum.read_intensities(file='test.seq', dir=path, spectrum_id=['2', '0'], dim=1, int_method='height', int_col=[6, 7], spin_id_col=None, mol_name_col=1, res_num_col=2, res_name_col=3, spin_num_col=4, spin_name_col=5, sep=None, spin_id=None, ncproc=None)
82
83
84 data_2 = [337765.90000000002, 1697771.0, 867389.80000000005, 2339480.0, 2574062.0, 1609356.0, 2179341.0, 1563795.0, 1535896.0, 3578841.0]
85 data_0 = [636244.59999999998, 3015788.0, 1726064.0, 4039142.0, 4313824.0, 2927111.0, 4067343.0, 2921316.0, 3005234.0, 6352595.0]
86
87
88 for i in range(len(cdp.mol[0].res)):
89
90 spin = cdp.mol[0].res[i].spin[0]
91
92
93 self.assertEqual(spin.peak_intensity['0'], data_0[i])
94 self.assertEqual(spin.peak_intensity['2'], data_2[i])
95
96
98 """Test U{bug #17341<https://web.archive.org/web/https://gna.org/bugs/index.php?17341>}, the CCPN Analysis 2.1 peak list reading submitted by Madeleine Strickland."""
99
100
101 self.script_exec(status.install_path + sep+'test_suite'+sep+'system_tests'+sep+'scripts'+sep+'peak_lists'+sep+'ccpn_analysis.py')
102
103
104 names = ['T1A_0010', 'T1A_0020', 'T1A_0030', 'T1A_0050', 'T1A_0070', 'T1A_0100', 'T1A_0150', 'T1A_0200', 'T1A_0300', 'T1A_0400', 'T1A_0600', 'T1A_0800', 'T1A_1000', 'T1A_1200']
105
106
107 times = [0.01, 0.02, 0.03, 0.05, 0.07, 0.1, 0.15, 0.2, 0.3, 0.4, 0.6, 0.8, 1.0, 1.2]
108
109
110 for i in range(len(times)):
111 self.assertEqual(cdp.spectrum_ids[i], names[i])
112 self.assertEqual(cdp.relax_times[names[i]], times[i])
113
114
115 heights = [
116 [1.41e06, 1.33e06, 1.31e06, 1.31e06, 1.28e06, 1.20e06, 1.18e06, 1.07e06, 9.70e05, 8.47e05, 7.00e05, 5.25e05, 4.23e05, 3.10e05],
117 [1.79e06, 1.76e06, 1.71e06, 1.70e06, 1.66e06, 1.56e06, 1.51e06, 1.41e06, 1.24e06, 1.11e06, 8.43e05, 6.79e05, 5.04e05, 4.18e05]
118 ]
119
120
121 for spin, mol_name, res_num, res_name in spin_loop(full_info=True):
122
123 if res_num == 1501:
124 index = 0
125 elif res_num == 1504:
126 index = 1
127
128
129 else:
130
131 self.assertTrue(not hasattr(spin, 'peak_intensity'))
132
133
134 continue
135
136
137 self.assertTrue(hasattr(spin, 'peak_intensity'))
138
139
140 for i in range(len(times)):
141 self.assertEqual(spin.peak_intensity[names[i]], heights[index][i])
142
143
145 """Test the reading of spins from a generic peak intensity list."""
146
147
148 self.interpreter.spectrum.read_spins(file="generic_intensity.txt", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', res_num_col=1, res_name_col=2)
149
150
151 self.assertEqual(len(cdp.mol), 1)
152 self.assertEqual(cdp.mol[0].name, None)
153 self.assertEqual(len(cdp.mol[0].res), 5)
154
155
156 self.assertEqual(cdp.mol[0].res[0].num, 20)
157 self.assertEqual(cdp.mol[0].res[0].name, 'GLY')
158 self.assertEqual(len(cdp.mol[0].res[0].spin), 1)
159 self.assertEqual(cdp.mol[0].res[0].spin[0].num, None)
160 self.assertEqual(cdp.mol[0].res[0].spin[0].name, None)
161
162
163 self.assertEqual(cdp.mol[0].res[1].num, 23)
164 self.assertEqual(cdp.mol[0].res[1].name, 'ALA')
165 self.assertEqual(len(cdp.mol[0].res[1].spin), 1)
166 self.assertEqual(cdp.mol[0].res[1].spin[0].num, None)
167 self.assertEqual(cdp.mol[0].res[1].spin[0].name, None)
168
169
170 self.assertEqual(cdp.mol[0].res[2].num, 34)
171 self.assertEqual(cdp.mol[0].res[2].name, 'CYS')
172 self.assertEqual(len(cdp.mol[0].res[2].spin), 1)
173 self.assertEqual(cdp.mol[0].res[2].spin[0].num, None)
174 self.assertEqual(cdp.mol[0].res[2].spin[0].name, None)
175
176
177 self.assertEqual(cdp.mol[0].res[3].num, 35)
178 self.assertEqual(cdp.mol[0].res[3].name, 'MET')
179 self.assertEqual(len(cdp.mol[0].res[3].spin), 1)
180 self.assertEqual(cdp.mol[0].res[3].spin[0].num, None)
181 self.assertEqual(cdp.mol[0].res[3].spin[0].name, None)
182
183
184 self.assertEqual(cdp.mol[0].res[4].num, 36)
185 self.assertEqual(cdp.mol[0].res[4].name, 'LYS')
186 self.assertEqual(len(cdp.mol[0].res[4].spin), 1)
187 self.assertEqual(cdp.mol[0].res[4].spin[0].num, None)
188 self.assertEqual(cdp.mol[0].res[4].spin[0].name, None)
189
190
192 """Test the reading of spins with spin name in columns from a generic peak intensity list."""
193
194
195 self.interpreter.spectrum.read_spins(file='test.seq', dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', mol_name_col=1, res_num_col=2, res_name_col=3, spin_num_col=4, spin_name_col=5)
196
197
198 self.assertEqual(len(cdp.mol), 1)
199 self.assertEqual(cdp.mol[0].name, 'protein')
200 self.assertEqual(len(cdp.mol[0].res), 10)
201
202
203 self.assertEqual(cdp.mol[0].res[0].num, 10)
204 self.assertEqual(cdp.mol[0].res[0].name, 'L')
205 self.assertEqual(len(cdp.mol[0].res[0].spin), 1)
206 self.assertEqual(cdp.mol[0].res[0].spin[0].num, 10)
207 self.assertEqual(cdp.mol[0].res[0].spin[0].name, 'N')
208
209
210 self.assertEqual(cdp.mol[0].res[1].num, 6)
211 self.assertEqual(cdp.mol[0].res[1].name, 'V')
212 self.assertEqual(len(cdp.mol[0].res[1].spin), 1)
213 self.assertEqual(cdp.mol[0].res[1].spin[0].num, 6)
214 self.assertEqual(cdp.mol[0].res[1].spin[0].name, 'N')
215
216
218 """Test the reading of an NMRView peak list."""
219
220
221 self.interpreter.spectrum.read_spins(file="cNTnC.xpk", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', dim=1)
222 self.interpreter.spectrum.read_spins(file="cNTnC.xpk", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', dim=2)
223
224
225 self.assertEqual(len(cdp.mol), 1)
226 self.assertEqual(cdp.mol[0].name, None)
227 self.assertEqual(len(cdp.mol[0].res), 2)
228
229
230 self.assertEqual(cdp.mol[0].res[0].num, 70)
231 self.assertEqual(cdp.mol[0].res[0].name, None)
232 self.assertEqual(len(cdp.mol[0].res[0].spin), 2)
233 self.assertEqual(cdp.mol[0].res[0].spin[0].num, None)
234 self.assertEqual(cdp.mol[0].res[0].spin[0].name, 'N')
235 self.assertEqual(cdp.mol[0].res[0].spin[1].num, None)
236 self.assertEqual(cdp.mol[0].res[0].spin[1].name, 'HN')
237
238
239 self.assertEqual(cdp.mol[0].res[1].num, 72)
240 self.assertEqual(cdp.mol[0].res[1].name, None)
241 self.assertEqual(len(cdp.mol[0].res[1].spin), 2)
242 self.assertEqual(cdp.mol[0].res[1].spin[0].num, None)
243 self.assertEqual(cdp.mol[0].res[1].spin[0].name, 'N')
244 self.assertEqual(cdp.mol[0].res[1].spin[1].num, None)
245 self.assertEqual(cdp.mol[0].res[1].spin[1].name, 'HN')
246
247
249 """Test the reading of an NMRPipe seriesTab peak list."""
250
251
252 self.interpreter.spectrum.read_spins(file="seriesTab.ser", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', dim=1)
253 self.interpreter.spectrum.read_spins(file="seriesTab.ser", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', dim=2)
254
255
256 self.assertEqual(len(cdp.mol), 1)
257 self.assertEqual(cdp.mol[0].name, None)
258 self.assertEqual(len(cdp.mol[0].res), 3)
259
260
261 self.assertEqual(cdp.mol[0].res[0].num, 62)
262 self.assertEqual(cdp.mol[0].res[0].name, 'W')
263 self.assertEqual(len(cdp.mol[0].res[0].spin), 2)
264 self.assertEqual(cdp.mol[0].res[0].spin[0].num, None)
265 self.assertEqual(cdp.mol[0].res[0].spin[0].name, 'NE1')
266 self.assertEqual(cdp.mol[0].res[0].spin[1].num, None)
267 self.assertEqual(cdp.mol[0].res[0].spin[1].name, 'HE1')
268
269
270 self.assertEqual(cdp.mol[0].res[1].num, 10)
271 self.assertEqual(cdp.mol[0].res[1].name, 'L')
272 self.assertEqual(len(cdp.mol[0].res[1].spin), 2)
273 self.assertEqual(cdp.mol[0].res[1].spin[0].num, None)
274 self.assertEqual(cdp.mol[0].res[1].spin[0].name, 'N')
275 self.assertEqual(cdp.mol[0].res[1].spin[1].num, None)
276 self.assertEqual(cdp.mol[0].res[1].spin[1].name, 'HN')
277
278
279 self.assertEqual(cdp.mol[0].res[2].num, 6)
280 self.assertEqual(cdp.mol[0].res[2].name, 'V')
281 self.assertEqual(len(cdp.mol[0].res[2].spin), 2)
282 self.assertEqual(cdp.mol[0].res[2].spin[0].num, None)
283 self.assertEqual(cdp.mol[0].res[2].spin[0].name, 'N')
284 self.assertEqual(cdp.mol[0].res[2].spin[1].num, None)
285 self.assertEqual(cdp.mol[0].res[2].spin[1].name, 'HN')
286
287
289 """Test the reading of an NMRPipe seriesTab peak list."""
290
291
292 self.interpreter.spectrum.read_spins(file="seriesTab_multi.ser", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', dim=1)
293 self.interpreter.spectrum.read_spins(file="seriesTab_multi.ser", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', dim=2)
294
295
296 self.assertEqual(len(cdp.mol), 1)
297 self.assertEqual(cdp.mol[0].name, None)
298 self.assertEqual(len(cdp.mol[0].res), 5)
299
300
301 self.assertEqual(cdp.mol[0].res[0].num, 2)
302 self.assertEqual(cdp.mol[0].res[0].name, 'T')
303 self.assertEqual(len(cdp.mol[0].res[0].spin), 2)
304 self.assertEqual(cdp.mol[0].res[0].spin[0].num, None)
305 self.assertEqual(cdp.mol[0].res[0].spin[0].name, 'N')
306 self.assertEqual(cdp.mol[0].res[0].spin[1].num, None)
307 self.assertEqual(cdp.mol[0].res[0].spin[1].name, 'HN')
308
309
310 self.assertEqual(cdp.mol[0].res[1].num, 3)
311 self.assertEqual(cdp.mol[0].res[1].name, 'K')
312 self.assertEqual(len(cdp.mol[0].res[1].spin), 1)
313 self.assertEqual(cdp.mol[0].res[1].spin[0].num, None)
314 self.assertEqual(cdp.mol[0].res[1].spin[0].name, 'N')
315
316
317 self.assertEqual(cdp.mol[0].res[2].num, 4)
318 self.assertEqual(cdp.mol[0].res[2].name, 'A')
319 self.assertEqual(len(cdp.mol[0].res[2].spin), 1)
320 self.assertEqual(cdp.mol[0].res[2].spin[0].num, None)
321 self.assertEqual(cdp.mol[0].res[2].spin[0].name, 'N')
322
323
324 self.assertEqual(cdp.mol[0].res[3].num, 5)
325 self.assertEqual(cdp.mol[0].res[3].name, 'V')
326 self.assertEqual(len(cdp.mol[0].res[3].spin), 1)
327 self.assertEqual(cdp.mol[0].res[3].spin[0].num, None)
328 self.assertEqual(cdp.mol[0].res[3].spin[0].name, 'N')
329
330
332 """Test the reading of an NMRPipe seriesTab peak list, with no assignment for second dimension."""
333
334
335 self.interpreter.spectrum.read_spins(file="folded_sparky_corr_final_max_standard_trunc.ser", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'dispersion'+sep+'KTeilum_FMPoulsen_MAkke_2006'+sep+'acbp_cpmg_disp_101MGuHCl_40C_041223', dim=1)
336 self.interpreter.spectrum.read_spins(file="folded_sparky_corr_final_max_standard_trunc.ser", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'dispersion'+sep+'KTeilum_FMPoulsen_MAkke_2006'+sep+'acbp_cpmg_disp_101MGuHCl_40C_041223', dim=2)
337
338
339 self.assertEqual(len(cdp.mol), 1)
340 self.assertEqual(cdp.mol[0].name, None)
341 self.assertEqual(len(cdp.mol[0].res), 1)
342
343
344 self.assertEqual(cdp.mol[0].res[0].num, 61)
345 self.assertEqual(cdp.mol[0].res[0].name, 'L')
346 self.assertEqual(len(cdp.mol[0].res[0].spin), 2)
347 self.assertEqual(cdp.mol[0].res[0].spin[0].num, None)
348 self.assertEqual(cdp.mol[0].res[0].spin[0].name, 'N')
349 self.assertEqual(cdp.mol[0].res[0].spin[1].num, None)
350 self.assertEqual(cdp.mol[0].res[0].spin[1].name, 'HN')
351
352
354 """Test the reading of spins from a Sparky peak list."""
355
356
357 self.interpreter.spectrum.read_spins(file="ref_ave.list", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', dim=1)
358 self.interpreter.spectrum.read_spins(file="ref_ave.list", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', dim=2)
359
360
361 self.assertEqual(len(cdp.mol), 1)
362 self.assertEqual(cdp.mol[0].name, None)
363 self.assertEqual(len(cdp.mol[0].res), 6)
364
365
366 self.assertEqual(cdp.mol[0].res[0].num, 3)
367 self.assertEqual(cdp.mol[0].res[0].name, 'LEU')
368 self.assertEqual(len(cdp.mol[0].res[0].spin), 2)
369 self.assertEqual(cdp.mol[0].res[0].spin[0].num, None)
370 self.assertEqual(cdp.mol[0].res[0].spin[0].name, 'N')
371 self.assertEqual(cdp.mol[0].res[0].spin[1].num, None)
372 self.assertEqual(cdp.mol[0].res[0].spin[1].name, 'HN')
373
374
375 self.assertEqual(cdp.mol[0].res[1].num, 4)
376 self.assertEqual(cdp.mol[0].res[1].name, 'GLY')
377 self.assertEqual(len(cdp.mol[0].res[1].spin), 2)
378 self.assertEqual(cdp.mol[0].res[1].spin[0].num, None)
379 self.assertEqual(cdp.mol[0].res[1].spin[0].name, 'N')
380
381
382 self.assertEqual(cdp.mol[0].res[2].num, 5)
383 self.assertEqual(cdp.mol[0].res[2].name, 'SER')
384 self.assertEqual(len(cdp.mol[0].res[2].spin), 2)
385 self.assertEqual(cdp.mol[0].res[2].spin[0].num, None)
386 self.assertEqual(cdp.mol[0].res[2].spin[0].name, 'N')
387
388
389 self.assertEqual(cdp.mol[0].res[3].num, 6)
390 self.assertEqual(cdp.mol[0].res[3].name, 'MET')
391 self.assertEqual(len(cdp.mol[0].res[3].spin), 2)
392 self.assertEqual(cdp.mol[0].res[3].spin[0].num, None)
393 self.assertEqual(cdp.mol[0].res[3].spin[0].name, 'N')
394
395
396 self.assertEqual(cdp.mol[0].res[4].num, 40)
397 self.assertEqual(cdp.mol[0].res[4].name, 'TRP')
398 self.assertEqual(len(cdp.mol[0].res[4].spin), 4)
399 self.assertEqual(cdp.mol[0].res[4].spin[0].num, None)
400 self.assertEqual(cdp.mol[0].res[4].spin[0].name, 'N')
401 self.assertEqual(cdp.mol[0].res[4].spin[1].num, None)
402 self.assertEqual(cdp.mol[0].res[4].spin[1].name, 'NE1')
403
404
405 self.assertEqual(cdp.mol[0].res[5].num, 55)
406 self.assertEqual(cdp.mol[0].res[5].name, 'ASN')
407 self.assertEqual(len(cdp.mol[0].res[5].spin), 2)
408 self.assertEqual(cdp.mol[0].res[5].spin[0].num, None)
409 self.assertEqual(cdp.mol[0].res[5].spin[0].name, 'N')
410
411
413 """Test the reading of spins from a Sparky peak list exported from CcpNmr Analysis."""
414
415
416 self.interpreter.spectrum.read_spins(file="peak_list_ccpnmr_analysis.list", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists')
417
418
419 self.assertEqual(len(cdp.mol), 1)
420 self.assertEqual(cdp.mol[0].name, None)
421 self.assertEqual(len(cdp.mol[0].res), 3)
422
423
424 self.assertEqual(cdp.mol[0].res[0].num, 76)
425 self.assertEqual(cdp.mol[0].res[0].name, 'L')
426 self.assertEqual(len(cdp.mol[0].res[0].spin), 1)
427 self.assertEqual(cdp.mol[0].res[0].spin[0].num, None)
428 self.assertEqual(cdp.mol[0].res[0].spin[0].name, 'N')
429
430
431 self.assertEqual(cdp.mol[0].res[1].num, 74)
432 self.assertEqual(cdp.mol[0].res[1].name, 'T')
433 self.assertEqual(len(cdp.mol[0].res[1].spin), 1)
434 self.assertEqual(cdp.mol[0].res[1].spin[0].num, None)
435 self.assertEqual(cdp.mol[0].res[1].spin[0].name, 'N')
436
437
438 self.assertEqual(cdp.mol[0].res[2].num, 31)
439 self.assertEqual(cdp.mol[0].res[2].name, 'T')
440 self.assertEqual(len(cdp.mol[0].res[2].spin), 1)
441 self.assertEqual(cdp.mol[0].res[2].spin[0].num, None)
442 self.assertEqual(cdp.mol[0].res[2].spin[0].name, 'N')
443
444
445 self.interpreter.spectrum.read_intensities(file="peak_list_ccpnmr_analysis.list", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', spectrum_id='test', int_method='height')
446
447
448 self.assertEqual(list(cdp.mol[0].res[0].spin[0].peak_intensity.values())[0], 2.32E+05)
449 self.assertEqual(list(cdp.mol[0].res[1].spin[0].peak_intensity.values())[0], 2.01E+05)
450 self.assertEqual(list(cdp.mol[0].res[2].spin[0].peak_intensity.values())[0], 2.08E+05)
451
452
454 """Test the reading of spins from a Sparky peak list with two dimensional assignment"""
455
456
457 self.interpreter.spectrum.read_spins(file="sparky2dim.list", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', dim=1)
458 self.interpreter.spectrum.read_spins(file="sparky2dim.list", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', dim=2)
459
460
461 self.assertEqual(len(cdp.mol), 1)
462 self.assertEqual(cdp.mol[0].name, None)
463 self.assertEqual(len(cdp.mol[0].res), 7)
464
465
466 self.assertEqual(cdp.mol[0].res[0].num, 62)
467 self.assertEqual(cdp.mol[0].res[0].name, 'W')
468 self.assertEqual(len(cdp.mol[0].res[0].spin), 2)
469 self.assertEqual(cdp.mol[0].res[0].spin[0].num, None)
470 self.assertEqual(cdp.mol[0].res[0].spin[0].name, 'NE1')
471 self.assertEqual(cdp.mol[0].res[0].spin[1].num, None)
472 self.assertEqual(cdp.mol[0].res[0].spin[1].name, 'HE1')
473
474
475 self.assertEqual(cdp.mol[0].res[1].num, 10)
476 self.assertEqual(cdp.mol[0].res[1].name, 'L')
477 self.assertEqual(len(cdp.mol[0].res[1].spin), 2)
478 self.assertEqual(cdp.mol[0].res[1].spin[0].num, None)
479 self.assertEqual(cdp.mol[0].res[1].spin[0].name, 'N')
480 self.assertEqual(cdp.mol[0].res[1].spin[1].num, None)
481 self.assertEqual(cdp.mol[0].res[1].spin[1].name, 'HN')
482
483
484 self.assertEqual(cdp.mol[0].res[2].num, 6)
485 self.assertEqual(cdp.mol[0].res[2].name, 'V')
486 self.assertEqual(len(cdp.mol[0].res[2].spin), 2)
487 self.assertEqual(cdp.mol[0].res[2].spin[0].num, None)
488 self.assertEqual(cdp.mol[0].res[2].spin[0].name, 'N')
489 self.assertEqual(cdp.mol[0].res[2].spin[1].num, None)
490 self.assertEqual(cdp.mol[0].res[2].spin[1].name, 'HN')
491
492
493 self.assertEqual(cdp.mol[0].res[3].num, 2)
494 self.assertEqual(cdp.mol[0].res[3].name, 'T')
495 self.assertEqual(len(cdp.mol[0].res[3].spin), 2)
496 self.assertEqual(cdp.mol[0].res[3].spin[0].num, None)
497 self.assertEqual(cdp.mol[0].res[3].spin[0].name, 'N')
498 self.assertEqual(cdp.mol[0].res[3].spin[1].num, None)
499 self.assertEqual(cdp.mol[0].res[3].spin[1].name, 'HN')
500
501
502 self.assertEqual(cdp.mol[0].res[4].num, 3)
503 self.assertEqual(cdp.mol[0].res[4].name, 'K')
504 self.assertEqual(len(cdp.mol[0].res[4].spin), 1)
505 self.assertEqual(cdp.mol[0].res[4].spin[0].num, None)
506 self.assertEqual(cdp.mol[0].res[4].spin[0].name, 'N')
507
508
509 self.assertEqual(cdp.mol[0].res[5].num, 4)
510 self.assertEqual(cdp.mol[0].res[5].name, 'A')
511 self.assertEqual(len(cdp.mol[0].res[5].spin), 1)
512 self.assertEqual(cdp.mol[0].res[5].spin[0].num, None)
513 self.assertEqual(cdp.mol[0].res[5].spin[0].name, 'N')
514
515
516 self.assertEqual(cdp.mol[0].res[6].num, 5)
517 self.assertEqual(cdp.mol[0].res[6].name, 'V')
518 self.assertEqual(len(cdp.mol[0].res[6].spin), 1)
519 self.assertEqual(cdp.mol[0].res[6].spin[0].num, None)
520 self.assertEqual(cdp.mol[0].res[6].spin[0].name, 'N')
521
522
524 """Test the reading of spins from a Sparky peak list with no intensity column."""
525
526
527 self.interpreter.spectrum.read_spins(file="sparky_wo_int.list", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', dim=1)
528 self.interpreter.spectrum.read_spins(file="sparky_wo_int.list", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', dim=2)
529
530
531 self.assertEqual(len(cdp.mol), 1)
532 self.assertEqual(cdp.mol[0].name, None)
533 self.assertEqual(len(cdp.mol[0].res), 7)
534
535
536 self.assertEqual(cdp.mol[0].res[0].num, 62)
537 self.assertEqual(cdp.mol[0].res[0].name, 'W')
538 self.assertEqual(len(cdp.mol[0].res[0].spin), 2)
539 self.assertEqual(cdp.mol[0].res[0].spin[0].num, None)
540 self.assertEqual(cdp.mol[0].res[0].spin[0].name, 'NE1')
541 self.assertEqual(cdp.mol[0].res[0].spin[1].num, None)
542 self.assertEqual(cdp.mol[0].res[0].spin[1].name, 'HE1')
543
544
545 self.assertEqual(cdp.mol[0].res[1].num, 10)
546 self.assertEqual(cdp.mol[0].res[1].name, 'L')
547 self.assertEqual(len(cdp.mol[0].res[1].spin), 2)
548 self.assertEqual(cdp.mol[0].res[1].spin[0].num, None)
549 self.assertEqual(cdp.mol[0].res[1].spin[0].name, 'N')
550 self.assertEqual(cdp.mol[0].res[1].spin[1].num, None)
551 self.assertEqual(cdp.mol[0].res[1].spin[1].name, 'HN')
552
553
554 self.assertEqual(cdp.mol[0].res[2].num, 6)
555 self.assertEqual(cdp.mol[0].res[2].name, 'V')
556 self.assertEqual(len(cdp.mol[0].res[2].spin), 2)
557 self.assertEqual(cdp.mol[0].res[2].spin[0].num, None)
558 self.assertEqual(cdp.mol[0].res[2].spin[0].name, 'N')
559 self.assertEqual(cdp.mol[0].res[2].spin[1].num, None)
560 self.assertEqual(cdp.mol[0].res[2].spin[1].name, 'HN')
561
562
563 self.assertEqual(cdp.mol[0].res[3].num, 2)
564 self.assertEqual(cdp.mol[0].res[3].name, 'T')
565 self.assertEqual(len(cdp.mol[0].res[3].spin), 2)
566 self.assertEqual(cdp.mol[0].res[3].spin[0].num, None)
567 self.assertEqual(cdp.mol[0].res[3].spin[0].name, 'N')
568 self.assertEqual(cdp.mol[0].res[3].spin[1].num, None)
569 self.assertEqual(cdp.mol[0].res[3].spin[1].name, 'HN')
570
571
572 self.assertEqual(cdp.mol[0].res[4].num, 3)
573 self.assertEqual(cdp.mol[0].res[4].name, 'K')
574 self.assertEqual(len(cdp.mol[0].res[4].spin), 1)
575 self.assertEqual(cdp.mol[0].res[4].spin[0].num, None)
576 self.assertEqual(cdp.mol[0].res[4].spin[0].name, 'N')
577
578
579 self.assertEqual(cdp.mol[0].res[5].num, 4)
580 self.assertEqual(cdp.mol[0].res[5].name, 'A')
581 self.assertEqual(len(cdp.mol[0].res[5].spin), 1)
582 self.assertEqual(cdp.mol[0].res[5].spin[0].num, None)
583 self.assertEqual(cdp.mol[0].res[5].spin[0].name, 'N')
584
585
586 self.assertEqual(cdp.mol[0].res[6].num, 5)
587 self.assertEqual(cdp.mol[0].res[6].name, 'V')
588 self.assertEqual(len(cdp.mol[0].res[6].spin), 1)
589 self.assertEqual(cdp.mol[0].res[6].spin[0].num, None)
590 self.assertEqual(cdp.mol[0].res[6].spin[0].name, 'N')
591
592
594 """Test the reading of spins from an XEasy peak list."""
595
596
597 self.interpreter.spectrum.read_spins(file="xeasy_r1_20ms.text", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists')
598
599
600 self.assertEqual(len(cdp.mol), 1)
601 self.assertEqual(cdp.mol[0].name, None)
602 self.assertEqual(len(cdp.mol[0].res), 21)
603
604
605 self.assertEqual(cdp.mol[0].res[0].num, 21)
606 self.assertEqual(cdp.mol[0].res[0].name, 'LEU')
607 self.assertEqual(len(cdp.mol[0].res[0].spin), 1)
608 self.assertEqual(cdp.mol[0].res[0].spin[0].num, None)
609 self.assertEqual(cdp.mol[0].res[0].spin[0].name, 'N')
610
611
612 self.assertEqual(cdp.mol[0].res[1].num, 79)
613 self.assertEqual(cdp.mol[0].res[1].name, 'TRP')
614 self.assertEqual(len(cdp.mol[0].res[1].spin), 1)
615 self.assertEqual(cdp.mol[0].res[1].spin[0].num, None)
616 self.assertEqual(cdp.mol[0].res[1].spin[0].name, 'NE1')
617
618
619 self.assertEqual(cdp.mol[0].res[2].num, 110)
620 self.assertEqual(cdp.mol[0].res[2].name, 'PHE')
621 self.assertEqual(len(cdp.mol[0].res[2].spin), 1)
622 self.assertEqual(cdp.mol[0].res[2].spin[0].num, None)
623 self.assertEqual(cdp.mol[0].res[2].spin[0].name, 'N')
624
625
626 self.assertEqual(cdp.mol[0].res[9].num, 107)
627 self.assertEqual(cdp.mol[0].res[9].name, 'TRP')
628 self.assertEqual(len(cdp.mol[0].res[9].spin), 2)
629 self.assertEqual(cdp.mol[0].res[9].spin[0].num, None)
630 self.assertEqual(cdp.mol[0].res[9].spin[0].name, 'N')
631 self.assertEqual(cdp.mol[0].res[9].spin[1].num, None)
632 self.assertEqual(cdp.mol[0].res[9].spin[1].name, 'C')
633
634
636 """Test the reading of a generic peak intensity list."""
637
638
639 self.interpreter.residue.create(20, 'GLY')
640 self.interpreter.residue.create(23, 'ALA')
641 self.interpreter.residue.create(34, 'CYS')
642 self.interpreter.residue.create(35, 'MET')
643 self.interpreter.residue.create(36, 'LYS')
644 self.interpreter.spin.name(name='N')
645
646
647 delays = [0.0109016,
648 0.0218032,
649 0.0436064,
650 0.0436064,
651 0.0872128,
652 0.1744260,
653 0.3488510,
654 0.6977020,
655 1.3954000,
656 1.9949900]
657
658
659 for i in range(10):
660
661 self.interpreter.spectrum.read_intensities(file="generic_intensity.txt", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', spectrum_id=repr(i), int_method='height', int_col=i+3, res_num_col=1, res_name_col=2)
662
663
664 self.interpreter.relax_fit.relax_time(time=delays[i], spectrum_id=repr(i))
665
666
667 heights = [[1.0000, 0.9714, 0.9602, 0.9626, 0.8839, 0.8327, 0.7088, 0.5098, 0.2410, 0.1116],
668 [1.0000, 0.9789, 0.9751, 0.9762, 0.9074, 0.8532, 0.7089, 0.5170, 0.2444, 0.1537],
669 [1.0000, 0.9659, 0.9580, 0.9559, 0.9325, 0.8460, 0.7187, 0.5303, 0.2954, 0.1683],
670 [1.0000, 0.9657, 0.9389, 0.9366, 0.9331, 0.8683, 0.7169, 0.5357, 0.2769, 0.1625],
671 [1.0000, 1.0060, 0.9556, 0.9456, 0.9077, 0.8411, 0.6788, 0.4558, 0.2448, 0.1569]
672 ]
673
674
675 for i in range(10):
676 for j in range(5):
677 self.assertEqual(cdp.mol[0].res[j].spin[0].peak_intensity[repr(i)], heights[j][i])
678
679
694
695
714
715
717 """Test the reading of an NMRPipe seriesTab peak list."""
718
719
720 self.interpreter.residue.create(res_num = 2)
721 self.interpreter.spin.name(name='N', spin_id=':2')
722 self.interpreter.residue.create(res_num = 3)
723 self.interpreter.spin.name(name='N', spin_id=':3')
724 self.interpreter.residue.create(res_num = 4)
725 self.interpreter.spin.name(name='N', spin_id=':4')
726 self.interpreter.residue.create(res_num = 5)
727 self.interpreter.spin.name(name='N', spin_id=':5')
728 self.interpreter.residue.create(res_num = 6)
729 self.interpreter.spin.name(name='N', spin_id=':6')
730
731
732 self.interpreter.spectrum.read_intensities(file="seriesTab_multi.ser", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', spectrum_id='auto', int_method='point sum')
733
734
735 self.assertAlmostEqual(cdp.mol[0].res[0].spin[0].peak_intensity['Z_A0'], 1179448.0)
736 self.assertAlmostEqual(cdp.mol[0].res[1].spin[0].peak_intensity['Z_A0'], 4407306.0)
737 self.assertAlmostEqual(cdp.mol[0].res[2].spin[0].peak_intensity['Z_A0'], 3480382.0)
738 self.assertAlmostEqual(cdp.mol[0].res[3].spin[0].peak_intensity['Z_A0'], 4306408.0)
739 self.assertAlmostEqual(cdp.mol[0].res[4].spin[0].peak_intensity['Z_A0'], 3454030.0)
740 self.assertAlmostEqual(cdp.mol[0].res[0].spin[0].peak_intensity['Z_A1'], 1411799.256)
741 self.assertAlmostEqual(cdp.mol[0].res[1].spin[0].peak_intensity['Z_A1'], 5263645.5558)
742 self.assertAlmostEqual(cdp.mol[0].res[2].spin[0].peak_intensity['Z_A1'], 4159404.5282)
743 self.assertAlmostEqual(cdp.mol[0].res[3].spin[0].peak_intensity['Z_A1'], 5147018.8416)
744 self.assertAlmostEqual(cdp.mol[0].res[4].spin[0].peak_intensity['Z_A1'], 4132401.492)
745 self.assertAlmostEqual(cdp.mol[0].res[0].spin[0].peak_intensity['Z_A2'], 1411209.532)
746 self.assertAlmostEqual(cdp.mol[0].res[1].spin[0].peak_intensity['Z_A2'], 5262764.0946)
747 self.assertAlmostEqual(cdp.mol[0].res[2].spin[0].peak_intensity['Z_A2'], 4159404.5282)
748 self.assertAlmostEqual(cdp.mol[0].res[3].spin[0].peak_intensity['Z_A2'], 5147018.8416)
749 self.assertAlmostEqual(cdp.mol[0].res[4].spin[0].peak_intensity['Z_A2'], 4133092.298)
750 self.assertAlmostEqual(cdp.mol[0].res[0].spin[0].peak_intensity['Z_A3'], 1408496.8016)
751 self.assertAlmostEqual(cdp.mol[0].res[1].spin[0].peak_intensity['Z_A3'], 5264527.017)
752 self.assertAlmostEqual(cdp.mol[0].res[2].spin[0].peak_intensity['Z_A3'], 4162536.872)
753 self.assertAlmostEqual(cdp.mol[0].res[3].spin[0].peak_intensity['Z_A3'], 5146588.2008)
754 self.assertAlmostEqual(cdp.mol[0].res[4].spin[0].peak_intensity['Z_A3'], 4134128.507)
755 self.assertAlmostEqual(cdp.mol[0].res[0].spin[0].peak_intensity['Z_A4'], 1411327.4768)
756 self.assertAlmostEqual(cdp.mol[0].res[1].spin[0].peak_intensity['Z_A4'], 5258797.5192)
757 self.assertAlmostEqual(cdp.mol[0].res[2].spin[0].peak_intensity['Z_A4'], 4163232.9484)
758 self.assertAlmostEqual(cdp.mol[0].res[3].spin[0].peak_intensity['Z_A4'], 5162952.5512)
759 self.assertAlmostEqual(cdp.mol[0].res[4].spin[0].peak_intensity['Z_A4'], 4119966.984)
760 self.assertAlmostEqual(cdp.mol[0].res[0].spin[0].peak_intensity['Z_A5'], 1414040.2072)
761 self.assertAlmostEqual(cdp.mol[0].res[1].spin[0].peak_intensity['Z_A5'], 5275104.5514)
762 self.assertAlmostEqual(cdp.mol[0].res[2].spin[0].peak_intensity['Z_A5'], 4150703.5732)
763 self.assertAlmostEqual(cdp.mol[0].res[3].spin[0].peak_intensity['Z_A5'], 5151755.8904)
764 self.assertAlmostEqual(cdp.mol[0].res[4].spin[0].peak_intensity['Z_A5'], 4128947.462)
765 self.assertAlmostEqual(cdp.mol[0].res[0].spin[0].peak_intensity['Z_A6'], 1406727.6296)
766 self.assertAlmostEqual(cdp.mol[0].res[1].spin[0].peak_intensity['Z_A6'], 5265849.2088)
767 self.assertAlmostEqual(cdp.mol[0].res[2].spin[0].peak_intensity['Z_A6'], 4158360.4136)
768 self.assertAlmostEqual(cdp.mol[0].res[3].spin[0].peak_intensity['Z_A6'], 5149172.0456)
769 self.assertAlmostEqual(cdp.mol[0].res[4].spin[0].peak_intensity['Z_A6'], 4130674.477)
770 self.assertAlmostEqual(cdp.mol[0].res[0].spin[0].peak_intensity['Z_A7'], 1415691.4344)
771 self.assertAlmostEqual(cdp.mol[0].res[1].spin[0].peak_intensity['Z_A7'], 5267171.4006)
772 self.assertAlmostEqual(cdp.mol[0].res[2].spin[0].peak_intensity['Z_A7'], 4144438.8856)
773 self.assertAlmostEqual(cdp.mol[0].res[3].spin[0].peak_intensity['Z_A7'], 5137114.1032)
774 self.assertAlmostEqual(cdp.mol[0].res[4].spin[0].peak_intensity['Z_A7'], 4127911.253)
775 self.assertAlmostEqual(cdp.mol[0].res[0].spin[0].peak_intensity['Z_A8'], 1401184.224)
776 self.assertAlmostEqual(cdp.mol[0].res[1].spin[0].peak_intensity['Z_A8'], 5264527.017)
777 self.assertAlmostEqual(cdp.mol[0].res[2].spin[0].peak_intensity['Z_A8'], 4149659.4586)
778 self.assertAlmostEqual(cdp.mol[0].res[3].spin[0].peak_intensity['Z_A8'], 5144004.356)
779 self.assertAlmostEqual(cdp.mol[0].res[4].spin[0].peak_intensity['Z_A8'], 4133783.104)
780 self.assertAlmostEqual(cdp.mol[0].res[0].spin[0].peak_intensity['Z_A9'], 1415573.4896)
781 self.assertAlmostEqual(cdp.mol[0].res[1].spin[0].peak_intensity['Z_A9'], 5261882.6334)
782 self.assertAlmostEqual(cdp.mol[0].res[2].spin[0].peak_intensity['Z_A9'], 4138870.2744)
783 self.assertAlmostEqual(cdp.mol[0].res[3].spin[0].peak_intensity['Z_A9'], 5123764.2384)
784 self.assertAlmostEqual(cdp.mol[0].res[4].spin[0].peak_intensity['Z_A9'], 4128602.059)
785
786
805
806
808 """Test the reading of two Sparky peak lists simultaneously."""
809
810
811 self.interpreter.residue.create(3)
812 self.interpreter.residue.create(4)
813 self.interpreter.residue.create(5)
814 self.interpreter.residue.create(6)
815 self.interpreter.spin.name(name='N')
816
817
818 self.interpreter.spectrum.read_intensities(file=["ref_ave.list", "sat_ave.list"], dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', spectrum_id=['ref', 'sat'], int_method='height')
819
820
821 self.assertEqual(cdp.mol[0].res[0].spin[0].peak_intensity['ref'], 6262)
822 self.assertEqual(cdp.mol[0].res[0].spin[0].peak_intensity['sat'], 2535.0)
823 self.assertEqual(cdp.mol[0].res[1].spin[0].peak_intensity['ref'], 148614)
824 self.assertEqual(cdp.mol[0].res[1].spin[0].peak_intensity['sat'], 5050.0)
825 self.assertEqual(cdp.mol[0].res[2].spin[0].peak_intensity['ref'], 166842)
826 self.assertEqual(cdp.mol[0].res[2].spin[0].peak_intensity['sat'], 51643.0)
827 self.assertEqual(cdp.mol[0].res[3].spin[0].peak_intensity['ref'], 128690)
828 self.assertEqual(cdp.mol[0].res[3].spin[0].peak_intensity['sat'], 53663.0)
829
830
832 """Test the reading of an XEasy peak list."""
833
834
835 self.interpreter.residue.create(15)
836 self.interpreter.residue.create(21)
837 self.interpreter.residue.create(22)
838 self.interpreter.residue.create(29)
839 self.interpreter.residue.create(52)
840 self.interpreter.residue.create(69)
841 self.interpreter.residue.create(70)
842 self.interpreter.residue.create(73)
843 self.interpreter.residue.create(79)
844 self.interpreter.residue.create(84)
845 self.interpreter.residue.create(87)
846 self.interpreter.residue.create(95)
847 self.interpreter.residue.create(96)
848 self.interpreter.residue.create(100)
849 self.interpreter.residue.create(104)
850 self.interpreter.residue.create(107)
851 self.interpreter.residue.create(110)
852 self.interpreter.residue.create(112)
853 self.interpreter.residue.create(120)
854 self.interpreter.residue.create(141)
855 self.interpreter.residue.create(165)
856 self.interpreter.spin.name(name='N')
857
858
859 self.interpreter.spectrum.read_intensities(file="xeasy_r1_20ms.text", dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', spectrum_id='test', int_method='height')
860
861
862 self.assertEqual(list(cdp.mol[0].res[ 0].spin[0].peak_intensity.values())[0], 9.714e+03)
863 self.assertEqual(list(cdp.mol[0].res[ 1].spin[0].peak_intensity.values())[0], 7.919e+03)
864 self.assertEqual(list(cdp.mol[0].res[ 2].spin[0].peak_intensity.values())[0], 1.356e+04)
865 self.assertEqual(list(cdp.mol[0].res[ 3].spin[0].peak_intensity.values())[0], 9.884e+03)
866 self.assertEqual(list(cdp.mol[0].res[ 4].spin[0].peak_intensity.values())[0], 2.041e+04)
867 self.assertEqual(list(cdp.mol[0].res[ 5].spin[0].peak_intensity.values())[0], 9.305e+03)
868 self.assertEqual(list(cdp.mol[0].res[ 6].spin[0].peak_intensity.values())[0], 3.154e+04)
869 self.assertEqual(list(cdp.mol[0].res[ 7].spin[0].peak_intensity.values())[0], 9.180e+03)
870 self.assertEqual(list(cdp.mol[0].res[ 9].spin[0].peak_intensity.values())[0], 1.104e+04)
871 self.assertEqual(list(cdp.mol[0].res[10].spin[0].peak_intensity.values())[0], 7.680e+03)
872 self.assertEqual(list(cdp.mol[0].res[11].spin[0].peak_intensity.values())[0], 5.206e+03)
873 self.assertEqual(list(cdp.mol[0].res[12].spin[0].peak_intensity.values())[0], 2.863e+04)
874 self.assertEqual(list(cdp.mol[0].res[14].spin[0].peak_intensity.values())[0], 9.271e+03)
875 self.assertEqual(list(cdp.mol[0].res[15].spin[0].peak_intensity.values())[0], 7.919e+03)
876 self.assertEqual(list(cdp.mol[0].res[16].spin[0].peak_intensity.values())[0], 9.962e+03)
877 self.assertEqual(list(cdp.mol[0].res[17].spin[0].peak_intensity.values())[0], 1.260e+04)
878 self.assertEqual(list(cdp.mol[0].res[18].spin[0].peak_intensity.values())[0], 1.545e+04)
879 self.assertEqual(list(cdp.mol[0].res[19].spin[0].peak_intensity.values())[0], 1.963e+04)
880 self.assertEqual(list(cdp.mol[0].res[20].spin[0].peak_intensity.values())[0], 1.918e+04)
881
882
895
896
909
910
923