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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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)