Mercurial > repos > pieterlukasse > prims_metabolomics
comparison rankfilter_GCMS/test/test_rankfilter.py @ 0:9d5f4f5f764b
Initial commit to toolshed
author | pieter.lukasse@wur.nl |
---|---|
date | Thu, 16 Jan 2014 13:10:00 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:9d5f4f5f764b |
---|---|
1 ''' | |
2 Created on Mar 13, 2012 | |
3 | |
4 @author: marcelk | |
5 ''' | |
6 from GCMS.rankfilter_GCMS.rankfilter import get_data, calibrate, calibrate_poly, convert_rt, convert_rt_poly | |
7 from pkg_resources import resource_filename # @UnresolvedImport # pylint: disable=E0611 | |
8 import unittest | |
9 | |
10 | |
11 class Test(unittest.TestCase): | |
12 | |
13 def setUp(self): | |
14 self.calibration = resource_filename(__name__, "data/calibration.txt") | |
15 self.sample = resource_filename(__name__, "data/sample.txt") | |
16 | |
17 def test_get_data(self): | |
18 samples = get_data(self.sample, ['CAS', 'Name', 'R.T.', 'Forward', 'Reverse', 'Formula']) | |
19 self.assertEqual(['C29H50O', 'C29H50O', 'C29H50O', 'C29H50O', 'C29H50O', 'C28H48O', 'C28H48O', 'C28H48O', | |
20 'C28H48O', 'C27H44O2', 'C29H50O2', 'C29H50O2', 'C29H50O2', 'C29H50O2', 'C29H50O2', | |
21 'C28H48O2', 'C28H48O2', 'C28H48O2', 'C28H48O2', 'C30H50O3', 'C29H50O', 'C29H50O', | |
22 'C29H50O', 'C29H50O'], samples['Formula']) | |
23 | |
24 def test_calibrate(self): | |
25 standards = get_data(self.calibration, ['Name', 'R.T.', 'RI']) | |
26 coeff = calibrate(standards) | |
27 self.assertAlmostEqual(103.19073523551653, coeff[0], 5) | |
28 self.assertAlmostEqual(277.14374835349395, coeff[1], 5) | |
29 | |
30 def test_calibrate_poly(self): | |
31 standards = get_data(self.calibration, ['Name', 'R.T.', 'RI']) | |
32 poly_cal = calibrate_poly(standards) | |
33 self.assertAlmostEqual(0.028897105229818407, poly_cal[0], 5) | |
34 self.assertAlmostEqual(0.704572097468386, poly_cal[1], 5) | |
35 self.assertAlmostEqual(51.636852478526357, poly_cal[2], 5) | |
36 self.assertAlmostEqual(704.95499738104672, poly_cal[3], 5) | |
37 | |
38 def test_convert_rt(self): | |
39 standards = get_data(self.calibration, ['Name', 'R.T.', 'RI']) | |
40 coeff = calibrate(standards) | |
41 convert = convert_rt({'R.T.': [5, 10, 15, 20]}, coeff) | |
42 self.assertAlmostEqual(793.09742453, convert['RIexp'][0], 5) | |
43 self.assertAlmostEqual(1309.05110071, convert['RIexp'][1], 5) | |
44 self.assertAlmostEqual(1825.00477689, convert['RIexp'][2], 5) | |
45 self.assertAlmostEqual(2340.95845306, convert['RIexp'][3], 5) | |
46 | |
47 def test_convert_rt_poly(self): | |
48 standards = get_data(self.calibration, ['Name', 'R.T.', 'RI']) | |
49 poly_cal = calibrate_poly(standards) | |
50 convert = convert_rt_poly({'R.T.': [5, 10, 15, 20]}, poly_cal) | |
51 self.assertAlmostEqual(984.36570036, convert['RIexp'][0], 5) | |
52 self.assertAlmostEqual(1320.67783714, convert['RIexp'][1], 5) | |
53 self.assertAlmostEqual(1735.56423664, convert['RIexp'][2], 5) | |
54 self.assertAlmostEqual(2250.69772778, convert['RIexp'][3], 5) | |
55 | |
56 if __name__ == "__main__": | |
57 #import sys;sys.argv = ['', 'Test.testName'] | |
58 unittest.main() |