Mercurial > repos > fubar > tool_factory_2
comparison toolfactory/rgToolFactory2.xml @ 49:35a912ce0c83 draft
Can now make the bwa example from planemo :)
author | fubar |
---|---|
date | Thu, 27 Aug 2020 23:11:01 -0400 |
parents | 5a7a5b06bce0 |
children | bf432f4486c7 |
comparison
equal
deleted
inserted
replaced
48:5a7a5b06bce0 | 49:35a912ce0c83 |
---|---|
1 <tool id="rgTF2" name="toolfactory" version="2.00" profile="16.04" > | 1 <tool id="rgTF2" name="toolfactory" version="2.00" profile="16.04" > |
2 <description>Scripts into tools</description> | 2 <description>Scripts into tools</description> |
3 <macros> | 3 <macros> |
4 <xml name="io"> | 4 <xml name="planemo_steps"> |
5 <repeat name="history_inputs" title="Add a data file from your history to pass in to the script. Use the '+' button as needed" | 5 <param name="tool_version" label="Tool Version - bump this to warn users trying to redo old analyses" type="text" value="0.01" |
6 help="USE SMALL SAMPLES because these will be used for the new tool's test. The names will become a history item selector as input for users of the new tool you are making"> | |
7 <param name="input_files" type="data" format="data" label="Select an input file from your history" optional="true" multiple="false" | |
8 help=""/> | |
9 <param name="input_formats" type="select" multiple="true" label="Select the datatype(s) that your tool/script accepts as input" | |
10 help="If your datatype is not listed here, it has to be added in galaxy's datatypes_conf.xml" value="tabular"> | |
11 <options from_parameter="tool.app.datatypes_registry.upload_file_formats"> | |
12 <column name="value" index="0"/> | |
13 </options> | |
14 </param> | |
15 <param name="input_label" type="text" value="" label="This will become the user prompt for the form so please make it informative" | |
16 help="Note that '~~~' is an internal delimiter so must not appear in this text field - please work around this technical limitation" > | |
17 <sanitizer invalid_char=""> | |
18 <valid initial="string.printable"> <remove value='~~~'/> </valid> | |
19 <mapping initial="none"/> | |
20 </sanitizer> | |
21 </param> | |
22 <param name="input_help" type="text" value="parameter_help" label="This will become help text on the form." | |
23 help="Note that three consecutive ~ cannot be used in this text field - please work around this technical limitation"> | |
24 <sanitizer invalid_char=""> | |
25 <valid initial="string.printable"> <remove value='~~~'/> </valid> | |
26 <mapping initial="none"/> | |
27 </sanitizer> | |
28 </param> | |
29 <param name="input_CL" type="text" label="Positional: ordinal integer. Argparse: argument name. STDIN if the executable/script expects it" | |
30 help="If you will pass positional parameters, enter the integer ordinal for this parameter. If Argparse style, '--' will be prepended or '-' if single character" value=""> | |
31 </param> | |
32 </repeat> | |
33 <repeat name="history_outputs" title="Add a tool run output file to the user's history from your tool - Use the '+' button to add as many as needed" | |
34 help="The name will become a history item for users of the new tool you are making containing one of it's outputs"> | |
35 <param name="history_name" type="text" label="Name for this output to appear in new history" optional="false" help=""/> | |
36 <param name="history_format" type="select" multiple="false" label="Select the datatype for this output" | |
37 help="If your datatype is not listed here, it has to be added in galaxy's datatypes_conf.xml" value="tabular"> | |
38 <options from_parameter="tool.app.datatypes_registry.upload_file_formats"> | |
39 <column name="value" index="0"/> | |
40 </options> | |
41 </param> | |
42 <param name="history_CL" type="text" label="Positional: ordinal integer. Argparse: argument name expected for this output parameter. Use STDOUT if '>' required." | |
43 help="If positional parameters, enter the integer ordinal expected for this parameter. If Argparse style, '--' will be prepended or '-' if single character" value=""/> | |
44 </repeat> | |
45 </xml> | |
46 <xml name="additparam"> | |
47 <param name="edit_params" type="select" display="radio" label="Add any additional parameters to the generated tool form so they are user editable?" | |
48 help="If no (default), users will NOT be able to alter any additional parameters. If yes, these will appear on the tool form as text fields with no validation or sanitizing"> | |
49 <option value="yes">Yes, allow user to edit all additional parameters on the generated tool form</option> | |
50 <option value="no" selected="true">No - use the fixed values for all additional parameters - no user editing</option> | |
51 </param> | |
52 | |
53 <repeat name="additional_parameters" title="Pass additional parameters to the script" | |
54 help="See examples below to see how these can be parsed by scripts in the various languages"> | |
55 <param name="param_name" type="text" value="parameter_name" label="Choose the name for this parameter"> | |
56 <sanitizer invalid_char=""> | |
57 <valid initial="string.letters,string.digits"/> | |
58 <mapping initial="none"/> | |
59 </sanitizer> | |
60 </param> | |
61 <param name="param_type" type="select" label="Select the type for this parameter"> | |
62 <option value="text" selected="true">text</option> | |
63 <option value="integer">integer</option> | |
64 <option value="float">float</option> | |
65 </param> | |
66 <param name="param_value" type="text" value="" label="Enter this parameter's default value" | |
67 help="Note that '~~~' is an internal delimiter must not appear in this text field - please work around this technical limitation" > | |
68 <sanitizer invalid_char=""> | |
69 <valid initial="string.printable"> <remove value='~~~'/> </valid> | |
70 <mapping initial="none"/> | |
71 </sanitizer> | |
72 </param> | |
73 <param name="param_label" type="text" value="parameter_label" label="Enter this parameter's label for the form" | |
74 help="Note that '~~~' is an internal delimiter so must not appear in this text field - please work around this technical limitation" > | |
75 <sanitizer invalid_char=""> | |
76 <valid initial="string.printable"> <remove value='~~~'/> </valid> | |
77 <mapping initial="none"/> | |
78 </sanitizer> | |
79 </param> | |
80 <param name="param_help" type="text" value="parameter_help" label="Help for this parameter" | |
81 help="Note that three consecutive ~ cannot be used in this text field - please work around this technical limitation" > | |
82 <sanitizer invalid_char=""> | |
83 <valid initial="string.printable"> <remove value='~~~'/> </valid> | |
84 <mapping initial="none"/> | |
85 </sanitizer> | |
86 </param> | |
87 <param name="param_CL" type="text" label="Positional ordinal or argparse argument name" | |
88 help="Using positional parameters, enter the integer ordinal for this parameter on the command line. Using Argparse style, '--' will be prepended on the CL" value="" /> | |
89 <param name="param_CLprefixed" type="text" label="Override the generated default argparse name prefix if not empty - eg ----foo if needed" | |
90 help="Some targets like Planemo expect an unadorned action like 'test' before --galaxy_root and so on. " value="" /> | |
91 | |
92 </repeat> | |
93 </xml> | |
94 <xml name="builtin_dynpar"> | |
95 <param name="exe_package" type="hidden" value="" /> | |
96 <param name="exe_package_version" type="hidden" value="" /> | |
97 <param name="cl_override" type="hidden" value="" /> | |
98 <param name="interpreter_version" type="hidden" value=""/> | |
99 <param name="dependencies" type="hidden" value="" /> | |
100 <param name="dynScript" label="Cut and paste the script to be executed here" type="text" value="Script goes here" area="True" | |
101 help="If there are parameters, either positional or argparse style, the script must parse and use them appropriately"> | |
102 <sanitizer> | |
103 <valid initial="string.printable"> | |
104 </valid> | |
105 <mapping initial="none"/> | |
106 </sanitizer> | |
107 </param> | |
108 </xml> | |
109 <xml name="dynpar"> | |
110 <param name="exe_package" type="hidden" value="" /> | |
111 <param name="exe_package_version" type="hidden" value="" /> | |
112 <param name="cl_override" type="hidden" value="" /> | |
113 <param name="dependencies" type="text" value="" label="List additional dependencies - e.g. 'planemo, ephemeris'" help="These will be managed by Conda" /> | |
114 <param name="interpreter_version" type="text" value="" | |
115 label="Specific interpreter version to match dependency (Conda) repositories - e.g. for python '3.8.5' Latest if empty"/> | |
116 <param name="dynScript" label="Cut and paste the script to be executed here" type="text" value="Script goes here" area="True" | |
117 help="If there are parameters, either positional or argparse style, the script must parse and use them appropriately"> | |
118 <sanitizer> | |
119 <valid initial="string.printable"> | |
120 </valid> | |
121 <mapping initial="none"/> | |
122 </sanitizer> | |
123 </param> | |
124 </xml> | |
125 </macros> | |
126 <requirements> | |
127 <requirement type="package">python</requirement> | |
128 <requirement type="package">galaxyxml</requirement> | |
129 <requirement type="package">planemo</requirement> | |
130 <requirement type="package">yaml</requirement> | |
131 <requirement type="package">lxml</requirement> | |
132 </requirements> | |
133 <command interpreter="python"><![CDATA[ | |
134 #import os | |
135 #set dev_env = os.environ.get('GALAXY_DEVELOPMENT_ENVIRONMENT', '0') == '1' | |
136 #if not $dev_env and ( $__user_email__ not in $__admin_users__ ): | |
137 $__tool_directory__/rgToolFactory2.py --bad_user $__user_email__ | |
138 #else: | |
139 $__tool_directory__/rgToolFactory2.py | |
140 --dependencies "$interexe.dependencies" | |
141 --runmode "$interexe.interpreter" | |
142 #if len(str($interexe.cl_override)) > 0: | |
143 --cl_override "$interexe.cl_override" | |
144 #end if | |
145 #if str($interexe.interpreter)=="Executable" or str($interexe.interpreter)=="system": | |
146 --exe_package="$interexe.exe_package" | |
147 #if $interexe.exe_package_version: | |
148 --exe_package_version="$interexe.exe_package_version" | |
149 #end if | |
150 #else: | |
151 --interpreter_name="$interexe.interpreter" --script_path "$runme" | |
152 #if str($interexe.interpreter_version) != 'None': | |
153 --interpreter_version="$interexe.interpreter_version" | |
154 #end if | |
155 #end if | |
156 --tool_name="$tool_name" --user_email="$__user_email__" --citations="$citeme" --parampass="$ppass.parampass" | |
157 #if str($makeMode.make_Tool)=="yes": | |
158 --planemo_test "$makeMode.planemo_test" | |
159 --make_Tool="$makeMode.make_Tool" | |
160 --tool_desc="$makeMode.tool_desc" | |
161 --tool_version="$makeMode.tool_version" | |
162 --help_text="$helpme" | |
163 --new_tool="$new_tool" | |
164 #end if | |
165 #if $ppass.parampass != '0': | |
166 #if str($ppass.edit_params) == "yes": | |
167 --edit_additional_parameters | |
168 #end if | |
169 #for apar in $ppass.additional_parameters: | |
170 --additional_parameters="$apar.param_name~~~$apar.param_value~~~$apar.param_label~~~$apar.param_help~~~$apar.param_type~~~$apar.param_CL~~~$apar.param_CLprefixed" | |
171 #end for | |
172 #end if | |
173 #for $intab in $ppass.history_inputs: | |
174 --input_files="$intab.input_files~~~$intab.input_CL~~~$intab.input_formats~~~$intab.input_label~~~$intab.input_help" | |
175 #end for | |
176 #for $otab in $ppass.history_outputs: | |
177 --output_files "$otab.history_name~~~$otab.history_format~~~$otab.history_CL" | |
178 #end for | |
179 #end if | |
180 ]]></command> | |
181 <configfiles> | |
182 <configfile name="runme"> | |
183 | |
184 #if $interexe.interpreter != "Executable" and $interexe.interpreter != "system" : | |
185 ${interexe.dynScript} | |
186 #else: | |
187 $tool_name | |
188 #end if | |
189 </configfile> | |
190 <configfile name="helpme"> | |
191 #if $makeMode.make_Tool == "yes": | |
192 ${makeMode.help_text} | |
193 #else | |
194 $tool_name help goes here | |
195 #end if | |
196 </configfile> | |
197 <configfile name="citeme"> | |
198 #if $makeMode.make_Tool == "yes": | |
199 #for $citation in $makeMode.citations: | |
200 #if $citation.citation_type.type == "bibtex": | |
201 **ENTRY**bibtex | |
202 ${citation.citation_type.bibtex} | |
203 #else | |
204 **ENTRY**doi | |
205 ${citation.citation_type.doi} | |
206 #end if | |
207 #end for | |
208 #end if | |
209 </configfile> | |
210 </configfiles> | |
211 <inputs> | |
212 | |
213 <param name="tool_name" type="text" value="tool1" label="New tool ID and title for outputs" | |
214 help="This will become the toolshed repository name so choose thoughtfully to avoid namespace clashes with other tool writers. lower case, digits and underscores only"> | |
215 <sanitizer invalid_char=""> | |
216 <valid initial="string.letters,string.digits"> | |
217 <add value="_"/> | |
218 </valid> | |
219 </sanitizer> | |
220 </param> | |
221 <conditional name="interexe"> | |
222 <param name="interpreter" type="select" label="Tool model: For a managed external dependency, choose 'Executable', or choose an interpreter for a script" | |
223 help = "If executable, the supplied package will become a requirement so must match the tool dependency resolver package name - conda is the default."> | |
224 <option value="Executable" selected="true">An executable binary to be provided and managed by the Conda dependency management subsystem</option> | |
225 <option value="python">Use Python to run the script pasted below</option> | |
226 <option value="r-base">Use R (Rscript) to run the script pasted below</option> | |
227 <option value="perl">Use a depency managed Perl to run the script pasted below</option> | |
228 <option value="bash">Use the system bash to run the script pasted below</option> | |
229 <option value="sh">Use sh to run the script pasted below</option> | |
230 <option value="system" >Use a different system executable such as sed</option> | |
231 </param> | |
232 <when value="Executable"> | |
233 <param name="exe_package" type="text" value="" label="Executable/package name for Ddependency manager - e.g. 'bwa'" optional="false"/> | |
234 <param name="exe_package_version" type="text" value="" label="Executable/package version to match dependency (Conda) repositories - e.g. for bwa='0.7.17'. Latest if empty" /> | |
235 <param name="cl_override" type="text" value="" label="Command line override prefix - e.g. for ephemeris prepend the specific function such as 'workflow_install'" | |
236 help="Some packages like ephemerisand planemo require a sub-command - eg planemo test - before parameters are passed. Supply that here"/> | |
237 <param name="dependencies" type="hidden" value="" /> | |
238 </when> | |
239 <when value="system"> | |
240 <param name="dependencies" type="hidden" value="" /> | |
241 <param name="exe_package" type="text" value="" label="System executable to run - e.g. awk"/> | |
242 <param name="exe_package_version" type="hidden" value="" /> | |
243 <param name="cl_override" type="text" value="" label="Command line override prefix - e.g. for sed or awk, prepend this before the i/o parameters" | |
244 help="This may help finesse a command line - inputs and output will be passed as you specify below"/> | |
245 </when> | |
246 <when value = "python"> | |
247 <expand macro="dynpar" /> | |
248 </when> | |
249 <when value = "r-base"> | |
250 <expand macro="dynpar" /> | |
251 </when> | |
252 <when value = "perl"> | |
253 <expand macro="dynpar" /> | |
254 </when> | |
255 <when value = "bash"> | |
256 <expand macro="builtin_dynpar" /> | |
257 </when> | |
258 <when value = "sh"> | |
259 <expand macro="builtin_dynpar" /> | |
260 </when> | |
261 </conditional> | |
262 <conditional name = "ppass"> | |
263 | |
264 <param name="parampass" type="select" display="radio" label="Command line parameter passing method to use"> | |
265 <option value="argparse" selected="true">Argparse style: passed in the form of '--[clname] [value]'</option> | |
266 <option value="positional">Positional: Passed in the order of positional ordinals '...foo.bam bar.idx zot.xls'</option> | |
267 <option value="0">No parameters needed because tool reads selected input file from STDIN and writes STDOUT with new history output"</option> | |
268 </param> | |
269 <when value = "argparse"> | |
270 <expand macro="io" /> | |
271 <expand macro="additparam" /> | |
272 </when> | |
273 <when value = "positional"> | |
274 <expand macro="io" /> | |
275 <expand macro="additparam" /> | |
276 </when> | |
277 <when value = "0"> | |
278 <expand macro="io"/> | |
279 </when> | |
280 </conditional> | |
281 <conditional name="makeMode"> | |
282 <param name="make_Tool" type="select" display="radio" label="Generate new tool as a tar.gz file ready to upload to a toolshed repository" | |
283 help="Generate a toolshed archive - upload to a toolshed from where it can be auto-installed via the Galaxy admin functions" > | |
284 <option value="yes">Generate a Galaxy ToolShed compatible toolshed.gz</option> | |
285 <option value="" selected="true">No. Just run the script please</option> | |
286 </param> | |
287 <when value = "yes"> | |
288 <param name="planemo_test" type="select" display="radio" label="Use planemo to test the new tool (takes a while..)" | |
289 help="Planemo will test the tool, upload it to the local toolshed and install to this Galaxy for additional testing" > | |
290 <option value="yes" selected="true">Test with planemo and install to this Galaxy if passes</option> | |
291 <option value="">No test/install</option> | |
292 </param> | |
293 <param name="tool_version" label="Tool Version - bump this to warn users trying to redo old analyses" type="text" value="0.01" | |
294 help="If you change your script and regenerate the 'same' tool, you should inform Galaxy (and users) by changing (bumping is traditional) this number"/> | 6 help="If you change your script and regenerate the 'same' tool, you should inform Galaxy (and users) by changing (bumping is traditional) this number"/> |
295 <param name="tool_desc" label="Tool Description" type="text" value="" | 7 <param name="tool_desc" label="Tool Description" type="text" value="" |
296 help="Supply a brief tool description for the Galaxy tool menu entry (optional - appears after the tool name)" /> | 8 help="Supply a brief tool description for the Galaxy tool menu entry (optional - appears after the tool name)" /> |
297 <param name="help_text" label="Tool form documentation and help text for users" type="text" area="true" | 9 <param name="help_text" label="Tool form documentation and help text for users" type="text" area="true" |
298 value="**What it Does**" | 10 value="**What it Does**" |
299 help="Supply the brief user documentation to appear on the new tool form as reStructured text - http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html" > | 11 help="Supply user documentation to appear on the new tool form as reStructured text - http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html" > |
300 <sanitizer> | 12 <sanitizer> |
301 <valid initial="string.printable"> | 13 <valid initial="string.printable"> |
302 </valid> | 14 </valid> |
303 <mapping initial="none"/> | 15 <mapping initial="none"/> |
304 </sanitizer> | 16 </sanitizer> |
323 </sanitizer> | 35 </sanitizer> |
324 </param> | 36 </param> |
325 </when> | 37 </when> |
326 </conditional> | 38 </conditional> |
327 </repeat> | 39 </repeat> |
328 </when> | 40 </xml> |
329 <when value = ""> | 41 <xml name="io"> |
42 <repeat name="history_inputs" title="Add a data file from your history to pass in to the script. Use the '+' button as needed" | |
43 help="USE SMALL SAMPLES for the new tool's test. Prompts will form a history item selector as input for users of this new tool"> | |
44 <param name="input_files" type="data" format="data" label="Select an input file from your history" optional="true" multiple="false" | |
45 help=""/> | |
46 <param name="input_formats" type="select" multiple="true" label="Select the datatype(s) that your tool/script accepts as input" | |
47 help="If your datatype is not listed here, it has to be added in galaxy's datatypes_conf.xml" value="tabular"> | |
48 <options from_parameter="tool.app.datatypes_registry.upload_file_formats"> | |
49 <column name="value" index="0"/> | |
50 </options> | |
51 </param> | |
52 <param name="input_label" type="text" value="" label="This will become the user prompt for the form so please make it informative" | |
53 help="Note that '~~~' is an internal delimiter so must not appear in this text field - please work around this technical limitation" > | |
54 <sanitizer invalid_char=""> | |
55 <valid initial="string.printable"> <remove value='~~~'/> </valid> | |
56 <mapping initial="none"/> | |
57 </sanitizer> | |
58 </param> | |
59 <param name="input_help" type="text" value="parameter_help" label="This will become help text on the form." | |
60 help="Note that three consecutive ~ cannot be used in this text field - please work around this technical limitation"> | |
61 <sanitizer invalid_char=""> | |
62 <valid initial="string.printable"> <remove value='~~~'/> </valid> | |
63 <mapping initial="none"/> | |
64 </sanitizer> | |
65 </param> | |
66 <param name="input_CL" type="text" label="Positional: ordinal integer. Argparse: argument name. STDIN if the executable/script expects it" | |
67 help="If you will pass positional parameters, enter the integer ordinal for this parameter. If Argparse style, '--' will be prepended or '-' if single character" value=""> | |
68 </param> | |
69 </repeat> | |
70 <repeat name="history_outputs" title="Add a tool run output file to the user's history from your tool - Use the '+' button to add as many as needed" | |
71 help="The name will become a history item for users of the new tool you are making containing one of it's outputs"> | |
72 <param name="history_name" type="text" label="Name for this output to appear in new history" optional="false" help=""/> | |
73 <param name="history_format" type="select" multiple="false" label="Select the datatype for this output" | |
74 help="If your datatype is not listed here, it has to be added in galaxy's datatypes_conf.xml" value="tabular"> | |
75 <options from_parameter="tool.app.datatypes_registry.upload_file_formats"> | |
76 <column name="value" index="0"/> | |
77 </options> | |
78 </param> | |
79 <param name="history_CL" type="text" label="Positional: ordinal integer. Argparse: argument name expected for this output parameter. Use STDOUT if '>' required." | |
80 help="If positional parameters, enter the integer ordinal expected for this parameter. If Argparse style, '--' will be prepended or '-' if single character" value=""/> | |
81 <param name="history_test" type="text" label="Test pass decision criterion for this output compared to test generation" | |
82 help="Available options are diff:lines, sim_size" value="diff:2"/> | |
83 </repeat> | |
84 </xml> | |
85 <xml name="additparam"> | |
86 <param name="edit_params" type="select" display="radio" label="Add any additional parameters to the generated tool form so they are user editable?" | |
87 help="If no (default), users will NOT be able to alter any additional parameters. If yes, these will appear on the tool form as text fields with no validation or sanitizing"> | |
88 <option value="yes">Yes, allow user to edit all additional parameters on the generated tool form</option> | |
89 <option value="no" selected="true">No - use the fixed values for all additional parameters - no user editing</option> | |
90 </param> | |
91 | |
92 <repeat name="additional_parameters" title="Pass additional parameters to the script" | |
93 help="See examples below to see how these can be parsed by scripts in the various languages"> | |
94 <param name="param_name" type="text" value="parameter_name" label="Choose the name for this parameter"> | |
95 <sanitizer invalid_char=""> | |
96 <valid initial="string.letters,string.digits"/> | |
97 <mapping initial="none"/> | |
98 </sanitizer> | |
99 </param> | |
100 <param name="param_type" type="select" label="Select the type for this parameter"> | |
101 <option value="text" selected="true">text</option> | |
102 <option value="integer">integer</option> | |
103 <option value="float">float</option> | |
104 </param> | |
105 <param name="param_value" type="text" value="" label="Enter this parameter's default value" | |
106 help="Note that '~~~' is an internal delimiter must not appear in this text field - please work around this technical limitation" > | |
107 <sanitizer invalid_char=""> | |
108 <valid initial="string.printable"> <remove value='~~~'/> </valid> | |
109 <mapping initial="none"/> | |
110 </sanitizer> | |
111 </param> | |
112 <param name="param_label" type="text" value="parameter_label" label="Enter this parameter's label for the form" | |
113 help="Note that '~~~' is an internal delimiter so must not appear in this text field - please work around this technical limitation" > | |
114 <sanitizer invalid_char=""> | |
115 <valid initial="string.printable"> <remove value='~~~'/> </valid> | |
116 <mapping initial="none"/> | |
117 </sanitizer> | |
118 </param> | |
119 <param name="param_help" type="text" value="parameter_help" label="Help for this parameter" | |
120 help="Note that three consecutive ~ cannot be used in this text field - please work around this technical limitation" > | |
121 <sanitizer invalid_char=""> | |
122 <valid initial="string.printable"> <remove value='~~~'/> </valid> | |
123 <mapping initial="none"/> | |
124 </sanitizer> | |
125 </param> | |
126 <param name="param_CL" type="text" label="Positional ordinal | argparse argument name" | |
127 help="Using positional parameters, enter the integer ordinal for this parameter on the command line. Using Argparse style, '--' will be prepended on the CL" value="" /> | |
128 <param name="param_CLprefixed" type="text" label="Override the generated default argparse name prefix if not empty - eg ----foo if needed" | |
129 help="Some targets like Planemo expect an unadorned action like 'test' before --galaxy_root." value="" /> | |
130 </repeat> | |
131 </xml> | |
132 </macros> | |
133 <requirements> | |
134 <requirement type="package">python</requirement> | |
135 <requirement type="package">perl</requirement> | |
136 <requirement type="package">r-base</requirement> | |
137 <requirement type="package">galaxyxml</requirement> | |
138 <requirement type="package">planemo</requirement> | |
139 <requirement type="package">yaml</requirement> | |
140 <requirement type="package">lxml</requirement> | |
141 </requirements> | |
142 <command interpreter="python"><![CDATA[ | |
143 #import os | |
144 #set dev_env = os.environ.get('GALAXY_DEVELOPMENT_ENVIRONMENT', '0') == '1' | |
145 #if not $dev_env and ( $__user_email__ not in $__admin_users__ ): | |
146 $__tool_directory__/rgToolFactory2.py --bad_user $__user_email__ | |
147 #else: | |
148 $__tool_directory__/rgToolFactory2.py | |
149 #if len(str($cl_prefix)) > 3: | |
150 --cl_prefix "$cl_prefix" | |
151 #end if | |
152 #if $cover.commover == "yes": | |
153 #if len(str($cover.command_override)) > 10: | |
154 --command_override "$commandoverride" | |
155 #end if | |
156 #if len(str($cover.test_override)) > 10: | |
157 --test_override "$testoverride" | |
158 #end if | |
159 #end if | |
160 #if $interexe.dependency_model == "managed": | |
161 --packages "$interexe.packages" | |
162 #else: | |
163 --sysexe "$interexe.sysexe" | |
164 #end if | |
165 --tool_name="$tool_name" --user_email="$__user_email__" --citations="$citeme" --parampass="$ppass.parampass" | |
166 #if $usescript.choosescript == "yes": | |
167 --script_path "$runme" | |
168 #end if | |
169 #if str($makeMode.make_Tool)!="runonly": | |
170 --make_Tool="$makeMode.make_Tool" | |
171 --tool_desc="$makeMode.tool_desc" | |
172 --tool_version="$makeMode.tool_version" | |
173 --help_text="$helpme" | |
174 --new_tool="$new_tool" | |
175 #end if | |
176 #if $ppass.parampass != '0': | |
177 #if str($ppass.edit_params) == "yes": | |
178 --edit_additional_parameters | |
179 #end if | |
180 #for apar in $ppass.additional_parameters: | |
181 --additional_parameters="$apar.param_name~~~$apar.param_value~~~$apar.param_label~~~$apar.param_help~~~$apar.param_type~~~$apar.param_CL~~~$apar.param_CLprefixed" | |
182 #end for | |
183 #end if | |
184 #for $intab in $ppass.history_inputs: | |
185 --input_files="$intab.input_files~~~$intab.input_CL~~~$intab.input_formats~~~$intab.input_label~~~$intab.input_help" | |
186 #end for | |
187 #for $otab in $ppass.history_outputs: | |
188 --output_files "$otab.history_name~~~$otab.history_format~~~$otab.history_CL~~~$otab.history_test" | |
189 #end for | |
190 #end if | |
191 ]]></command> | |
192 <configfiles> | |
193 <configfile name="runme"> | |
194 #if $usescript.choosescript == 'yes': | |
195 $usescript.dynScript | |
196 #end if | |
197 </configfile> | |
198 <configfile name="commandoverride"> | |
199 #if $cover.commover == "yes" and len(str($cover.command_override).strip()) > 1: | |
200 $cover.command_override | |
201 #end if | |
202 </configfile> | |
203 <configfile name="testoverride"> | |
204 #if $cover.commover == "yes" and len(str($cover.test_override).strip()) > 1: | |
205 $cover.test_override | |
206 #end if | |
207 </configfile> | |
208 <configfile name="helpme"> | |
209 #if $makeMode.make_Tool != "runonly": | |
210 ${makeMode.help_text} | |
211 #else | |
212 $tool_name help goes here | |
213 #end if | |
214 </configfile> | |
215 <configfile name="citeme"> | |
216 #if $makeMode.make_Tool != "runonly": | |
217 #for $citation in $makeMode.citations: | |
218 #if $citation.citation_type.type == "bibtex": | |
219 **ENTRY**bibtex | |
220 ${citation.citation_type.bibtex} | |
221 #else | |
222 **ENTRY**doi | |
223 ${citation.citation_type.doi} | |
224 #end if | |
225 #end for | |
226 #end if | |
227 </configfile> | |
228 </configfiles> | |
229 <inputs> | |
230 <param name="tool_name" type="text" value="tool1" label="New tool ID and title for outputs" | |
231 help="Toolshed repository name. Choose thoughtfully to avoid namespace clashes with other tool writers. Lower case, digits and underscores only"> | |
232 <sanitizer invalid_char=""> | |
233 <valid initial="string.letters,string.digits"> | |
234 <add value="_"/> | |
235 </valid> | |
236 </sanitizer> | |
237 </param> | |
238 | |
239 <conditional name="interexe"> | |
240 <param name="dependency_model" type="select" label="Dependency model: Conda managed external dependency or existing system executable" | |
241 help = "If managed, the supplied package will become a requirement so must match the tool dependency resolver package name in conda."> | |
242 <option value="managed" selected="true" >Use Conda managed dependencies</option> | |
243 <option value="system" >Use a non-dependency managed system executable like bash or awk</option> | |
244 </param> | |
245 <when value="managed"> | |
246 <param name="packages" type="text" value="" label="Package name[:version, name:version...] for Conda. First will be called on generated command line" optional="false" | |
247 help="Use colon to append specific versiion like 'bwa:0.17.0'. Default is latest if no version. Will be used every time the tool is (re)run." /> | |
248 <param name="sysexe" type="hidden" value="" /> | |
249 </when> | |
250 <when value="system"> | |
251 <param name="sysexe" type="text" value="" label="System executable to run. Supplied/managed by the operating system - not Conda" optional="false" | |
252 help=".e.g bash, awk or other standard and relatively invariant unix utilities"/> | |
253 <param name="packages" type="hidden" value="" /> | |
330 </when> | 254 </when> |
331 </conditional> | 255 </conditional> |
256 <conditional name="usescript"> | |
257 <param name="choosescript" type="select" display="radio" label="Choose whether to run a supplied script - useful only if the dependency can use them" | |
258 help = "Useful for script interpreters like Python or bash. All i/o and parameters must be passed. Choose No unless script is needed."> | |
259 <option value="no" selected="true">No script required for the first dependency above - just parameters on the command line</option> | |
260 <option value="yes">A script is ready to be pasted below.</option> | |
261 </param> | |
262 <when value="no"> | |
263 <param name="dynScript" type="hidden" value="" /> | |
264 </when> | |
265 <when value="yes"> | |
266 <param name="dynScript" type="text" area="True" value="" label="Script for first dependency to interpret. " | |
267 help="Script must handle all i/o and parameters as specified below using the parameter passing method chosen above"> | |
268 <sanitizer> | |
269 <valid initial="string.printable"> | |
270 </valid> | |
271 <mapping initial="none"/> | |
272 </sanitizer> | |
273 </param> | |
274 </when> | |
275 </conditional> | |
276 <conditional name="ppass"> | |
277 <param name="parampass" type="select" display="radio" label="Command line parameter passing method to use"> | |
278 <option value="argparse" selected="true">Argparse style: passed in the form of --clname value</option> | |
279 <option value="positional">Positional: Passed in the order of positional ordinals ...foo.bam bar.idx zot.xls</option> | |
280 <option value="0">Tool reads selected input file from STDIN and writes STDOUT with new history output with no parameters</option> | |
281 </param> | |
282 <when value="argparse"> | |
283 <expand macro="io" /> | |
284 <expand macro="additparam" /> | |
285 </when> | |
286 <when value="positional"> | |
287 <expand macro="io" /> | |
288 <expand macro="additparam" /> | |
289 </when> | |
290 <when value="0"> | |
291 <expand macro="io"/> | |
292 </when> | |
293 </conditional> | |
294 <param name="cl_prefix" type="text" value="" label="Prefix for generated command line. Prepends generated i/o and parameter CL. Use override below to replace completely" | |
295 help="Text will replace generated executable/script elements. Sometimes required before i/o and parameters in the generated command line." /> | |
296 <conditional name="cover"> | |
297 <param name="commover" type="select" display="radio" label="Add Human wrought code to override the generated XML command and/or test section - DIY" | |
298 help = "For arbitrary and artfull command lines. All i/o and parameters must be passed. Choose No unless needed. Not for the faint of heart"> | |
299 <option value="no" selected="true">Use automatically generated command/test XML </option> | |
300 <option value="yes">DIY XML needed to replace autogenerated command and/or test segments will be pasted below</option> | |
301 </param> | |
302 <when value="no"> | |
303 <param name="command_override" type="hidden" value="" /> | |
304 <param name="test_override" type="hidden" value="" /> | |
305 </when> | |
306 <when value="yes"> | |
307 <param name="command_override" type="text" area="True" value="" label="Optional. Human wrought command element override XML/template - e.g. for bwa" | |
308 help="For arbitrary and artfull command lines. All i/o and parameters must be passed. Leave blank unless needed. Not for the faint of heart"> | |
309 <sanitizer> | |
310 <valid initial="string.printable"> | |
311 </valid> | |
312 <mapping initial="none"/> | |
313 </sanitizer> | |
314 </param> | |
315 <param name="test_override" type="text" area="True" value="" label="Optional. Human wrought test element override XML/template - e.g. for bwa" | |
316 help="For arbitrary and artfull scripts. Leave blank unless needed. Not for the faint of heart"> | |
317 <sanitizer> | |
318 <valid initial="string.printable"> | |
319 </valid> | |
320 <mapping initial="none"/> | |
321 </sanitizer> | |
322 </param> | |
323 </when> | |
324 </conditional> | |
325 | |
326 <conditional name="makeMode"> | |
327 <param name="make_Tool" type="select" display="radio" label="Choose the steps you want to run. Docker is recommended if you want local installation" | |
328 help="Testing and installation in this Galaxy is optional. Planemo run must be used if you are providing XML overrides for the command or test sections" > | |
329 <option value="runonly">Run this configuration. NOT suitable for Executable command/test overriden tools</option> | |
330 <option value="generate" selected="true">Run and generate toolshed archive containing the new tool. NOT suitable for command/test overriden tools</option> | |
331 <option value="gentest">Run, generate and test the new tool with planemo. NOT suitable for command/test overriden tools</option> | |
332 <option value="gentestinstall">Run, generate, planemo test and install (via the local toolshed) the new tool. NOT suitable for command/test overriden tools</option> | |
333 <option value="planemogenerate">Planemo test twice - once to generate test outputs. Suitable for tools with or without command/test overrides but takes time</option> | |
334 <option value="planemogeninstall">Planemo test twice and install. Suitable for tools with or without command/test overrides.</option> | |
335 </param> | |
336 <when value="runonly"/> | |
337 <when value="generate"> | |
338 <expand macro="planemo_steps" /> | |
339 </when> | |
340 <when value="gentest"> | |
341 <expand macro="planemo_steps" /> | |
342 </when> | |
343 <when value="gentestinstall"> | |
344 <expand macro="planemo_steps" /> | |
345 </when> | |
346 <when value="planemogenerate"> | |
347 <expand macro="planemo_steps" /> | |
348 </when> | |
349 <when value="planemogeninstall"> | |
350 <expand macro="planemo_steps" /> | |
351 </when> | |
352 </conditional> | |
353 | |
332 </inputs> | 354 </inputs> |
333 <outputs> | 355 <outputs> |
334 | 356 |
335 <data format="tgz" name="new_tool" label="${tool_name}_toolshed.tgz" > | 357 <data format="tgz" name="new_tool" label="${tool_name}_toolshed.tgz" > |
336 <filter>makeMode['make_Tool'] == "yes"</filter> | 358 <filter>makeMode['make_Tool'] != "runonly"</filter> |
337 </data> | 359 </data> |
338 | 360 |
339 <collection name="TF_run_report" type="list" label="${tool_name} outputs"> | 361 <collection name="TF_run_report" type="list" label="${tool_name} outputs"> |
340 <discover_datasets pattern="__name_and_ext__" directory="TF_run_report_tempdir" /> | 362 <discover_datasets pattern="__name_and_ext__" directory="TF_run_report_tempdir" /> |
341 </collection> | 363 </collection> |
349 <param name="input_formats" value="txt" /> | 371 <param name="input_formats" value="txt" /> |
350 <param name="input_label" value="input" /> | 372 <param name="input_label" value="input" /> |
351 <param name="input_help" value="help" /> | 373 <param name="input_help" value="help" /> |
352 <param name="tool_name" value="pyrevpos" /> | 374 <param name="tool_name" value="pyrevpos" /> |
353 <param name="parampass" value="positional" /> | 375 <param name="parampass" value="positional" /> |
354 <param name="make_Tool" value="yes" /> | 376 <param name="make_Tool" value="generate" /> |
355 <param name="tool_version" value="0.01" /> | 377 <param name="tool_version" value="0.01" /> |
356 <param name="tool_desc" value="positional reverse" /> | 378 <param name="tool_desc" value="positional reverse" /> |
357 <param name="help_text" value="help text goes here" /> | 379 <param name="help_text" value="help text goes here" /> |
358 <param name="interpreter" value="python"/> | 380 <param name="interpreter" value="python"/> |
359 <param name="history_name" value="output2_sample" /> | 381 <param name="history_name" value="output2_sample" /> |