1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 """RDC-based system tests."""
24
25
26
27 from os import sep
28
29
30 from pipe_control.interatomic import interatomic_loop
31 from pipe_control.mol_res_spin import count_spins
32 from status import Status; status = Status()
33 from test_suite.system_tests.base_classes import SystemTestCase
34
35
36 -class Rdc(SystemTestCase):
37 """Class for testing RDC operations."""
38
40 """Test the operation of the rdc.copy user function."""
41
42
43 self.interpreter.pipe.create('orig', 'N-state')
44
45
46 dir = status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'align_data'+sep
47
48
49 self.interpreter.sequence.read(file='tb.txt', dir=dir, spin_id_col=1)
50 self.interpreter.sequence.attach_protons()
51 self.interpreter.sequence.display()
52
53
54 self.interpreter.rdc.read(align_id='tb', file='tb.txt', dir=dir, spin_id1_col=1, spin_id2_col=2, data_col=3, error_col=4)
55 self.interpreter.sequence.display()
56
57
58 rdcs = [ -26.2501958629, 9.93081766942, 7.26317614156, -1.24840526981, 5.31803314334, 14.0362909456, 1.33652530397, -1.6021670281]
59
60
61 self.interpreter.pipe.copy(pipe_from='orig', pipe_to='new')
62 self.interpreter.pipe.switch(pipe_name='new')
63
64
65 self.interpreter.rdc.delete()
66
67
68 self.interpreter.rdc.copy(pipe_from='orig', align_id='tb')
69
70
71 self.assertEqual(count_spins(), 16)
72 self.assertEqual(len(cdp.interatomic), 8)
73 i = 0
74 for interatom in interatomic_loop():
75 self.assertAlmostEqual(rdcs[i], interatom.rdc['tb'])
76 i += 1
77
78
80 """Test for the loading of some RDC data with the spin ID format."""
81
82
83 self.interpreter.pipe.create('test', 'N-state')
84
85
86 dir = status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'align_data'+sep
87
88
89 self.interpreter.sequence.read(file='tb.txt', dir=dir, spin_id_col=1)
90 self.interpreter.sequence.attach_protons()
91 self.interpreter.sequence.display()
92
93
94 self.interpreter.rdc.read(align_id='tb', file='tb.txt', dir=dir, spin_id1_col=1, spin_id2_col=2, data_col=3, error_col=4)
95 self.interpreter.sequence.display()
96
97
98 rdcs = [ -26.2501958629, 9.93081766942, 7.26317614156, -1.24840526981, 5.31803314334, 14.0362909456, 1.33652530397, -1.6021670281]
99
100
101 self.assertEqual(count_spins(), 16)
102 self.assertEqual(len(cdp.interatomic), 8)
103 i = 0
104 for interatom in interatomic_loop():
105 self.assertAlmostEqual(rdcs[i], interatom.rdc['tb'])
106 i += 1
107