annotate fill_ctd.py @ 10:bc7bd4710c4e draft

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