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