annotate cfmid.py @ 0:41c4de0ed4ec draft default tip

planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
author computational-metabolomics
date Wed, 15 Nov 2023 16:28:04 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
1 import argparse
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
2 import csv
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
3 import os
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
4 import shutil
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
5
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
6
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
7 parser = argparse.ArgumentParser()
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
8 parser.add_argument("--input")
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
9 parser.add_argument("--db_local")
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
10 parser.add_argument("--num_highest")
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
11 parser.add_argument("--ppm_db")
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
12 parser.add_argument("--ppm_mass_tol")
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
13 parser.add_argument("--abs_mass_tol")
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
14 parser.add_argument("--polarity")
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
15 parser.add_argument("--score_type")
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
16 parser.add_argument("--results")
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
17 parser.add_argument("--tool_directory")
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
18
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
19 args = parser.parse_args()
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
20 print(args)
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
21
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
22 # Example
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
23 # python cfmid.py --abs_mass_tol='0.01' --db_local='test-data/demo_db.tsv' --input='test-data/input.msp' --num_highest='10' --polarity='pos' --ppm_db='10.0' --ppm_mass_tol='10.0' --results='results.txt' --score_type='Jaccard' --tool_directory='/home/rw/Documents/cfm-galaxy/tools/cfm'
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
24
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
25 id2info = {}
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
26 mz2id = []
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
27 # store DB in dicts
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
28 with open(args.db_local) as csvfile:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
29 csvreader = csv.DictReader(csvfile, delimiter="\t")
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
30 for row in csvreader:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
31 id2info[row["Identifier"]] = row
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
32 mz2id.append((float(row["MonoisotopicMass"]), row["Identifier"]))
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
33
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
34 name_tmp = "tmp"
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
35 if os.path.isdir(name_tmp):
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
36 shutil.rmtree(name_tmp)
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
37
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
38 os.makedirs(name_tmp)
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
39 with open(args.input, "r") as infile:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
40 numlines = 0
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
41 for line in infile:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
42 line = line.strip()
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
43 if numlines == 0:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
44 print(line)
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
45 if "NAME" in line:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
46 featid = line.split("NAME: ")[1]
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
47 if "PRECURSORMZ" in line:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
48 mz = float(line.split("PRECURSORMZ: ")[1])
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
49 if args.polarity == "pos":
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
50 mz2 = mz - 1.007276
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
51 else:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
52 mz2 = mz + 1.007276
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
53 if "Num Peaks" in line:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
54 numlines = int(line.split("Num Peaks: ")[1])
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
55 linesread = 0
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
56 peaklist = []
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
57 else:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
58 if linesread == numlines:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
59 numlines = 0
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
60 cand_id_list = []
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
61 mz_ranges = (float(args.ppm_db) * mz2) / 1e6
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
62 mz_ranges = (mz2 - mz_ranges, mz2 + mz_ranges)
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
63 # check hits
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
64 for t in mz2id:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
65 if (t[0] > mz_ranges[0]) and (t[0] < mz_ranges[1]):
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
66 cand_id_list.append(t[1])
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
67 # run only if we got candidates
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
68 if len(cand_id_list) > 0:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
69 # write spec file
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
70 with open("./tmpspec.txt", "w") as outfile:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
71 for e in ["low", "mid", "high"]:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
72 outfile.write(e + "\n")
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
73 for p in peaklist:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
74 outfile.write(p[0] + "\t" + p[1] + "\n")
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
75 # write candidates file
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
76 with open("./tmpcand.txt", "w") as outfile:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
77 for c in cand_id_list:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
78 outfile.write(
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
79 "{0} {1}\n".format(c, id2info[c]["InChI"])
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
80 ) # TODO: Use InChI or SMILES
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
81
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
82 # create command line call
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
83 outi = os.path.join(name_tmp, "cfm_" + featid + ".txt")
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
84 cmd_command = "cfm-id tmpspec.txt {0} tmpcand.txt ".format(featid)
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
85 cmd_command += "{0} {1} {2} {3} ".format(
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
86 args.num_highest,
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
87 args.ppm_db,
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
88 args.ppm_mass_tol,
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
89 args.abs_mass_tol,
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
90 )
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
91 if args.polarity == "pos":
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
92 cmd_command += (
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
93 os.path.join(
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
94 args.tool_directory,
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
95 "data",
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
96 "positive_metab_se_cfm",
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
97 "param_output0.log",
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
98 )
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
99 + " "
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
100 )
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
101 cmd_command += (
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
102 os.path.join(
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
103 args.tool_directory,
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
104 "data",
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
105 "positive_metab_se_cfm",
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
106 "param_config.txt",
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
107 )
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
108 + " "
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
109 )
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
110 else:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
111 cmd_command += (
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
112 os.path.join(
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
113 args.tool_directory,
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
114 "data",
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
115 "negative_metab_se_cfm/param_output0.log",
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
116 )
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
117 + " "
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
118 )
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
119 cmd_command += (
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
120 os.path.join(
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
121 args.tool_directory,
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
122 "data",
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
123 "negative_metab_se_cfm/param_config.txt",
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
124 )
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
125 + " "
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
126 )
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
127 cmd_command += "{0} 1 {1}".format(args.score_type, outi)
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
128 # run
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
129 print(cmd_command)
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
130 os.system(cmd_command)
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
131 else:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
132 line = tuple(line.split("\t"))
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
133 linesread += 1
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
134 peaklist.append(line)
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
135
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
136
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
137 # merge outputs
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
138 outfiles = os.listdir(name_tmp)
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
139 outfiles.sort(key=lambda x: os.path.getmtime(os.path.join(name_tmp, x)))
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
140 with open(args.results, "w") as outfile:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
141 outfile.write("UID\tRank\tScore\tIdentifier\tInChI\n")
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
142 for fname in outfiles:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
143 fileid = os.path.basename(fname)
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
144 fileid = fileid.split("_")[1]
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
145 fileid = fileid.split(".txt")[0]
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
146 with open(os.path.join(name_tmp, fname)) as infile:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
147 for line in infile:
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
148 line = line.replace(" ", "\t")
41c4de0ed4ec planemo upload for repository https://github.com/computational-metabolomics/cfm-galaxy/tree/master/tools/cfm commit f0157bb3b01871411f27c1d5bd4ccee2039335d0
computational-metabolomics
parents:
diff changeset
149 outfile.write(fileid + "\t" + line)