comparison test/test_query_metexp.py @ 21:19d8fd10248e

* Added interface to METEXP data store, including tool to fire queries in batch mode * Improved quantification output files of MsClust, a.o. sorting mass list based on intensity (last two columns of quantification files) * Added Molecular Mass calculation method
author pieter.lukasse@wur.nl
date Wed, 05 Mar 2014 17:20:11 +0100
parents
children
comparison
equal deleted inserted replaced
20:24fb75fedee0 21:19d8fd10248e
1 '''Integration tests for the GCMS project'''
2
3 from pkg_resources import resource_filename # @UnresolvedImport # pylint: disable=E0611
4 from GCMS import query_metexp
5 import os.path
6 import sys
7 import unittest
8
9
10 class IntegrationTest(unittest.TestCase):
11
12
13 # def test_MM_calculations(self):
14 # '''
15 # test the implemented method for MM calculations for
16 # given chemical formulas
17 # '''
18 # export_to_metexp_tabular.init_elements_and_masses_map()
19 #
20 # formula = "C8H18O3"
21 # # should be = 12.01*8 + 1.01*18 + 16*3 = 162.26
22 # result = export_to_metexp_tabular.get_molecular_mass(formula)
23 # self.assertEqual(162.26, result)
24 #
25 # formula = "CH2O3Fe2Ni"
26 # # should be = 12.01*1 + 1.01*2 + 16*3 + 55.85*2 + 58.71 = 232.44
27 # result = export_to_metexp_tabular.get_molecular_mass(formula)
28 # self.assertAlmostEqual(232.44, result, 2)
29 #
30 #
31 #
32
33
34 def test_simple(self):
35 '''
36 Simple initial test
37 '''
38 # Create out folder
39 outdir = "output/metexp_query/"
40 if not os.path.exists(outdir):
41 os.makedirs(outdir)
42
43 #Build up arguments and run
44
45 # input_file = sys.argv[1]
46 # molecular_mass_col = sys.argv[2]
47 # formula_col = sys.argv[3]
48 # metexp_dblink_file = sys.argv[4]
49 # output_result = sys.argv[5]
50
51 input_file = resource_filename(__name__, "data/metexp_query_tabular.txt")
52 casid_col = "CAS"
53 formula_col = "FORMULA"
54 molecular_mass_col = "MM"
55 metexp_dblink_file = resource_filename(__name__, "data/METEXP Test DB.txt")
56 output_result = resource_filename(__name__, outdir + "metexp_query_results_added.txt")
57
58 sys.argv = ['test',
59 input_file,
60 casid_col,
61 formula_col,
62 molecular_mass_col,
63 metexp_dblink_file,
64 'GC',
65 output_result]
66
67 # Execute main function with arguments provided through sys.argv
68 query_metexp.main()
69
70 # TODO - asserts (base them on DB being filled with test data form metexp unit test for upload method)
71 # PA
72
73
74
75
76 def _read_file(filename):
77 '''
78 Helper method to quickly read a file
79 @param filename:
80 '''
81 with open(filename) as handle:
82 return handle.read()