Mercurial > repos > galaxyp > openms_novoradapter
annotate fill_ctd.py @ 0:562d46a2f8b6 draft
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
author | galaxyp |
---|---|
date | Thu, 27 Aug 2020 19:40:35 -0400 |
parents | |
children | ea8f9d83f34f |
rev | line source |
---|---|
0
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
1 import collections |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
2 import json |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
3 import operator |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
4 import os |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
5 import re |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
6 import subprocess |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
7 import sys |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
8 from functools import reduce # forward compatibility for Python 3 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
9 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
10 from CTDopts.CTDopts import ( |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
11 _Choices, |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
12 _InFile, |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
13 _Null, |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
14 _NumericRange, |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
15 CTDModel |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
16 ) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
17 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
18 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
19 def getFromDict(dataDict, mapList): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
20 return reduce(operator.getitem, mapList, dataDict) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
21 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
22 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
23 def setInDict(dataDict, mapList, value): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
24 getFromDict(dataDict, mapList[:-1])[mapList[-1]] = value |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
25 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
26 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
27 def mergeDicts(d, e): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
28 """ |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
29 insert values from the dict e into dict d |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
30 no values of d are overwritten |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
31 """ |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
32 for k, v in e.items(): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
33 if (k in d and isinstance(d[k], dict) and isinstance(e[k], collections.abc.Mapping)): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
34 mergeDicts(d[k], e[k]) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
35 elif k not in d and not isinstance(e[k], collections.abc.Mapping): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
36 d[k] = e[k] |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
37 else: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
38 sys.stderr.write("fill_ctd.py: could not merge key %s for %s in %s" % (k, d, e)) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
39 sys.exit(1) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
40 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
41 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
42 def _json_object_hook_noenvlookup(d): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
43 return _json_object_hook(d, envlookup=False) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
44 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
45 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
46 def _json_object_hook(d, envlookup=True): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
47 """ |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
48 wee helper to transform the json written by galaxy |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
49 while loading |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
50 - True/False (bool objects) -> "true"/"false" (lowercase string) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
51 - data inputs with multiple and optional true give [None] if no file is given -> [] |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
52 - None -> "" (empty string) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
53 - replace bash expressions (if envlookup is True): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
54 - environment variables (need to consist capital letters and _) by their value |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
55 - expressions |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
56 """ |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
57 for k in d.keys(): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
58 # if type(d[k]) is bool: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
59 # d[k] = str(d[k]).lower() |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
60 # else |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
61 if type(d[k]) is list and len(d[k]) == 1 and d[k][0] is None: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
62 d[k] = [] |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
63 elif d[k] is None: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
64 d[k] = "" |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
65 elif envlookup and type(d[k]) is str and d[k].startswith("$"): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
66 m = re.fullmatch(r"\$([A-Z_]+)", d[k]) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
67 if m: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
68 d[k] = os.environ.get(m.group(1), "") |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
69 continue |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
70 m = re.fullmatch(r"\$(\{[A-Z_]+):-(.*)\}", d[k]) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
71 if m: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
72 d[k] = os.environ.get(m.group(1), m.group(2)) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
73 continue |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
74 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
75 try: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
76 p = subprocess.run("echo %s" % d[k], shell=True, check=True, stdout=subprocess.PIPE, encoding="utf8") |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
77 d[k] = p.stdout.strip() |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
78 except subprocess.CalledProcessError: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
79 sys.stderr.write("fill_ctd error: Could not evaluate %s" % d[k]) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
80 continue |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
81 return d |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
82 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
83 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
84 def qstring2list(qs): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
85 """ |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
86 transform a space separated string that is quoted by " into a list |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
87 """ |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
88 lst = list() |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
89 qs = qs.split(" ") |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
90 quoted = False |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
91 for p in qs: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
92 if p == "": |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
93 continue |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
94 if p.startswith('"') and p.endswith('"'): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
95 lst.append(p[1:-1]) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
96 elif p.startswith('"'): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
97 quoted = True |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
98 lst.append(p[1:] + " ") |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
99 elif p.endswith('"'): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
100 quoted = False |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
101 lst[-1] += p[:-1] |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
102 else: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
103 if quoted: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
104 lst[-1] += p + " " |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
105 else: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
106 lst.append(p) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
107 return lst |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
108 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
109 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
110 def fix_underscores(args): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
111 if type(args) is dict: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
112 for k in list(args.keys()): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
113 v = args[k] |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
114 if type(v) is dict: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
115 fix_underscores(args[k]) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
116 if k.startswith("_"): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
117 args[k[1:]] = v |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
118 del args[k] |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
119 elif type(args) is list: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
120 for i, v in enumerate(args): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
121 if type(v) is dict: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
122 fix_underscores(args[i]) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
123 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
124 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
125 input_ctd = sys.argv[1] |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
126 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
127 # load user specified parameters from json |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
128 with open(sys.argv[2]) as fh: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
129 args = json.load(fh, object_hook=_json_object_hook_noenvlookup) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
130 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
131 # load hardcoded parameters from json |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
132 with open(sys.argv[3]) as fh: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
133 hc_args = json.load(fh, object_hook=_json_object_hook) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
134 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
135 # insert the hc_args into the args |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
136 mergeDicts(args, hc_args) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
137 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
138 if "adv_opts_cond" in args: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
139 args.update(args["adv_opts_cond"]) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
140 del args["adv_opts_cond"] |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
141 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
142 # IDMapper has in and spectra:in params, in is used in out as format_source", |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
143 # which does not work in Galaxy: https://github.com/galaxyproject/galaxy/pull/9493" |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
144 # therefore hardcoded params change the name of spectra:in to spectra:_in |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
145 # which is corrected here again |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
146 # TODO remove once PR is in and adapt profile accordingly |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
147 fix_underscores(args) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
148 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
149 model = CTDModel(from_file=input_ctd) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
150 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
151 # transform values from json that correspond to |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
152 # - old style booleans (string + restrictions) -> transformed to a str |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
153 # - unrestricted ITEMLIST which are represented as strings |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
154 # ("=quoted and space separated) in Galaxy -> transform to lists |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
155 # - optional data input parameters that have defaults and for which no |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
156 # value is given -> overwritte with the default |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
157 for p in model.get_parameters(): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
158 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
159 # check if the parameter is in the arguments from the galaxy tool |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
160 # (from the json file(s)), since advanced parameters are absent |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
161 # if the conditional is set to basic parameters |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
162 try: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
163 getFromDict(args, p.get_lineage(name_only=True)) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
164 except KeyError: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
165 # few tools use dashes in parameters which are automatically replaced |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
166 # by underscores by Galaxy. in these cases the dictionary needs to be |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
167 # updated |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
168 # TODO might be removed later https://github.com/OpenMS/OpenMS/pull/4529 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
169 try: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
170 lineage = [_.replace("-", "_") for _ in p.get_lineage(name_only=True)] |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
171 val = getFromDict(args, lineage) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
172 except KeyError: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
173 continue |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
174 else: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
175 setInDict(args, lineage, val) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
176 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
177 if p.type is str and type(p.restrictions) is _Choices and set(p.restrictions.choices) == set(["true", "false"]): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
178 v = getFromDict(args, p.get_lineage(name_only=True)) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
179 setInDict(args, p.get_lineage(name_only=True), str(v).lower()) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
180 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
181 elif p.is_list and (p.restrictions is None or type(p.restrictions) is _NumericRange): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
182 v = getFromDict(args, p.get_lineage(name_only=True)) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
183 if type(v) is str: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
184 setInDict(args, p.get_lineage(name_only=True), qstring2list(v)) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
185 elif p.type is _InFile and not (p.default is None or type(p.default) is _Null): |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
186 v = getFromDict(args, p.get_lineage(name_only=True)) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
187 if v in [[], ""]: |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
188 setInDict(args, p.get_lineage(name_only=True), p.default) |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
189 |
562d46a2f8b6
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
galaxyp
parents:
diff
changeset
|
190 model.write_ctd(input_ctd, arg_dict=args) |