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.assert_(not hasattr(spin, 'peak_intensity')) 
132   
133                   
134                  continue 
135   
136               
137              self.assert_(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