Mercurial > repos > computational-metabolomics > cfmid
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 (18 months ago) |
parents | |
children |
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) |