Mercurial > repos > tomnl > metfrag
annotate metfrag.py @ 8:9a3019c609d9 draft
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
| author | tomnl |
|---|---|
| date | Fri, 13 Sep 2019 08:27:59 -0400 |
| parents | 0b3816a7a14b |
| children | 5763234618d4 |
| rev | line source |
|---|---|
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
1 from __future__ import absolute_import, print_function |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
2 import argparse |
|
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
3 import csv |
|
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
4 import os |
|
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
5 import sys |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
6 import six |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
7 import re |
|
7
0b3816a7a14b
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 6dc5d494a84dd572f277dcd1c979e6edfb40383d
tomnl
parents:
5
diff
changeset
|
8 import ConfigParser |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
9 import shutil |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
10 import glob |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
11 import tempfile |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
12 import multiprocessing |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
13 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
14 from subprocess import call |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
15 from collections import defaultdict |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
16 |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
17 print(sys.version) |
|
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
18 |
|
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
19 parser = argparse.ArgumentParser() |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
20 parser.add_argument('--input_pth') |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
21 parser.add_argument('--result_pth', default='metfrag_result.csv') |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
22 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
23 parser.add_argument('--temp_dir') |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
24 parser.add_argument('--polarity', default='pos') |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
25 parser.add_argument('--minMSMSpeaks', default=1) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
26 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
27 parser.add_argument('--MetFragDatabaseType', default='PubChem') |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
28 parser.add_argument('--LocalDatabasePath', default='') |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
29 parser.add_argument('--LocalMetChemDatabaseServerIp', default='') |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
30 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
31 parser.add_argument('--DatabaseSearchRelativeMassDeviation', default=5) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
32 parser.add_argument('--FragmentPeakMatchRelativeMassDeviation', default=10) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
33 parser.add_argument('--FragmentPeakMatchAbsoluteMassDeviation', default=0.001) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
34 parser.add_argument('--NumberThreads', default=1) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
35 parser.add_argument('--UnconnectedCompoundFilter', action='store_true') |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
36 parser.add_argument('--IsotopeFilter', action='store_true') |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
37 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
38 parser.add_argument('--FilterMinimumElements', default='') |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
39 parser.add_argument('--FilterMaximumElements', default='') |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
40 parser.add_argument('--FilterSmartsInclusionList', default='') |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
41 parser.add_argument('--FilterSmartsExclusionList', default='') |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
42 parser.add_argument('--FilterIncludedElements', default='') |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
43 parser.add_argument('--FilterExcludedElements', default='') |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
44 parser.add_argument('--FilterIncludedExclusiveElements', default='') |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
45 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
46 parser.add_argument('--score_thrshld', default=0) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
47 parser.add_argument('--pctexplpeak_thrshld', default=0) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
48 parser.add_argument('--schema') |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
49 parser.add_argument('--cores_top_level', default=1) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
50 parser.add_argument('--chunks', default=1) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
51 parser.add_argument('--meta_select_col', default='name') |
|
4
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
52 parser.add_argument('--skip_invalid_adducts', action='store_true') |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
53 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
54 parser.add_argument('--ScoreSuspectLists', default='') |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
55 parser.add_argument('--MetFragScoreTypes', default="FragmenterScore,OfflineMetFusionScore") |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
56 parser.add_argument('--MetFragScoreWeights', default="1.0,1.0") |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
57 |
|
4
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
58 |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
59 args = parser.parse_args() |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
60 print(args) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
61 |
|
7
0b3816a7a14b
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 6dc5d494a84dd572f277dcd1c979e6edfb40383d
tomnl
parents:
5
diff
changeset
|
62 |
|
0b3816a7a14b
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 6dc5d494a84dd572f277dcd1c979e6edfb40383d
tomnl
parents:
5
diff
changeset
|
63 config = ConfigParser.ConfigParser() |
|
0b3816a7a14b
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 6dc5d494a84dd572f277dcd1c979e6edfb40383d
tomnl
parents:
5
diff
changeset
|
64 config.read(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'config.ini')) |
|
0b3816a7a14b
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 6dc5d494a84dd572f277dcd1c979e6edfb40383d
tomnl
parents:
5
diff
changeset
|
65 |
|
0b3816a7a14b
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 6dc5d494a84dd572f277dcd1c979e6edfb40383d
tomnl
parents:
5
diff
changeset
|
66 |
|
4
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
67 if os.stat(args.input_pth).st_size == 0: |
|
5
c53ed894d736
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 826659b9105b635cf240474428122f5a269f5c88
tomnl
parents:
4
diff
changeset
|
68 print('Input file empty') |
|
c53ed894d736
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 826659b9105b635cf240474428122f5a269f5c88
tomnl
parents:
4
diff
changeset
|
69 exit() |
|
4
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
70 |
|
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
71 |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
72 # Create temporary working directory |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
73 if args.temp_dir: |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
74 wd = args.temp_dir |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
75 else: |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
76 wd = tempfile.mkdtemp() |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
77 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
78 if os.path.exists(wd): |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
79 shutil.rmtree(wd) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
80 os.makedirs(wd) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
81 else: |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
82 os.makedirs(wd) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
83 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
84 ###################################################################### |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
85 # Setup regular expressions for MSP parsing dictionary |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
86 ###################################################################### |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
87 regex_msp = {} |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
88 regex_msp['name'] = ['^Name(?:=|:)(.*)$'] |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
89 regex_msp['polarity'] = ['^ion.*mode(?:=|:)(.*)$', '^ionization.*mode(?:=|:)(.*)$', '^polarity(?:=|:)(.*)$'] |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
90 regex_msp['precursor_mz'] = ['^precursor.*m/z(?:=|:)\s*(\d*[.,]?\d*)$', '^precursor.*mz(?:=|:)\s*(\d*[.,]?\d*)$'] |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
91 regex_msp['precursor_type'] = ['^precursor.*type(?:=|:)(.*)$', '^adduct(?:=|:)(.*)$', '^ADDUCTIONNAME(?:=|:)(.*)$'] |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
92 regex_msp['num_peaks'] = ['^Num.*Peaks(?:=|:)\s*(\d*)$'] |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
93 regex_msp['msp'] = ['^Name(?:=|:)(.*)$'] # Flag for standard MSP format |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
94 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
95 regex_massbank = {} |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
96 regex_massbank['name'] = ['^RECORD_TITLE:(.*)$'] |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
97 regex_massbank['polarity'] = ['^AC\$MASS_SPECTROMETRY:\s+ION_MODE\s+(.*)$'] |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
98 regex_massbank['precursor_mz'] = ['^MS\$FOCUSED_ION:\s+PRECURSOR_M/Z\s+(\d*[.,]?\d*)$'] |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
99 regex_massbank['precursor_type'] = ['^MS\$FOCUSED_ION:\s+PRECURSOR_TYPE\s+(.*)$'] |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
100 regex_massbank['num_peaks'] = ['^PK\$NUM_PEAK:\s+(\d*)'] |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
101 regex_massbank['cols'] = ['^PK\$PEAK:\s+(.*)'] |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
102 regex_massbank['massbank'] = ['^RECORD_TITLE:(.*)$'] # Flag for massbank format |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
103 |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
104 if args.schema == 'msp': |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
105 meta_regex = regex_msp |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
106 elif args.schema == 'massbank': |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
107 meta_regex = regex_massbank |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
108 elif args.schema == 'auto': |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
109 # If auto we just check for all the available paramter names and then determine if Massbank or MSP based on |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
110 # the name parameter |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
111 meta_regex = {} |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
112 meta_regex.update(regex_massbank) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
113 meta_regex['name'].extend(regex_msp['name']) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
114 meta_regex['polarity'].extend(regex_msp['polarity']) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
115 meta_regex['precursor_mz'].extend(regex_msp['precursor_mz']) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
116 meta_regex['precursor_type'].extend(regex_msp['precursor_type']) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
117 meta_regex['num_peaks'].extend(regex_msp['num_peaks']) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
118 meta_regex['msp'] = regex_msp['msp'] |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
119 |
|
8
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
120 |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
121 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
122 adduct_types = { |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
123 '[M+H]+': 1.007276, |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
124 '[M+NH4]+': 18.034374, |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
125 '[M+Na]+': 22.989218, |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
126 '[M+K]+': 38.963158, |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
127 '[M+CH3OH+H]+': 33.033489, |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
128 '[M+ACN+H]+': 42.033823, |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
129 '[M+ACN+Na]+': 64.015765, |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
130 '[M+2ACN+H]+': 83.06037, |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
131 '[M-H]-': -1.007276, |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
132 '[M+Cl]-': 34.969402, |
|
4
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
133 '[M+HCOO]-': 44.99819, |
|
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
134 '[M-H+HCOOH]-': 44.99819, # same as above but different style of writing adduct |
|
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
135 '[M+CH3COO]-': 59.01385, |
|
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
136 '[M-H+CH3COOH]-': 59.01385 # same as above but different style of writing adduct |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
137 } |
|
8
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
138 inv_adduct_types = {int(round(v, 0)): k for k, v in adduct_types.iteritems()} |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
139 |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
140 # function to extract the meta data using the regular expressions |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
141 def parse_meta(meta_regex, meta_info={}): |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
142 for k, regexes in six.iteritems(meta_regex): |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
143 for reg in regexes: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
144 m = re.search(reg, line, re.IGNORECASE) |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
145 if m: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
146 meta_info[k] = '-'.join(m.groups()).strip() |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
147 return meta_info |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
148 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
149 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
150 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
151 ###################################################################### |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
152 # Setup parameter dictionary |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
153 ###################################################################### |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
154 def init_paramd(args): |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
155 paramd = defaultdict() |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
156 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
157 paramd["MetFragDatabaseType"] = args.MetFragDatabaseType |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
158 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
159 if args.MetFragDatabaseType == "LocalCSV": |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
160 paramd["LocalDatabasePath"] = args.LocalDatabasePath |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
161 elif args.MetFragDatabaseType == "MetChem": |
|
7
0b3816a7a14b
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 6dc5d494a84dd572f277dcd1c979e6edfb40383d
tomnl
parents:
5
diff
changeset
|
162 paramd["LocalMetChemDatabase"] = config.get('MetChem', 'LocalMetChemDatabase') |
|
0b3816a7a14b
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 6dc5d494a84dd572f277dcd1c979e6edfb40383d
tomnl
parents:
5
diff
changeset
|
163 paramd["LocalMetChemDatabasePortNumber"] = config.get('MetChem', 'LocalMetChemDatabasePortNumber') |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
164 paramd["LocalMetChemDatabaseServerIp"] = args.LocalMetChemDatabaseServerIp |
|
7
0b3816a7a14b
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 6dc5d494a84dd572f277dcd1c979e6edfb40383d
tomnl
parents:
5
diff
changeset
|
165 paramd["LocalMetChemDatabaseUser"] = config.get('MetChem', 'LocalMetChemDatabaseUser') |
|
0b3816a7a14b
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 6dc5d494a84dd572f277dcd1c979e6edfb40383d
tomnl
parents:
5
diff
changeset
|
166 paramd["LocalMetChemDatabasePassword"] = config.get('MetChem', 'LocalMetChemDatabasePassword') |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
167 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
168 paramd["FragmentPeakMatchAbsoluteMassDeviation"] = args.FragmentPeakMatchAbsoluteMassDeviation |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
169 paramd["FragmentPeakMatchRelativeMassDeviation"] = args.FragmentPeakMatchRelativeMassDeviation |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
170 paramd["DatabaseSearchRelativeMassDeviation"] = args.DatabaseSearchRelativeMassDeviation |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
171 paramd["SampleName"] = '' |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
172 paramd["ResultsPath"] = os.path.join(wd) |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
173 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
174 if args.polarity == "pos": |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
175 paramd["IsPositiveIonMode"] = True |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
176 paramd["PrecursorIonModeDefault"] = "1" |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
177 paramd["PrecursorIonMode"] = "1" |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
178 paramd["nm_mass_diff_default"] = 1.007276 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
179 else: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
180 paramd["IsPositiveIonMode"] = False |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
181 paramd["PrecursorIonModeDefault"] = "-1" |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
182 paramd["PrecursorIonMode"] = "-1" |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
183 paramd["nm_mass_diff_default"] = -1.007276 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
184 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
185 paramd["MetFragCandidateWriter"] = "CSV" |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
186 paramd["NumberThreads"] = args.NumberThreads |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
187 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
188 if args.ScoreSuspectLists: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
189 paramd["ScoreSuspectLists"] = args.ScoreSuspectLists |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
190 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
191 paramd["MetFragScoreTypes"] = args.MetFragScoreTypes |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
192 paramd["MetFragScoreWeights"] = args.MetFragScoreWeights |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
193 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
194 dct_filter = defaultdict() |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
195 filterh = [] |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
196 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
197 if args.UnconnectedCompoundFilter: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
198 filterh.append('UnconnectedCompoundFilter') |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
199 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
200 if args.IsotopeFilter: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
201 filterh.append('IsotopeFilter') |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
202 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
203 if args.FilterMinimumElements: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
204 filterh.append('MinimumElementsFilter') |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
205 dct_filter['FilterMinimumElements'] = args.FilterMinimumElements |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
206 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
207 if args.FilterMaximumElements: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
208 filterh.append('MaximumElementsFilter') |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
209 dct_filter['FilterMaximumElements'] = args.FilterMaximumElements |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
210 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
211 if args.FilterSmartsInclusionList: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
212 filterh.append('SmartsSubstructureInclusionFilter') |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
213 dct_filter['FilterSmartsInclusionList'] = args.FilterSmartsInclusionList |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
214 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
215 if args.FilterSmartsExclusionList: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
216 filterh.append('SmartsSubstructureExclusionFilter') |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
217 dct_filter['FilterSmartsExclusionList'] = args.FilterSmartsExclusionList |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
218 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
219 # My understanding is that both 'ElementInclusionExclusiveFilter' and 'ElementExclusionFilter' use |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
220 # 'FilterIncludedElements' |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
221 if args.FilterIncludedExclusiveElements: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
222 filterh.append('ElementInclusionExclusiveFilter') |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
223 dct_filter['FilterIncludedElements'] = args.FilterIncludedExclusiveElements |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
224 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
225 if args.FilterIncludedElements: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
226 filterh.append('ElementInclusionFilter') |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
227 dct_filter['FilterIncludedElements'] = args.FilterIncludedElements |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
228 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
229 if args.FilterExcludedElements: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
230 filterh.append('ElementExclusionFilter') |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
231 dct_filter['FilterExcludedElements'] = args.FilterExcludedElements |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
232 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
233 if filterh: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
234 fcmds = ','.join(filterh) + ' ' |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
235 for k, v in six.iteritems(dct_filter): |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
236 fcmds += "{0}={1} ".format(str(k), str(v)) |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
237 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
238 paramd["MetFragPreProcessingCandidateFilter"] = fcmds |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
239 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
240 return paramd |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
241 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
242 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
243 ###################################################################### |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
244 # Function to run metfrag when all metainfo and peaks have been parsed |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
245 ###################################################################### |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
246 def run_metfrag(meta_info, peaklist, args, wd, spectrac, adduct_types): |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
247 # Get sample details (if possible to extract) e.g. if created as part of the msPurity pipeline) |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
248 # choose between getting additional details to add as columns as either all meta data from msp, just |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
249 # details from the record name (i.e. when using msPurity and we have the columns coded into the name) or |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
250 # just the spectra index (spectrac)] |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
251 # Returns the parameters used and the command line call |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
252 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
253 paramd = init_paramd(args) |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
254 if args.meta_select_col == 'name': |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
255 # have additional column of just the name |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
256 paramd['additional_details'] = {'name': meta_info['name']} |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
257 elif args.meta_select_col == 'name_split': |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
258 # have additional columns split by "|" and then on ":" e.g. MZ:100.2 | RT:20 | xcms_grp_id:1 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
259 paramd['additional_details'] = {sm.split(":")[0].strip(): sm.split(":")[1].strip() for sm in |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
260 meta_info['name'].split("|")} |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
261 elif args.meta_select_col == 'all': |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
262 # have additional columns based on all the meta information extracted from the MSP |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
263 paramd['additional_details'] = meta_info |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
264 else: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
265 # Just have and index of the spectra in the MSP file |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
266 paramd['additional_details'] = {'spectra_idx': spectrac} |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
267 |
|
8
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
268 |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
269 paramd["SampleName"] = "{}_metfrag_result".format(spectrac) |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
270 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
271 # =============== Output peaks to txt file ============================== |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
272 paramd["PeakListPath"] = os.path.join(wd, "{}_tmpspec.txt".format(spectrac)) |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
273 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
274 # write spec file |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
275 with open(paramd["PeakListPath"], 'w') as outfile: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
276 for p in peaklist: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
277 outfile.write(p[0] + "\t" + p[1] + "\n") |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
278 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
279 # =============== Update param based on MSP metadata ====================== |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
280 # Replace param details with details from MSP if required |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
281 if 'precursor_type' in meta_info and meta_info['precursor_type'] in adduct_types: |
|
8
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
282 adduct = meta_info['precursor_type'] |
|
4
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
283 nm = float(meta_info['precursor_mz']) - adduct_types[meta_info['precursor_type']] |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
284 paramd["PrecursorIonMode"] = int(round(adduct_types[meta_info['precursor_type']], 0)) |
|
4
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
285 elif not args.skip_invalid_adducts: |
|
8
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
286 adduct = inv_adduct_types[int(paramd['PrecursorIonModeDefault'])] |
|
4
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
287 paramd["PrecursorIonMode"] = paramd['PrecursorIonModeDefault'] |
|
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
288 nm = float(meta_info['precursor_mz']) - paramd['nm_mass_diff_default'] |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
289 else: |
|
4
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
290 print('Skipping {}'.format(paramd["SampleName"])) |
|
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
291 return '', '' |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
292 |
|
8
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
293 paramd['additional_details']['adduct'] = adduct |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
294 paramd["NeutralPrecursorMass"] = nm |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
295 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
296 # =============== Create CLI cmd for metfrag =============================== |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
297 cmd = "metfrag" |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
298 for k, v in six.iteritems(paramd): |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
299 if not k in ['PrecursorIonModeDefault', 'nm_mass_diff_default', 'additional_details']: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
300 cmd += " {}={}".format(str(k), str(v)) |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
301 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
302 # =============== Run metfrag ============================================== |
|
8
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
303 #print(cmd) |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
304 # Filter before process with a minimum number of MS/MS peaks |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
305 if plinesread >= float(args.minMSMSpeaks): |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
306 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
307 if int(args.cores_top_level) == 1: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
308 os.system(cmd) |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
309 |
|
8
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
310 |
|
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
311 |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
312 return paramd, cmd |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
313 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
314 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
315 def work(cmds): |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
316 return [os.system(cmd) for cmd in cmds] |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
317 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
318 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
319 |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
320 ###################################################################### |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
321 # Parse MSP file and run metfrag CLI |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
322 ###################################################################### |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
323 # keep list of commands if performing in CLI in parallel |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
324 cmds = [] |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
325 # keep a dictionary of all params |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
326 paramds = {} |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
327 # keep count of spectra (for uid) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
328 spectrac = 0 |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
329 # this dictionary will store the meta data results form the MSp file |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
330 meta_info = {} |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
331 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
332 with open(args.input_pth, "r") as infile: |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
333 # number of lines for the peaks |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
334 pnumlines = 0 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
335 # number of lines read for the peaks |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
336 plinesread = 0 |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
337 for line in infile: |
|
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
338 line = line.strip() |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
339 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
340 if pnumlines == 0: |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
341 # =============== Extract metadata from MSP ======================== |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
342 meta_info = parse_meta(meta_regex, meta_info) |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
343 |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
344 if ('massbank' in meta_info and 'cols' in meta_info) or ('msp' in meta_info and 'num_peaks' in meta_info): |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
345 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
346 pnumlines = int(meta_info['num_peaks']) |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
347 plinesread = 0 |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
348 peaklist = [] |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
349 |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
350 elif plinesread < pnumlines: |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
351 # =============== Extract peaks from MSP ========================== |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
352 line = tuple(line.split()) # .split() will split on any empty space (i.e. tab and space) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
353 # Keep only m/z and intensity, not relative intensity |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
354 save_line = tuple(line[0].split() + line[1].split()) |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
355 plinesread += 1 |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
356 peaklist.append(save_line) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
357 |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
358 elif plinesread and plinesread == pnumlines: |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
359 # =============== Get sample name and additional details for output ======= |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
360 spectrac += 1 |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
361 paramd, cmd = run_metfrag(meta_info, peaklist, args, wd, spectrac, adduct_types) |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
362 |
|
4
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
363 if paramd: |
|
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
364 paramds[paramd["SampleName"]] = paramd |
|
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
365 cmds.append(cmd) |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
366 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
367 meta_info = {} |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
368 pnumlines = 0 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
369 plinesread = 0 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
370 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
371 # end of file. Check if there is a MSP spectra to run metfrag on still |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
372 if plinesread and plinesread == pnumlines: |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
373 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
374 paramd, cmd = run_metfrag(meta_info, peaklist, args, wd, spectrac+1, adduct_types) |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
375 |
|
4
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
376 if paramd: |
|
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
377 paramds[paramd["SampleName"]] = paramd |
|
eb581a101672
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
tomnl
parents:
3
diff
changeset
|
378 cmds.append(cmd) |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
379 |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
380 |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
381 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
382 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
383 # Perform multiprocessing on command line call level |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
384 if int(args.cores_top_level) > 1: |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
385 cmds_chunks = [cmds[x:x + int(args.chunks)] for x in list(range(0, len(cmds), int(args.chunks)))] |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
386 pool = multiprocessing.Pool(processes=int(args.cores_top_level)) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
387 pool.map(work, cmds_chunks) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
388 pool.close() |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
389 pool.join() |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
390 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
391 ###################################################################### |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
392 # Concatenate and filter the output |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
393 ###################################################################### |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
394 # outputs might have different headers. Need to get a list of all the headers before we start merging the files |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
395 # outfiles = [os.path.join(wd, f) for f in glob.glob(os.path.join(wd, "*_metfrag_result.csv"))] |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
396 outfiles = glob.glob(os.path.join(wd, "*_metfrag_result.csv")) |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
397 |
|
5
c53ed894d736
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 826659b9105b635cf240474428122f5a269f5c88
tomnl
parents:
4
diff
changeset
|
398 if len(outfiles) == 0: |
|
c53ed894d736
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 826659b9105b635cf240474428122f5a269f5c88
tomnl
parents:
4
diff
changeset
|
399 print('No results') |
|
c53ed894d736
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 826659b9105b635cf240474428122f5a269f5c88
tomnl
parents:
4
diff
changeset
|
400 sys.exit() |
|
c53ed894d736
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 826659b9105b635cf240474428122f5a269f5c88
tomnl
parents:
4
diff
changeset
|
401 |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
402 headers = [] |
|
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
403 c = 0 |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
404 for fn in outfiles: |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
405 with open(fn, 'r') as infile: |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
406 reader = csv.reader(infile) |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
407 if sys.version_info >= (3, 0): |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
408 headers.extend(next(reader)) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
409 else: |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
410 headers.extend(reader.next()) |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
411 # check if file has any data rows |
|
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
412 for i, row in enumerate(reader): |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
413 c += 1 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
414 if i == 1: |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
415 break |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
416 |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
417 # if no data rows (e.g. matches) then do not save an output and leave the program |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
418 if c == 0: |
|
5
c53ed894d736
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 826659b9105b635cf240474428122f5a269f5c88
tomnl
parents:
4
diff
changeset
|
419 print('No results') |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
420 sys.exit() |
|
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
421 |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
422 additional_detail_headers = ['sample_name'] |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
423 for k, paramd in six.iteritems(paramds): |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
424 additional_detail_headers = list(set(additional_detail_headers + list(paramd['additional_details'].keys()))) |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
425 |
|
8
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
426 # add inchikey if not already present (missing in metchem output) |
|
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
427 if 'InChIKey' not in headers: |
|
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
428 headers.append('InChIKey') |
|
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
429 |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
430 headers = additional_detail_headers + sorted(list(set(headers))) |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
431 |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
432 |
|
8
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
433 |
|
2
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
434 # Sort files nicely |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
435 outfiles.sort(key = lambda s: int(re.match('^.*/(\d+)_metfrag_result.csv', s).group(1))) |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
436 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
437 print(outfiles) |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
438 |
|
d040e27b6225
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 59631850110e60900d03f642c445cc35a36414b5
tomnl
parents:
1
diff
changeset
|
439 |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
440 # merge outputs |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
441 with open(args.result_pth, 'a') as merged_outfile: |
|
3
5ee936e570a7
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b5d5fdc81a1756000dc25d4aa672fec1ece732a
tomnl
parents:
2
diff
changeset
|
442 dwriter = csv.DictWriter(merged_outfile, fieldnames=headers, delimiter='\t', quotechar='"') |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
443 dwriter.writeheader() |
|
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
444 |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
445 for fn in outfiles: |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
446 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
447 with open(fn) as infile: |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
448 reader = csv.DictReader(infile, delimiter=',', quotechar='"') |
|
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
449 for line in reader: |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
450 bewrite = True |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
451 for key, value in line.items(): |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
452 # Filter when no MS/MS peak matched |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
453 if key == "ExplPeaks": |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
454 if float(args.pctexplpeak_thrshld) > 0 and "NA" in value: |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
455 bewrite = False |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
456 # Filter with a score threshold |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
457 elif key == "Score": |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
458 if float(value) <= float(args.score_thrshld): |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
459 bewrite = False |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
460 elif key == "NoExplPeaks": |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
461 nbfindpeak = float(value) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
462 elif key == "NumberPeaksUsed": |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
463 totpeaks = float(value) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
464 # Filter with a relative number of peak matched |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
465 try: |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
466 pctexplpeak = nbfindpeak / totpeaks * 100 |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
467 except ZeroDivisionError: |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
468 bewrite = False |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
469 else: |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
470 if pctexplpeak < float(args.pctexplpeak_thrshld): |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
471 bewrite = False |
|
0
75c805123b45
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit b5f4005c77b275b9b1b4349b08476afc783a8e14
tomnl
parents:
diff
changeset
|
472 |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
473 # Write the line if it pass all filters |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
474 if bewrite: |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
475 bfn = os.path.basename(fn) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
476 bfn = bfn.replace(".csv", "") |
|
8
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
477 line['sample_name'] = paramds[bfn]['SampleName'] |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
478 ad = paramds[bfn]['additional_details'] |
|
8
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
479 |
|
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
480 if args.MetFragDatabaseType == "MetChem": |
|
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
481 # for some reason the metchem database option does not report the full inchikey (at least |
|
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
482 # in the Bham setup. This ensures we always get the fully inchikey |
|
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
483 line['InChIKey'] = '{}-{}-{}'.format(line['InChIKey1'], line['InChIKey2'], line['InChIKey3']) |
|
9a3019c609d9
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit febaaca439248736775db9ad0a857e30463d10aa
tomnl
parents:
7
diff
changeset
|
484 |
|
1
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
485 line.update(ad) |
|
c1b168770b68
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 5b384bd55e5bb4b0dc1daebd2ef5d3ee0e379b2e-dirty
tomnl
parents:
0
diff
changeset
|
486 dwriter.writerow(line) |
