annotate test/test_export_to_metexp_tabular.py @ 4:0d1557b3d540

removed unused parameter
author pieter.lukasse@wur.nl
date Thu, 19 Mar 2015 12:10:19 +0100
parents dffc38727496
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
1 '''Integration tests for the GCMS project'''
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
2
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
3 from pkg_resources import resource_filename # @UnresolvedImport # pylint: disable=E0611
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
4 from GCMS import export_to_metexp_tabular
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
5 import os.path
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
6 import sys
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
7 import unittest
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
8
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
9
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
10 class IntegrationTest(unittest.TestCase):
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
11
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
12
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
13 def test_MM_calculations(self):
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
14 '''
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
15 test the implemented method for MM calculations for
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
16 given chemical formulas
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
17 '''
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
18 export_to_metexp_tabular.init_elements_and_masses_map()
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
19
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
20 formula = "C8H18O3"
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
21 # should be = 12.01*8 + 1.01*18 + 16*3 = 162.26
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
22 result = export_to_metexp_tabular.get_molecular_mass(formula)
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
23 self.assertEqual(162.26, result)
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
24
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
25 formula = "CH2O3Fe2Ni"
dffc38727496 initial commit
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
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
27 result = export_to_metexp_tabular.get_molecular_mass(formula)
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
28 self.assertAlmostEqual(232.44, result, 2)
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
29
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
30
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
31
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
32
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
33
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
34 def test_combine_output_simple(self):
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
35 '''
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
36 comment me
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
37 '''
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
38 # Create out folder
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
39 outdir = "output/metexp/"
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
40 if not os.path.exists(outdir):
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
41 os.makedirs(outdir)
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
42
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
43 #Build up arguments and run
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
44
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
45 rankfilter_and_caslookup_combined_file = resource_filename(__name__, "data/dummy1_produced_combine_output_single.txt")
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
46 msclust_quantification_and_spectra_file = resource_filename(__name__, "data/dummy1_sim.txt")
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
47 output_csv = resource_filename(__name__, outdir + "metexp_tabular.txt")
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
48
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
49 sys.argv = ['test',
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
50 rankfilter_and_caslookup_combined_file,
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
51 msclust_quantification_and_spectra_file,
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
52 output_csv,
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
53 'tomato',
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
54 'leafs',
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
55 'test experiment',
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
56 'pieter',
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
57 'DB5 column']
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
58
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
59 # Execute main function with arguments provided through sys.argv
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
60 export_to_metexp_tabular.main()
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
61
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
62 '''
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
63 # Asserts are based on reading in with process_data and comparing values of
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
64 # certain columns
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
65
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
66 # Check 3: library_lookup RI column, centrotype column, ri_svr column are correct:
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
67 caslookup_items = combine_output._process_data(input_caslookup)
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
68 rankfilter_items = combine_output._process_data(input_rankfilter)
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
69
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
70 # check that the caslookup RI column is correctly maintained in its original order in
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
71 # the combined file:
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
72 ri_caslookup = caslookup_items['RI']
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
73 ri_combine_single = combine_result_single_items['RI']
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
74 self.assertListEqual(ri_caslookup, ri_combine_single)
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
75
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
76 # check the centrotype column's integrity:
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
77 centrotype_caslookup = caslookup_items['Centrotype']
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
78 centrotype_combine_single = combine_result_single_items['Centrotype']
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
79 centrotype_rankfilter = _get_centrotype_rankfilter(rankfilter_items['ID'])
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
80 self.assertListEqual(centrotype_caslookup, centrotype_combine_single)
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
81 self.assertListEqual(centrotype_caslookup, centrotype_rankfilter)
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
82
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
83 # integration and integrity checks:
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
84 file_NIST = resource_filename(__name__, "data/integration/NIST_identification_results_tabular.txt")
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
85 file_NIST_items = combine_output._process_data(file_NIST)
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
86 # check that rank filter output has exactly the same ID items as the original NIST input file:
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
87 self.assertListEqual(file_NIST_items['ID'], rankfilter_items['ID'])
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
88 # check the same for the CAS column:
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
89 self.assertListEqual(_get_strippedcas(file_NIST_items['CAS']), rankfilter_items['CAS'])
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
90 # now check the NIST CAS column against the cas lookup results:
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
91 cas_NIST = _get_processedcas(file_NIST_items['CAS'])
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
92 self.assertListEqual(cas_NIST, caslookup_items['CAS'])
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
93 # now check the CAS of the combined result. If all checks are OK, it means the CAS column's order
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
94 # and values remained stable throughout all steps:
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
95 self.assertListEqual(rankfilter_items['CAS'], combine_result_single_items['CAS'])
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
96
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
97 # check that the rankfilter RIsvr column is correctly maintained in its original order in
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
98 # the combined file:
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
99 risvr_rankfilter = rankfilter_items['RIsvr']
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
100 risvr_combine_single = combine_result_single_items['RIsvr']
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
101 self.assertListEqual(risvr_rankfilter, risvr_combine_single)
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
102 '''
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
103
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
104
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
105
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
106 def _read_file(filename):
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
107 '''
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
108 Helper method to quickly read a file
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
109 @param filename:
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
110 '''
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
111 with open(filename) as handle:
dffc38727496 initial commit
pieter.lukasse@wur.nl
parents:
diff changeset
112 return handle.read()