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 base_classes import SystemTestCase
29 from data import Relax_data_store; ds = Relax_data_store()
30 from generic_fns.mol_res_spin import spin_loop
31 from status import Status; status = Status()
32
33
35 """TestCase class for the functional tests for the support of different peak intensity files."""
36
38 """Set up for all the functional tests."""
39
40
41 self.interpreter.pipe.create('mf', 'mf')
42
43
45 """Test catching bug #17276, the duplicated peak list reading failure submitted by Leanne Minall."""
46
47
48 self.script_exec(status.install_path + sep+'test_suite'+sep+'system_tests'+sep+'scripts'+sep+'bug_17276_peak_lists.py')
49
50
52 """Test 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."""
53
54
55 self.script_exec(status.install_path + sep+'test_suite'+sep+'system_tests'+sep+'scripts'+sep+'peak_lists'+sep+'ccpn_analysis.py')
56
57
58 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']
59
60
61 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]
62
63
64 for i in range(len(times)):
65 self.assertEqual(cdp.spectrum_ids[i], names[i])
66 self.assertEqual(cdp.relax_times[names[i]], times[i])
67
68
69 heights = [
70 [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],
71 [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]
72 ]
73
74
75 for spin, mol_name, res_num, res_name in spin_loop(full_info=True):
76
77 if res_num == 1501:
78 index = 0
79 elif res_num == 1504:
80 index = 1
81
82
83 else:
84
85 self.assert_(not hasattr(spin, 'intensities'))
86
87
88 continue
89
90
91 self.assert_(hasattr(spin, 'intensities'))
92
93
94 for i in range(len(times)):
95 self.assertEqual(spin.intensities[names[i]], heights[index][i])
96
97
99 """Test the reading of a generic peak intensity list."""
100
101
102 self.interpreter.residue.create(20, 'GLY')
103 self.interpreter.residue.create(23, 'ALA')
104 self.interpreter.residue.create(34, 'CYS')
105 self.interpreter.residue.create(35, 'MET')
106 self.interpreter.residue.create(36, 'LYS')
107 self.interpreter.spin.name(name='N')
108
109
110 delays = [0.0109016,
111 0.0218032,
112 0.0436064,
113 0.0436064,
114 0.0872128,
115 0.1744260,
116 0.3488510,
117 0.6977020,
118 1.3954000,
119 1.9949900]
120
121
122 for i in range(10):
123
124 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)
125
126
127 self.interpreter.relax_fit.relax_time(time=delays[i], spectrum_id=repr(i))
128
129
130 heights = [[1.0000, 0.9714, 0.9602, 0.9626, 0.8839, 0.8327, 0.7088, 0.5098, 0.2410, 0.1116],
131 [1.0000, 0.9789, 0.9751, 0.9762, 0.9074, 0.8532, 0.7089, 0.5170, 0.2444, 0.1537],
132 [1.0000, 0.9659, 0.9580, 0.9559, 0.9325, 0.8460, 0.7187, 0.5303, 0.2954, 0.1683],
133 [1.0000, 0.9657, 0.9389, 0.9366, 0.9331, 0.8683, 0.7169, 0.5357, 0.2769, 0.1625],
134 [1.0000, 1.0060, 0.9556, 0.9456, 0.9077, 0.8411, 0.6788, 0.4558, 0.2448, 0.1569]
135 ]
136
137
138 for i in range(10):
139 for j in range(5):
140 self.assertEqual(cdp.mol[0].res[j].spin[0].intensities[repr(i)], heights[j][i])
141
142
157
158
177
178
180 """Test the reading of an XEasy peak list."""
181
182
183 self.interpreter.residue.create(15)
184 self.interpreter.residue.create(21)
185 self.interpreter.residue.create(22)
186 self.interpreter.residue.create(29)
187 self.interpreter.residue.create(52)
188 self.interpreter.residue.create(69)
189 self.interpreter.residue.create(70)
190 self.interpreter.residue.create(73)
191 self.interpreter.residue.create(79)
192 self.interpreter.residue.create(84)
193 self.interpreter.residue.create(87)
194 self.interpreter.residue.create(95)
195 self.interpreter.residue.create(96)
196 self.interpreter.residue.create(100)
197 self.interpreter.residue.create(104)
198 self.interpreter.residue.create(107)
199 self.interpreter.residue.create(110)
200 self.interpreter.residue.create(112)
201 self.interpreter.residue.create(120)
202 self.interpreter.residue.create(141)
203 self.interpreter.residue.create(165)
204 self.interpreter.spin.name(name='N')
205
206
207 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')
208
209
210 self.assertEqual(cdp.mol[0].res[ 0].spin[0].intensities.values()[0], 9.714e+03)
211 self.assertEqual(cdp.mol[0].res[ 1].spin[0].intensities.values()[0], 7.919e+03)
212 self.assertEqual(cdp.mol[0].res[ 2].spin[0].intensities.values()[0], 1.356e+04)
213 self.assertEqual(cdp.mol[0].res[ 3].spin[0].intensities.values()[0], 9.884e+03)
214 self.assertEqual(cdp.mol[0].res[ 4].spin[0].intensities.values()[0], 2.041e+04)
215 self.assertEqual(cdp.mol[0].res[ 5].spin[0].intensities.values()[0], 9.305e+03)
216 self.assertEqual(cdp.mol[0].res[ 6].spin[0].intensities.values()[0], 3.154e+04)
217 self.assertEqual(cdp.mol[0].res[ 7].spin[0].intensities.values()[0], 9.180e+03)
218 self.assertEqual(cdp.mol[0].res[ 9].spin[0].intensities.values()[0], 1.104e+04)
219 self.assertEqual(cdp.mol[0].res[10].spin[0].intensities.values()[0], 7.680e+03)
220 self.assertEqual(cdp.mol[0].res[11].spin[0].intensities.values()[0], 5.206e+03)
221 self.assertEqual(cdp.mol[0].res[12].spin[0].intensities.values()[0], 2.863e+04)
222 self.assertEqual(cdp.mol[0].res[14].spin[0].intensities.values()[0], 9.271e+03)
223 self.assertEqual(cdp.mol[0].res[15].spin[0].intensities.values()[0], 7.919e+03)
224 self.assertEqual(cdp.mol[0].res[16].spin[0].intensities.values()[0], 9.962e+03)
225 self.assertEqual(cdp.mol[0].res[17].spin[0].intensities.values()[0], 1.260e+04)
226 self.assertEqual(cdp.mol[0].res[18].spin[0].intensities.values()[0], 1.545e+04)
227 self.assertEqual(cdp.mol[0].res[19].spin[0].intensities.values()[0], 1.963e+04)
228 self.assertEqual(cdp.mol[0].res[20].spin[0].intensities.values()[0], 1.918e+04)
229
230
232 """Test the reading of an XEasy peak list (2)."""
233
234
235 self.interpreter.residue.create(79)
236 self.interpreter.spin.name(name='NE1')
237
238
239 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', heteronuc='NE1', proton='HE1', int_method='height')
240
241
242 self.assertEqual(cdp.mol[0].res[0].spin[0].intensities.values()[0], 1.532e+04)
243
244
257
258
260 """Test the reading of an XEasy peak list (4)."""
261
262
263 self.interpreter.residue.create(107)
264 self.interpreter.spin.name(name='C')
265
266
267 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', heteronuc='C', proton='HE1', int_method='height')
268
269
270 self.assertEqual(cdp.mol[0].res[0].spin[0].intensities.values()[0], 7.123e+03)
271