mailr21358 - /branches/relax_disp/test_suite/system_tests/relax_disp.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on October 31, 2013 - 10:55:
Author: bugman
Date: Thu Oct 31 10:55:39 2013
New Revision: 21358

URL: http://svn.gna.org/viewcvs/relax?rev=21358&view=rev
Log:
Fixes and completion of the Relax_disp.test_r2eff_read and 
Relax_disp.test_r2eff_read_spin system tests.

These now handle the new user function design and now also check all of the 
global and spin data.


Modified:
    branches/relax_disp/test_suite/system_tests/relax_disp.py

Modified: branches/relax_disp/test_suite/system_tests/relax_disp.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/relax_disp/test_suite/system_tests/relax_disp.py?rev=21358&r1=21357&r2=21358&view=diff
==============================================================================
--- branches/relax_disp/test_suite/system_tests/relax_disp.py (original)
+++ branches/relax_disp/test_suite/system_tests/relax_disp.py Thu Oct 31 
10:55:39 2013
@@ -1617,10 +1617,115 @@
         # Read the sequence data.
         self.interpreter.sequence.read(file='66.667.in', dir=data_path, 
res_num_col=1)
 
+        # The ID.
+        id = 'test'
+
+        # Set up the metadata.
+        self.interpreter.spectrometer.frequency(id=id, frq=800e6)
+        self.interpreter.relax_disp.exp_type(spectrum_id=id, exp_type='CPMG')
+
         # Try reading the file.
-        self.interpreter.relax_disp.r2eff_read(file='66.667.in', 
dir=data_path, exp_type='CPMG', frq=800e6, disp_frq=66.667, res_num_col=1, 
data_col=2, error_col=3)
-
-        # TODO:  Data checks.
+        self.interpreter.relax_disp.r2eff_read(id=id, file='66.667.in', 
dir=data_path, disp_frq=66.667, res_num_col=1, data_col=2, error_col=3)
+
+        # Check the global data.
+        data = [
+            ['cpmg_frqs', {'test': 66.667}],
+            ['cpmg_frqs_list', [66.667]],
+            ['dispersion_points', 1],
+            ['exp_type', {'test': 'CPMG'}],
+            ['exp_type_list', ['CPMG']],
+            ['spectrometer_frq', {'test': 800000000.0}],
+            ['spectrometer_frq_count', 1],
+            ['spectrometer_frq_list', [800000000.0]],
+            ['spectrum_ids', ['test']]
+        ]
+        for name, value in data:
+            # Does it exist?
+            self.assert_(hasattr(cdp, name))
+
+            # Check the object.
+            obj = getattr(cdp, name)
+            self.assertEqual(obj, value)
+
+        # Check the spin data.
+        data = [
+            [1,       2.3035747e+04, 8.5467725e+01],
+            [2,       9.9629762e+04, 2.8322033e+02],
+            [3,       9.5663137e+04, 2.8632929e+02],
+            [4,       1.7089893e+05, 3.1089428e+02],
+            [5,       4.7323876e+04, 1.0084269e+02],
+            [6,       2.0199122e+04, 1.0135220e+02],
+            [7,       1.6655488e+05, 3.1609061e+02],
+            [8,       9.0061074e+04, 1.9176585e+02],
+            [10,      8.4726204e+04, 2.8898155e+02],
+            [11,      1.5050233e+05, 4.3138029e+02],
+            [12,      9.2998531e+04, 3.0440191e+02],
+            [13,      1.6343507e+05, 3.3144097e+02],
+            [14,      1.0137301e+05, 3.7314642e+02],
+            [15,      8.3407837e+04, 1.6546473e+02],
+            [16,      1.3819126e+05, 3.3388517e+02],
+            [17,      1.1010490e+05, 3.5639222e+02],
+            [18,      9.4324035e+04, 3.2343585e+02],
+            [19,      1.1135179e+05, 3.0706671e+02],
+            [20,      7.6339410e+04, 1.7377460e+02],
+            [21,      6.2008453e+04, 1.7327150e+02],
+            [22,      1.0590404e+05, 2.4814635e+02],
+            [23,      1.0630198e+05, 2.3601100e+02],
+            [24,      7.2996320e+04, 1.4952465e+02],
+            [25,      9.5486742e+04, 2.7080766e+02],
+            [26,      5.8067989e+04, 1.6820462e+02],
+            [27,     -1.7168510e+04, 2.2519560e+02],
+            [28,      1.6891473e+05, 2.3497525e+02],
+            [29,      9.4038555e+04, 2.0357593e+02],
+            [30,      2.1386951e+04, 2.2153532e+02],
+            [31,      9.3982899e+04, 2.0937056e+02],
+            [32,      8.6097484e+04, 2.3868467e+02],
+            [33,      1.0194337e+05, 2.7370704e+02],
+            [34,      8.5683111e+04, 2.0838076e+02],
+            [35,      8.6985768e+04, 2.0889310e+02],
+            [36,      8.6011237e+04, 1.7498390e+02],
+            [37,      1.0984097e+05, 2.7622998e+02],
+            [38,      8.7017879e+04, 2.6547994e+02],
+            [39,      9.1682649e+04, 5.2777676e+02],
+            [40,      7.6370440e+04, 1.9873214e+02],
+            [41,      9.1393531e+04, 2.4483824e+02],
+            [42,      1.1017111e+05, 2.8020699e+02],
+            [43,      9.4552366e+04, 3.4394150e+02],
+            [44,      1.2858281e+05, 6.8449252e+02],
+            [45,      7.4583525e+04, 1.9544210e+02],
+            [46,      9.2087490e+04, 2.0491066e+02],
+            [47,      9.7507255e+04, 2.5162839e+02],
+            [48,      1.0033842e+05, 2.7566430e+02],
+            [49,      1.3048305e+05, 2.6797466e+02],
+            [50,      1.0546796e+05, 1.9304384e+02],
+            [51,      9.3099697e+04, 2.0773311e+02],
+            [52,      4.6863758e+04, 1.3169068e+02],
+            [53,      6.1055806e+04, 1.5448477e+02],
+            [55,      6.8629994e+04, 1.6868673e+02],
+            [56,      1.1005552e+05, 2.1940465e+02],
+            [57,      1.0572760e+05, 1.9768486e+02],
+            [58,      1.1176950e+05, 3.0009610e+02],
+            [59,      9.8758603e+04, 3.3803895e+02],
+            [60,      9.9517201e+04, 3.5137994e+02],
+            [61,      5.4357946e+04, 2.5896579e+02],
+            [62,      1.0899978e+05, 2.8720371e+02],
+            [63,      8.4549759e+04, 4.1401837e+02],
+            [64,      5.5014550e+04, 2.1135781e+02],
+            [65,      8.0569666e+04, 2.3249709e+02],
+            [66,      1.2936610e+05, 3.5218725e+02],
+            [67,      3.6438010e+04, 8.7924003e+01],
+            [70,      3.8763157e+04, 1.3325040e+02],
+            [71,      8.5711411e+04, 2.9316183e+02],
+            [72,      3.3211541e+04, 1.2182123e+02],
+            [73,      3.2070576e+04, 1.2305430e+02]
+        ]
+        for res_num, value, error in data:
+            # Get the spin.
+            spin = return_spin(spin_id=":%s"%res_num)
+
+            # Check the values.
+            self.assertEqual(spin.r2eff['800.00000000_66.667'], value)
+            self.assertEqual(spin.r2eff_err['800.00000000_66.667'], error)
 
 
     def test_r2eff_read_spin(self):
@@ -1635,11 +1740,92 @@
         self.interpreter.spin.isotope('1H', spin_id='@H')
         self.interpreter.spin.isotope('15N', spin_id='@N')
 
-        # Try reading the file.
-        self.interpreter.relax_disp.r2eff_read_spin(file='hs_500.res', 
dir=data_path, spin_id=':9@H', exp_type='CPMG', frq=500e6, disp_point_col=1, 
data_col=2, error_col=3)
-        self.interpreter.relax_disp.r2eff_read_spin(file='ns_500.res', 
dir=data_path, spin_id=':9@N', exp_type='CPMG', frq=500e6, disp_point_col=1, 
data_col=2, error_col=3)
-
-        # TODO:  Data checks.
+        # Build the experiment IDs.
+        H_disp_points = [67.0, 133.0, 267.0, 400.0, 533.0, 667.0, 800.0, 
933.0, 1067.0, 1600.0, 2133.0, 2667.0]
+        N_disp_points = [50.0, 100.0, 150.0, 200.0, 250.0, 300.0, 350.0, 
400.0, 500.0, 600.0, 700.0, 800.0, 900.0, 1000.0]
+        ids = []
+        for value in H_disp_points:
+            ids.append('1H_CPMG_%s' % value)
+        for value in N_disp_points:
+            ids.append('15N_CPMG_%s' % value)
+        print("\n\nThe experiment IDs are %s." % ids)
+
+        # Set up the metadata for the experiments.
+        for id in ids:
+            self.interpreter.spectrometer.frequency(id=id, frq=500e6)
+            self.interpreter.relax_disp.exp_type(spectrum_id=id, 
exp_type='CPMG')
+
+        # Loop over the experiments.
+        for id, file, spin_id in [['1H_CPMG', 'hs_500.res', ':9@H'], 
['15N_CPMG', 'ns_500.res', ':9@N']]:
+            # Try reading the file.
+            self.interpreter.relax_disp.r2eff_read_spin(id=id, file=file, 
dir=data_path, spin_id=spin_id, disp_point_col=1, data_col=2, error_col=3)
+
+        # Check the global data.
+        print cdp
+        data = [
+            ['cpmg_frqs', {'1H_CPMG_667.0': 667.0, '1H_CPMG_1067.0': 1067.0, 
'15N_CPMG_350.0': 350.0, '1H_CPMG_933.0': 933.0, '15N_CPMG_50.0': 50.0, 
'15N_CPMG_100.0': 100.0, '1H_CPMG_400.0': 400.0, '1H_CPMG_533.0': 533.0, 
'1H_CPMG_800.0': 800.0, '15N_CPMG_900.0': 900.0, '15N_CPMG_150.0': 150.0, 
'15N_CPMG_800.0': 800.0, '1H_CPMG_267.0': 267.0, '1H_CPMG_2667.0': 2667.0, 
'15N_CPMG_300.0': 300.0, '1H_CPMG_133.0': 133.0, '15N_CPMG_700.0': 700.0, 
'1H_CPMG_67.0': 67.0, '15N_CPMG_400.0': 400.0, '15N_CPMG_250.0': 250.0, 
'1H_CPMG_2133.0': 2133.0, '1H_CPMG_1600.0': 1600.0, '15N_CPMG_200.0': 200.0, 
'15N_CPMG_1000.0': 1000.0, '15N_CPMG_500.0': 500.0, '15N_CPMG_600.0': 600.0}],
+            ['cpmg_frqs_list', [50.0, 67.0, 100.0, 133.0, 150.0, 200.0, 
250.0, 267.0, 300.0, 350.0, 400.0, 500.0, 533.0, 600.0, 667.0, 700.0, 800.0, 
900.0, 933.0, 1000.0, 1067.0, 1600.0, 2133.0, 2667.0]],
+            ['dispersion_points', 24],
+            ['exp_type', {'1H_CPMG_667.0': 'CPMG', '1H_CPMG_1067.0': 'CPMG', 
'15N_CPMG_350.0': 'CPMG', '1H_CPMG_933.0': 'CPMG', '15N_CPMG_50.0': 'CPMG', 
'15N_CPMG_100.0': 'CPMG', '1H_CPMG_400.0': 'CPMG', '1H_CPMG_533.0': 'CPMG', 
'1H_CPMG_800.0': 'CPMG', '15N_CPMG_900.0': 'CPMG', '15N_CPMG_150.0': 'CPMG', 
'15N_CPMG_800.0': 'CPMG', '1H_CPMG_267.0': 'CPMG', '1H_CPMG_2667.0': 'CPMG', 
'15N_CPMG_300.0': 'CPMG', '1H_CPMG_133.0': 'CPMG', '15N_CPMG_700.0': 'CPMG', 
'1H_CPMG_67.0': 'CPMG', '15N_CPMG_400.0': 'CPMG', '15N_CPMG_250.0': 'CPMG', 
'1H_CPMG_2133.0': 'CPMG', '1H_CPMG_1600.0': 'CPMG', '15N_CPMG_200.0': 'CPMG', 
'15N_CPMG_1000.0': 'CPMG', '15N_CPMG_500.0': 'CPMG', '15N_CPMG_600.0': 
'CPMG'}],
+            ['exp_type_list', ['CPMG']],
+            ['spectrometer_frq', {'1H_CPMG_667.0': 500000000.0, 
'1H_CPMG_1067.0': 500000000.0, '15N_CPMG_350.0': 500000000.0, 
'1H_CPMG_933.0': 500000000.0, '15N_CPMG_50.0': 500000000.0, '15N_CPMG_100.0': 
500000000.0, '1H_CPMG_400.0': 500000000.0, '1H_CPMG_533.0': 500000000.0, 
'1H_CPMG_800.0': 500000000.0, '15N_CPMG_900.0': 500000000.0, 
'15N_CPMG_150.0': 500000000.0, '15N_CPMG_800.0': 500000000.0, 
'1H_CPMG_267.0': 500000000.0, '1H_CPMG_2667.0': 500000000.0, 
'15N_CPMG_300.0': 500000000.0, '1H_CPMG_133.0': 500000000.0, 
'15N_CPMG_700.0': 500000000.0, '1H_CPMG_67.0': 500000000.0, '15N_CPMG_400.0': 
500000000.0, '15N_CPMG_250.0': 500000000.0, '1H_CPMG_2133.0': 500000000.0, 
'1H_CPMG_1600.0': 500000000.0, '15N_CPMG_200.0': 500000000.0, 
'15N_CPMG_1000.0': 500000000.0, '15N_CPMG_500.0': 500000000.0, 
'15N_CPMG_600.0': 500000000.0}],
+            ['spectrometer_frq_count', 1],
+            ['spectrometer_frq_list', [500000000.0]],
+            ['spectrum_ids', ['1H_CPMG_67.0', '1H_CPMG_133.0', 
'1H_CPMG_267.0', '1H_CPMG_400.0', '1H_CPMG_533.0', '1H_CPMG_667.0', 
'1H_CPMG_800.0', '1H_CPMG_933.0', '1H_CPMG_1067.0', '1H_CPMG_1600.0', 
'1H_CPMG_2133.0', '1H_CPMG_2667.0', '15N_CPMG_50.0', '15N_CPMG_100.0', 
'15N_CPMG_150.0', '15N_CPMG_200.0', '15N_CPMG_250.0', '15N_CPMG_300.0', 
'15N_CPMG_350.0', '15N_CPMG_400.0', '15N_CPMG_500.0', '15N_CPMG_600.0', 
'15N_CPMG_700.0', '15N_CPMG_800.0', '15N_CPMG_900.0', '15N_CPMG_1000.0']]
+        ]
+        for name, value in data:
+            # Does it exist?
+            self.assert_(hasattr(cdp, name))
+
+            # Check the object.
+            obj = getattr(cdp, name)
+            if not isinstance(data, dict):
+                self.assertEqual(obj, value)
+
+            # Check the global dictionary data.
+            else:
+                for id in ids:
+                    self.assertEqual(obj[id], value[id])
+
+        # Check the spin data.
+        h_data = [
+            [  67.0,  21.47924,   0.42958],
+            [ 133.0,  16.73898,   0.33478],
+            [ 267.0,   9.97357,   0.19947],
+            [ 400.0,   8.23877,   0.24737],
+            [ 533.0,   7.59290,   0.24263],
+            [ 667.0,   7.45843,   0.24165],
+            [ 800.0,   7.11222,   0.23915],
+            [ 933.0,   7.40880,   0.24129],
+            [1067.0,   6.55191,   0.16629],
+            [1600.0,   6.72177,   0.23637],
+            [2133.0,   7.09629,   0.23904],
+            [2667.0,   7.14675,   0.23940]
+        ]
+        for disp_point, value, error in h_data:
+            id = '500.00000000_%.3f' % disp_point
+            self.assertEqual(cdp.mol[0].res[0].spin[0].r2eff[id], value)
+            self.assertEqual(cdp.mol[0].res[0].spin[0].r2eff_err[id], error)
+        n_data = [
+            [  50.0,  27.15767,   0.54315],
+            [ 100.0,  26.55781,   0.53116],
+            [ 150.0,  24.73462,   0.49469],
+            [ 200.0,  20.98617,   0.41972],
+            [ 250.0,  17.82442,   0.35649],
+            [ 300.0,  15.55352,   0.31107],
+            [ 350.0,  13.78958,   0.27579],
+            [ 400.0,  12.48334,   0.24967],
+            [ 500.0,  11.55724,   0.23114],
+            [ 600.0,  10.53874,   0.21077],
+            [ 700.0,  10.07395,   0.20148],
+            [ 800.0,   9.62952,   0.19259],
+            [ 900.0,   9.49994,   0.19000],
+            [1000.0,   8.71350,   0.17427]
+        ]
+        for disp_point, value, error in n_data:
+            id = '500.00000000_%.3f' % disp_point
+            self.assertEqual(cdp.mol[0].res[0].spin[1].r2eff[id], value)
+            self.assertEqual(cdp.mol[0].res[0].spin[1].r2eff_err[id], error)
 
 
     def test_r2eff_fit_fixed_time(self):




Related Messages


Powered by MHonArc, Updated Thu Oct 31 11:20:01 2013