annotate toolfactory/ToolFactory.xml @ 6:efefe43f23c8 draft default tip

Uploaded
author fubar
date Fri, 30 Apr 2021 02:10:32 +0000
parents e2c8c2fa192d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
2a46da701dde Uploaded
fubar
parents:
diff changeset
1 <tool id="rgtf2" name="toolfactory" version="2.00" profile="16.04" >
2a46da701dde Uploaded
fubar
parents:
diff changeset
2 <description>Scripts into tools v2.0</description>
2a46da701dde Uploaded
fubar
parents:
diff changeset
3 <macros>
2a46da701dde Uploaded
fubar
parents:
diff changeset
4 <xml name="singleText">
2a46da701dde Uploaded
fubar
parents:
diff changeset
5 <param name="param_value" type="text" value="" label="Enter this parameter's default text value">
2a46da701dde Uploaded
fubar
parents:
diff changeset
6 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
7 </xml>
2a46da701dde Uploaded
fubar
parents:
diff changeset
8 <xml name="singleInt">
2a46da701dde Uploaded
fubar
parents:
diff changeset
9 <param name="param_value" type="integer" value="" label="Enter this parameter's default integer value" >
2a46da701dde Uploaded
fubar
parents:
diff changeset
10 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
11 </xml>
2a46da701dde Uploaded
fubar
parents:
diff changeset
12 <xml name="singleFloat">
2a46da701dde Uploaded
fubar
parents:
diff changeset
13 <param name="param_value" type="float" value="" label="Enter this parameter's default value">
2a46da701dde Uploaded
fubar
parents:
diff changeset
14 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
15 </xml>
2a46da701dde Uploaded
fubar
parents:
diff changeset
16 <xml name="singleBoolean">
2a46da701dde Uploaded
fubar
parents:
diff changeset
17 <param name="param_value" type="boolean" value="" label="Enter this parameter's default value" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
18 <param name="truevalue" type="text" value="True" label="Command line value to emit when True" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
19 <param name="falsevalue" type="boolean" value="True" label="Command line value to emit when False" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
20 </xml>
2a46da701dde Uploaded
fubar
parents:
diff changeset
21 <xml name="selectText">
2a46da701dde Uploaded
fubar
parents:
diff changeset
22 <repeat name="selectTexts" title="Add each option to be presented in a text select box" min="2" default="2"
2a46da701dde Uploaded
fubar
parents:
diff changeset
23 help="Each text added here will also have a value to be emitted on the command line when the text is chosen">
2a46da701dde Uploaded
fubar
parents:
diff changeset
24 <param name="select_text" type="text" value="" label="Enter the explanatory text the user will see for this choice" >
2a46da701dde Uploaded
fubar
parents:
diff changeset
25 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
26 <param name="select_value" type="text" value="" label="Enter the value for the command line when the user selects this option">
2a46da701dde Uploaded
fubar
parents:
diff changeset
27 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
28 </repeat>
2a46da701dde Uploaded
fubar
parents:
diff changeset
29 </xml>
2a46da701dde Uploaded
fubar
parents:
diff changeset
30 <xml name="tool_metadata">
6
efefe43f23c8 Uploaded
fubar
parents: 5
diff changeset
31 <param name="tool_version" label="Tool Version - bump this to warn users trying to redo old analyses" type="text" value="0.01"
4
2a46da701dde Uploaded
fubar
parents:
diff changeset
32 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
efefe43f23c8 Uploaded
fubar
parents: 5
diff changeset
33 <param name="tool_desc" label="Tool Synopsis" type="text" value=""
efefe43f23c8 Uploaded
fubar
parents: 5
diff changeset
34 help="Supply a brief tool description for the Galaxy tool menu entry" />
efefe43f23c8 Uploaded
fubar
parents: 5
diff changeset
35 <param name="install" label="Attempt to install in the host Galaxy"
efefe43f23c8 Uploaded
fubar
parents: 5
diff changeset
36 help="This will fail unless running in a very unusual configuration such as a specialised Docker container"
efefe43f23c8 Uploaded
fubar
parents: 5
diff changeset
37 type="boolean" checked="False" truevalue="1" falsevalue="0" />
efefe43f23c8 Uploaded
fubar
parents: 5
diff changeset
38 <param name="run_test" label="Finalise new archive with test outputs. Runs externally. Outputs will appear in history when ready"
efefe43f23c8 Uploaded
fubar
parents: 5
diff changeset
39 help="Archives must be run and updated using planemo to populate all the test outputs. May take a long time depending on dependencies"
efefe43f23c8 Uploaded
fubar
parents: 5
diff changeset
40 type="boolean" checked="True" truevalue="1" falsevalue="0" />
4
2a46da701dde Uploaded
fubar
parents:
diff changeset
41 <param name="help_text" label="Tool form documentation and help text for users" type="text" area="true"
2a46da701dde Uploaded
fubar
parents:
diff changeset
42 value="**What it Does**"
2a46da701dde Uploaded
fubar
parents:
diff changeset
43 help="Supply user documentation to appear on the new tool form as reStructured text - http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html" >
2a46da701dde Uploaded
fubar
parents:
diff changeset
44 <sanitizer>
2a46da701dde Uploaded
fubar
parents:
diff changeset
45 <valid initial="string.printable" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
46 <mapping initial="none"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
47 </sanitizer>
2a46da701dde Uploaded
fubar
parents:
diff changeset
48 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
49 <repeat name="citations" title="Citation">
2a46da701dde Uploaded
fubar
parents:
diff changeset
50 <conditional name="citation_type">
2a46da701dde Uploaded
fubar
parents:
diff changeset
51 <param name="type" type="select" display="radio" label="Citation Type">
2a46da701dde Uploaded
fubar
parents:
diff changeset
52 <option value="doi">DOI</option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
53 <option value="bibtex">BibTeX</option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
54 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
55 <when value="doi">
2a46da701dde Uploaded
fubar
parents:
diff changeset
56 <param name="doi" label="DOI" type="text" value=""
2a46da701dde Uploaded
fubar
parents:
diff changeset
57 help="Supply a DOI (e.g. doi: 10.1111/j.1740-9713.2007.00258.x) to be cited when this tool is used in published research." />
2a46da701dde Uploaded
fubar
parents:
diff changeset
58 </when>
2a46da701dde Uploaded
fubar
parents:
diff changeset
59 <when value="bibtex">
2a46da701dde Uploaded
fubar
parents:
diff changeset
60 <param name="bibtex" label="BibTex" type="text" area="true"
2a46da701dde Uploaded
fubar
parents:
diff changeset
61 help="Supply a BibTex entry that should be cited when this tool is used in published research." value="" >
2a46da701dde Uploaded
fubar
parents:
diff changeset
62 <sanitizer>
2a46da701dde Uploaded
fubar
parents:
diff changeset
63 <valid initial="string.printable" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
64 <mapping initial="none"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
65 </sanitizer>
2a46da701dde Uploaded
fubar
parents:
diff changeset
66 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
67 </when>
2a46da701dde Uploaded
fubar
parents:
diff changeset
68 </conditional>
2a46da701dde Uploaded
fubar
parents:
diff changeset
69 </repeat>
2a46da701dde Uploaded
fubar
parents:
diff changeset
70 </xml>
2a46da701dde Uploaded
fubar
parents:
diff changeset
71 <xml name="io">
2a46da701dde Uploaded
fubar
parents:
diff changeset
72 <section name="io" title="Input and output files" expanded="true">
2a46da701dde Uploaded
fubar
parents:
diff changeset
73 <repeat name="history_inputs" title="Inputs" min="0"
2a46da701dde Uploaded
fubar
parents:
diff changeset
74 help="Input data files to pass on the command line to the executable. USE SMALL SAMPLES for the new tool's test. Prompts will form a history item selector as input for users of this new tool">
2a46da701dde Uploaded
fubar
parents:
diff changeset
75 <param name="input_files" type="data" format="data" label="Select an input file from your history" multiple="false"
2a46da701dde Uploaded
fubar
parents:
diff changeset
76 help=""/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
77 <param name="input_formats" type="select" multiple="true" label="Select the datatype(s) that your tool/script accepts as input"
2a46da701dde Uploaded
fubar
parents:
diff changeset
78 help="If your datatype is not listed here, it has to be added in galaxy's datatypes_conf.xml" value="tabular">
2a46da701dde Uploaded
fubar
parents:
diff changeset
79 <options from_parameter="tool.app.datatypes_registry.upload_file_formats">
2a46da701dde Uploaded
fubar
parents:
diff changeset
80 <column name="value" index="0"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
81 </options>
2a46da701dde Uploaded
fubar
parents:
diff changeset
82 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
83 <param name="input_label" type="text" value="" label="This will become the user prompt for the form so please make it informative" >
2a46da701dde Uploaded
fubar
parents:
diff changeset
84 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
85 <param name="input_help" type="text" value="" label="This will become help text on the form." >
2a46da701dde Uploaded
fubar
parents:
diff changeset
86 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
87 <param name="input_CL" type="text" label="Positional: ordinal integer. Argparse: argument name. STDIN if the executable/script expects it"
2a46da701dde Uploaded
fubar
parents:
diff changeset
88 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="">
2a46da701dde Uploaded
fubar
parents:
diff changeset
89 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
90 <param name="input_repeat" type="boolean" checked="False" truevalue="1" falsevalue="0" label="Allow user to repeat this input as many times as wanted - script/executable must parse these."/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
91 </repeat>
2a46da701dde Uploaded
fubar
parents:
diff changeset
92 <repeat name="history_outputs" min="0" title="Outputs"
2a46da701dde Uploaded
fubar
parents:
diff changeset
93 help="New history items output by the executable to appear in the user history after the tool runs. The name will become a history item for users of the new tool you are making containing one of it's outputs">
2a46da701dde Uploaded
fubar
parents:
diff changeset
94 <param name="history_name" type="text" label="Output Name" optional="false"
2a46da701dde Uploaded
fubar
parents:
diff changeset
95 help="Name used for this output in history. No spaces! Argparse will also use this name as --[name]">
2a46da701dde Uploaded
fubar
parents:
diff changeset
96 <sanitizer invalid_char=" ">
2a46da701dde Uploaded
fubar
parents:
diff changeset
97 <valid initial="string.ascii_letters,string.digits" >
2a46da701dde Uploaded
fubar
parents:
diff changeset
98 <add value="_" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
99 </valid>
2a46da701dde Uploaded
fubar
parents:
diff changeset
100 </sanitizer>
2a46da701dde Uploaded
fubar
parents:
diff changeset
101 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
102 <param name="history_format" type="select" multiple="false" label="Select the datatype for this output"
2a46da701dde Uploaded
fubar
parents:
diff changeset
103 help="If your datatype is not listed here, it has to be added in galaxy's datatypes_conf.xml" value="tabular">
2a46da701dde Uploaded
fubar
parents:
diff changeset
104 <options from_parameter="tool.app.datatypes_registry.upload_file_formats">
2a46da701dde Uploaded
fubar
parents:
diff changeset
105 <column name="value" index="0"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
106 </options>
2a46da701dde Uploaded
fubar
parents:
diff changeset
107 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
108 <param name="history_CL" type="text" label="Position"
2a46da701dde Uploaded
fubar
parents:
diff changeset
109 help="Positional: ordinal integer or 'STDOUT' if '>' required. Otherwise ignored if argparse because name is used. If positional parameters, enter the integer ordinal expected for this parameter. If argparse, ignore unless STDOUT needed" value=""/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
110 <param name="history_test" type="text" label="Output test criteria"
2a46da701dde Uploaded
fubar
parents:
diff changeset
111 help="Pass/fail decision criterion for this output compared to test generation. Available options are diff:[lines], sim_size:[delta (integer) or delta_frac (float)" value="diff:0"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
112 </repeat>
2a46da701dde Uploaded
fubar
parents:
diff changeset
113 <repeat name="collection_outputs" title="Output Collections" min="0"
2a46da701dde Uploaded
fubar
parents:
diff changeset
114 help="New history collections to appear in the user history after the tool runs. Hides outputs not needed for downstream tools such as images and intermediate reports." default="0">
2a46da701dde Uploaded
fubar
parents:
diff changeset
115 <param name="name" type="text" label="Name"
2a46da701dde Uploaded
fubar
parents:
diff changeset
116 help="for new collection with all outputs not individually passed to history outputs. No spaces! Script MUST create and fill a directory with the same name and the tool test MUST be overwritten - see the plotter example for hints">
2a46da701dde Uploaded
fubar
parents:
diff changeset
117 <sanitizer invalid_char="_">
2a46da701dde Uploaded
fubar
parents:
diff changeset
118 <valid initial="string.ascii_letters,string.digits" >
2a46da701dde Uploaded
fubar
parents:
diff changeset
119 <add value="_" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
120 </valid>
2a46da701dde Uploaded
fubar
parents:
diff changeset
121 </sanitizer>
2a46da701dde Uploaded
fubar
parents:
diff changeset
122 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
123 <param name="kind" type="select" multiple="false" label="Select the kind of collection for this output"
2a46da701dde Uploaded
fubar
parents:
diff changeset
124 help="">
2a46da701dde Uploaded
fubar
parents:
diff changeset
125 <option value="list" selected="true">List</option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
126 <option value="paired">Paired</option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
127 <option value="list:paired">List of paired</option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
128 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
129 <param name="label" type="text" label="Label for this collection" help="" value=""/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
130 <param name="discover" type="text" label="Discover datasets expression" help="__name_and_ext__ should catch all filenames with extensions" value="__name_and_ext__"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
131 </repeat>
2a46da701dde Uploaded
fubar
parents:
diff changeset
132
2a46da701dde Uploaded
fubar
parents:
diff changeset
133 </section>
2a46da701dde Uploaded
fubar
parents:
diff changeset
134 </xml>
2a46da701dde Uploaded
fubar
parents:
diff changeset
135 <xml name="additparam">
2a46da701dde Uploaded
fubar
parents:
diff changeset
136 <section name="addparam" title="Arguments" help="Executable or script settings passed on the command line other than I/O files" expanded="true">
2a46da701dde Uploaded
fubar
parents:
diff changeset
137 <param name="edit_params" type="select" display="radio" label="Make these settings on the generated tool form user editable?"
2a46da701dde Uploaded
fubar
parents:
diff changeset
138 help="If no, 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">
2a46da701dde Uploaded
fubar
parents:
diff changeset
139 <option value="yes" selected="true">Yes, allow user to edit all additional parameters on the generated tool form</option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
140 <option value="no">No - use the fixed values for all additional parameters - no user editing</option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
141 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
142 <repeat name="additional_parameters" title="Command Line Paramters" min="0"
2a46da701dde Uploaded
fubar
parents:
diff changeset
143 help="Command line settings for the user to pass to the executable. See examples below to see how these can be parsed by scripts in the various languages">
2a46da701dde Uploaded
fubar
parents:
diff changeset
144 <param name="param_name" type="text" value="" label="Choose the name for this parameter - MUST not be blank!">
2a46da701dde Uploaded
fubar
parents:
diff changeset
145 <sanitizer invalid_char="">
2a46da701dde Uploaded
fubar
parents:
diff changeset
146 <valid initial="string.ascii_letters,string.digits"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
147 <mapping initial="none"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
148 </sanitizer>
2a46da701dde Uploaded
fubar
parents:
diff changeset
149 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
150 <conditional name="ap_type">
2a46da701dde Uploaded
fubar
parents:
diff changeset
151 <param name="param_type" type="select" label="Select the type for this parameter">
2a46da701dde Uploaded
fubar
parents:
diff changeset
152 <option value="text" selected="true">Text string</option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
153 <option value="integer">Integer</option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
154 <option value="float">Float</option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
155 <option value="boolean">Boolean</option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
156 <option value="selecttext">Select text string</option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
157 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
158 <when value = "text">
2a46da701dde Uploaded
fubar
parents:
diff changeset
159 <expand macro="singleText" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
160 </when>
2a46da701dde Uploaded
fubar
parents:
diff changeset
161 <when value = "integer">
2a46da701dde Uploaded
fubar
parents:
diff changeset
162 <expand macro="singleInt" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
163 </when>
2a46da701dde Uploaded
fubar
parents:
diff changeset
164 <when value = "float">
2a46da701dde Uploaded
fubar
parents:
diff changeset
165 <expand macro="singleFloat" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
166 </when>
2a46da701dde Uploaded
fubar
parents:
diff changeset
167 <when value = "boolean">
2a46da701dde Uploaded
fubar
parents:
diff changeset
168 <expand macro="singleBoolean" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
169 </when>
2a46da701dde Uploaded
fubar
parents:
diff changeset
170 <when value = "selecttext">
2a46da701dde Uploaded
fubar
parents:
diff changeset
171 <expand macro="selectText" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
172 </when>
2a46da701dde Uploaded
fubar
parents:
diff changeset
173 </conditional>
2a46da701dde Uploaded
fubar
parents:
diff changeset
174 <param name="param_label" type="text" value="" label="Enter this parameter's label for the form">
2a46da701dde Uploaded
fubar
parents:
diff changeset
175 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
176 <param name="param_help" type="text" value="" label="Help for this parameter">
2a46da701dde Uploaded
fubar
parents:
diff changeset
177 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
178 <param name="param_CL" type="text" label="Positional ordinal | argparse argument name"
2a46da701dde Uploaded
fubar
parents:
diff changeset
179 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="" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
180 <param name="param_CLprefixed" type="text" label="Override the generated default argparse name prefix if not empty - eg ----foo if needed"
2a46da701dde Uploaded
fubar
parents:
diff changeset
181 help="Some targets like Planemo expect an unadorned action like 'test' before --galaxy_root." value="" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
182 <param name="param_repeat" type="boolean" checked="False" truevalue="1" falsevalue="0" label="Allow user to repeat this as many times as needed." />
2a46da701dde Uploaded
fubar
parents:
diff changeset
183 </repeat>
2a46da701dde Uploaded
fubar
parents:
diff changeset
184 </section>
2a46da701dde Uploaded
fubar
parents:
diff changeset
185 </xml>
2a46da701dde Uploaded
fubar
parents:
diff changeset
186 </macros>
2a46da701dde Uploaded
fubar
parents:
diff changeset
187
2a46da701dde Uploaded
fubar
parents:
diff changeset
188 <requirements>
2a46da701dde Uploaded
fubar
parents:
diff changeset
189 <requirement type="package" version="0.4.14">galaxyxml</requirement>
2a46da701dde Uploaded
fubar
parents:
diff changeset
190 <requirement type="package" version="0.15.0">bioblend</requirement>
5
e2c8c2fa192d Uploaded
fubar
parents: 4
diff changeset
191 <requirement type="package" version="3.2.3">rsync</requirement>
4
2a46da701dde Uploaded
fubar
parents:
diff changeset
192 </requirements>
2a46da701dde Uploaded
fubar
parents:
diff changeset
193
2a46da701dde Uploaded
fubar
parents:
diff changeset
194 <command detect_errors="exit_code"><![CDATA[
2a46da701dde Uploaded
fubar
parents:
diff changeset
195 #import os
2a46da701dde Uploaded
fubar
parents:
diff changeset
196 #set dev_env = os.environ.get('GALAXY_DEVELOPMENT_ENVIRONMENT', '0') == '1'
2a46da701dde Uploaded
fubar
parents:
diff changeset
197 #if not $dev_env and ( $__user_email__ not in $__admin_users__ ):
2a46da701dde Uploaded
fubar
parents:
diff changeset
198 python3 $__tool_directory__/rgToolFactory2.py --bad_user $__user_email__
2a46da701dde Uploaded
fubar
parents:
diff changeset
199 #else:
2a46da701dde Uploaded
fubar
parents:
diff changeset
200 python3 $__tool_directory__/ToolFactory.py
2a46da701dde Uploaded
fubar
parents:
diff changeset
201 #if len(str($cl_suffix)) > 0:
2a46da701dde Uploaded
fubar
parents:
diff changeset
202 --cl_user_suffix "$cl_suffix"
2a46da701dde Uploaded
fubar
parents:
diff changeset
203 #end if
2a46da701dde Uploaded
fubar
parents:
diff changeset
204 #if $cover.commover == "yes":
2a46da701dde Uploaded
fubar
parents:
diff changeset
205 #if len(str($cover.command_override)) > 10:
2a46da701dde Uploaded
fubar
parents:
diff changeset
206 --command_override "$commandoverride"
2a46da701dde Uploaded
fubar
parents:
diff changeset
207 #end if
2a46da701dde Uploaded
fubar
parents:
diff changeset
208 #if len(str($cover.test_override)) > 10:
2a46da701dde Uploaded
fubar
parents:
diff changeset
209 --test_override "$testoverride"
2a46da701dde Uploaded
fubar
parents:
diff changeset
210 #end if
2a46da701dde Uploaded
fubar
parents:
diff changeset
211 #end if
2a46da701dde Uploaded
fubar
parents:
diff changeset
212 #if $deps.packages > "":
2a46da701dde Uploaded
fubar
parents:
diff changeset
213 --packages "$deps.packages"
2a46da701dde Uploaded
fubar
parents:
diff changeset
214 #end if
2a46da701dde Uploaded
fubar
parents:
diff changeset
215 #if $deps.usescript.choosescript == "yes":
2a46da701dde Uploaded
fubar
parents:
diff changeset
216 --script_path "$runme"
2a46da701dde Uploaded
fubar
parents:
diff changeset
217 --sysexe "$deps.usescript.scriptrunner"
2a46da701dde Uploaded
fubar
parents:
diff changeset
218 #end if
2a46da701dde Uploaded
fubar
parents:
diff changeset
219 --tool_name "$tool_name" --user_email "$__user_email__" --citations "$citeme" --parampass "$io_param.ppass.parampass"
2a46da701dde Uploaded
fubar
parents:
diff changeset
220 --tool_desc "$tool_desc"
2a46da701dde Uploaded
fubar
parents:
diff changeset
221 --tool_version "$tool_version"
2a46da701dde Uploaded
fubar
parents:
diff changeset
222 --help_text "$helpme"
2a46da701dde Uploaded
fubar
parents:
diff changeset
223 --new_tool "$new_tool"
2a46da701dde Uploaded
fubar
parents:
diff changeset
224 #if $install:
2a46da701dde Uploaded
fubar
parents:
diff changeset
225 --install
2a46da701dde Uploaded
fubar
parents:
diff changeset
226 #end if
6
efefe43f23c8 Uploaded
fubar
parents: 5
diff changeset
227 #if $run_test:
4
2a46da701dde Uploaded
fubar
parents:
diff changeset
228 --run_test
2a46da701dde Uploaded
fubar
parents:
diff changeset
229 #end if
2a46da701dde Uploaded
fubar
parents:
diff changeset
230 #if $io_param.ppass.parampass != '0':
2a46da701dde Uploaded
fubar
parents:
diff changeset
231 #if str($io_param.ppass.addparam.edit_params) == "yes":
2a46da701dde Uploaded
fubar
parents:
diff changeset
232 --edit_additional_parameters
2a46da701dde Uploaded
fubar
parents:
diff changeset
233 #end if
2a46da701dde Uploaded
fubar
parents:
diff changeset
234 #for $apar in $io_param.ppass.addparam.additional_parameters:
2a46da701dde Uploaded
fubar
parents:
diff changeset
235 #if $apar.ap_type.param_type=="selecttext":
2a46da701dde Uploaded
fubar
parents:
diff changeset
236 --selecttext_parameters '{"name":"$apar.param_name", "label":"$apar.param_label", "help":"$apar.param_help",
2a46da701dde Uploaded
fubar
parents:
diff changeset
237 "type":"$apar.ap_type.param_type","CL":"$apar.param_CL","override":"$apar.param_CLprefixed","value": [
2a46da701dde Uploaded
fubar
parents:
diff changeset
238 #for $i,$st in enumerate($apar.ap_type.selectTexts):
2a46da701dde Uploaded
fubar
parents:
diff changeset
239 "$st.select_value"
2a46da701dde Uploaded
fubar
parents:
diff changeset
240 #if ($i < (len($apar.ap_type.selectTexts)-1)):
2a46da701dde Uploaded
fubar
parents:
diff changeset
241 ,
2a46da701dde Uploaded
fubar
parents:
diff changeset
242 #end if
2a46da701dde Uploaded
fubar
parents:
diff changeset
243 #end for
2a46da701dde Uploaded
fubar
parents:
diff changeset
244 ], "texts": [
2a46da701dde Uploaded
fubar
parents:
diff changeset
245 #for $i,$st in enumerate($apar.ap_type.selectTexts):
2a46da701dde Uploaded
fubar
parents:
diff changeset
246 "$st.select_text"
2a46da701dde Uploaded
fubar
parents:
diff changeset
247 #if ($i < (len($apar.ap_type.selectTexts)-1)):
2a46da701dde Uploaded
fubar
parents:
diff changeset
248 ,
2a46da701dde Uploaded
fubar
parents:
diff changeset
249 #end if
2a46da701dde Uploaded
fubar
parents:
diff changeset
250
2a46da701dde Uploaded
fubar
parents:
diff changeset
251 #end for
2a46da701dde Uploaded
fubar
parents:
diff changeset
252 ]
2a46da701dde Uploaded
fubar
parents:
diff changeset
253 }'
2a46da701dde Uploaded
fubar
parents:
diff changeset
254 #else:
2a46da701dde Uploaded
fubar
parents:
diff changeset
255 --additional_parameters '{"name": "$apar.param_name", "value": "$apar.ap_type.param_value", "label": "$apar.param_label", "help": "$apar.param_help",
2a46da701dde Uploaded
fubar
parents:
diff changeset
256 "type": "$apar.ap_type.param_type","CL": "$apar.param_CL","override": "$apar.param_CLprefixed", "repeat": "$apar.param_repeat"}'
2a46da701dde Uploaded
fubar
parents:
diff changeset
257 #end if
2a46da701dde Uploaded
fubar
parents:
diff changeset
258 #end for
2a46da701dde Uploaded
fubar
parents:
diff changeset
259 #end if
2a46da701dde Uploaded
fubar
parents:
diff changeset
260 #for $intab in $io_param.ppass.io.history_inputs:
2a46da701dde Uploaded
fubar
parents:
diff changeset
261 --input_files '{"name": "$intab.input_files", "CL": "$intab.input_CL", "format": "$intab.input_formats", "label": "$intab.input_label", "help": "$intab.input_help", "repeat": "$intab.input_repeat"}'
2a46da701dde Uploaded
fubar
parents:
diff changeset
262 #end for
2a46da701dde Uploaded
fubar
parents:
diff changeset
263 #for $otab in $io_param.ppass.io.history_outputs:
2a46da701dde Uploaded
fubar
parents:
diff changeset
264 --output_files '{"name": "$otab.history_name", "format": "$otab.history_format", "CL": "$otab.history_CL", "test": "$otab.history_test"}'
2a46da701dde Uploaded
fubar
parents:
diff changeset
265 #end for
2a46da701dde Uploaded
fubar
parents:
diff changeset
266 #for $collect in $io_param.ppass.io.collection_outputs:
2a46da701dde Uploaded
fubar
parents:
diff changeset
267 --collection '{"name": "$collect.name", "kind": "$collect.kind", "discover": "$collect.discover", "label": "$collect.label"}'
2a46da701dde Uploaded
fubar
parents:
diff changeset
268 #end for
2a46da701dde Uploaded
fubar
parents:
diff changeset
269 --galaxy_root "$__root_dir__"
2a46da701dde Uploaded
fubar
parents:
diff changeset
270 --tool_dir "$__tool_directory__"
2a46da701dde Uploaded
fubar
parents:
diff changeset
271 #end if
2a46da701dde Uploaded
fubar
parents:
diff changeset
272 ]]></command>
2a46da701dde Uploaded
fubar
parents:
diff changeset
273 <configfiles>
2a46da701dde Uploaded
fubar
parents:
diff changeset
274 <configfile name="runme">
2a46da701dde Uploaded
fubar
parents:
diff changeset
275 $deps.usescript.dynScript
2a46da701dde Uploaded
fubar
parents:
diff changeset
276 </configfile>
2a46da701dde Uploaded
fubar
parents:
diff changeset
277 <configfile name="commandoverride">
2a46da701dde Uploaded
fubar
parents:
diff changeset
278 #if $cover.commover == "yes" and len(str($cover.command_override).strip()) > 1:
2a46da701dde Uploaded
fubar
parents:
diff changeset
279 $cover.command_override
2a46da701dde Uploaded
fubar
parents:
diff changeset
280 #end if
2a46da701dde Uploaded
fubar
parents:
diff changeset
281 </configfile>
2a46da701dde Uploaded
fubar
parents:
diff changeset
282 <configfile name="testoverride">
2a46da701dde Uploaded
fubar
parents:
diff changeset
283 #if $cover.commover == "yes" and len(str($cover.test_override).strip()) > 1:
2a46da701dde Uploaded
fubar
parents:
diff changeset
284 $cover.test_override
2a46da701dde Uploaded
fubar
parents:
diff changeset
285 #end if
2a46da701dde Uploaded
fubar
parents:
diff changeset
286 </configfile>
2a46da701dde Uploaded
fubar
parents:
diff changeset
287 <configfile name="helpme">
2a46da701dde Uploaded
fubar
parents:
diff changeset
288 ${help_text}
2a46da701dde Uploaded
fubar
parents:
diff changeset
289 </configfile>
2a46da701dde Uploaded
fubar
parents:
diff changeset
290 <configfile name="citeme">
2a46da701dde Uploaded
fubar
parents:
diff changeset
291
2a46da701dde Uploaded
fubar
parents:
diff changeset
292 #for $citation in $citations:
2a46da701dde Uploaded
fubar
parents:
diff changeset
293 #if $citation.citation_type.type == "bibtex":
2a46da701dde Uploaded
fubar
parents:
diff changeset
294 **ENTRY**bibtex
2a46da701dde Uploaded
fubar
parents:
diff changeset
295 ${citation.citation_type.bibtex}
2a46da701dde Uploaded
fubar
parents:
diff changeset
296 #else
2a46da701dde Uploaded
fubar
parents:
diff changeset
297 **ENTRY**doi
2a46da701dde Uploaded
fubar
parents:
diff changeset
298 ${citation.citation_type.doi}
2a46da701dde Uploaded
fubar
parents:
diff changeset
299 #end if
2a46da701dde Uploaded
fubar
parents:
diff changeset
300 #end for
2a46da701dde Uploaded
fubar
parents:
diff changeset
301
2a46da701dde Uploaded
fubar
parents:
diff changeset
302 </configfile>
2a46da701dde Uploaded
fubar
parents:
diff changeset
303 </configfiles>
2a46da701dde Uploaded
fubar
parents:
diff changeset
304 <inputs>
2a46da701dde Uploaded
fubar
parents:
diff changeset
305 <param name="tool_name" type="text" value="tool1" label="New tool ID and title for outputs"
2a46da701dde Uploaded
fubar
parents:
diff changeset
306 help="Toolshed repository name. Choose thoughtfully to avoid namespace clashes with other tool writers. Lower case, digits and underscores only">
2a46da701dde Uploaded
fubar
parents:
diff changeset
307 <sanitizer invalid_char="">
2a46da701dde Uploaded
fubar
parents:
diff changeset
308 <valid initial="string.ascii_lowercase,string.digits">
2a46da701dde Uploaded
fubar
parents:
diff changeset
309 <add value="_"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
310 </valid>
2a46da701dde Uploaded
fubar
parents:
diff changeset
311 </sanitizer>
2a46da701dde Uploaded
fubar
parents:
diff changeset
312 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
313
2a46da701dde Uploaded
fubar
parents:
diff changeset
314 <section name="deps" title="Dependencies, optional script and script interpreter" expanded="true">
2a46da701dde Uploaded
fubar
parents:
diff changeset
315
2a46da701dde Uploaded
fubar
parents:
diff changeset
316 <param name="packages" type="text" value="" label="Conda dependencies as package name[:version, name:version...]. These will always be available when this tool executes"
2a46da701dde Uploaded
fubar
parents:
diff changeset
317 help="Use =[ver] or :[ver] for specific version - 'bwa=0.17.0'. Default is latest. Will be used every time the tool is (re)run. Only Conda is currently supported" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
318
2a46da701dde Uploaded
fubar
parents:
diff changeset
319 <conditional name="usescript">
2a46da701dde Uploaded
fubar
parents:
diff changeset
320 <param name="choosescript" type="select" display="radio" label="Supply a script for a dependency (e.g. python/R/bash) or a system executable such as Bash"
2a46da701dde Uploaded
fubar
parents:
diff changeset
321 help = "For script interpreters like Python or bash, parameters and i/o specified below must match script's expectations - if you pass parameters, the script must deal with them">
2a46da701dde Uploaded
fubar
parents:
diff changeset
322 <option value="no">No script required for this tool - just pass parameters on the command line to the first dependency listed above</option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
323 <option value="yes" selected="true">Yes, a script is ready to be pasted below</option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
324 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
325 <when value="no">
2a46da701dde Uploaded
fubar
parents:
diff changeset
326 <param name="dynScript" type="hidden" value="" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
327 <param name="scriptrunner" type="hidden" value="" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
328 </when>
2a46da701dde Uploaded
fubar
parents:
diff changeset
329 <when value="yes">
2a46da701dde Uploaded
fubar
parents:
diff changeset
330 <param name="scriptrunner" type="text" value="" label="Interpreter for the script - eg bash or python. Can be one of the dependencies named above or a system executable"
2a46da701dde Uploaded
fubar
parents:
diff changeset
331 help="Scripts are interpreted by the executable named here. For conda r-base, 'Rscript --vanilla' or for conda planemo, 'planemo test' for example">
2a46da701dde Uploaded
fubar
parents:
diff changeset
332 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
333 <param name="dynScript" type="text" area="True" value="" label="Script for executable above to interpret. It can be one of the Conda dependency names "
2a46da701dde Uploaded
fubar
parents:
diff changeset
334 help="Script must handle all i/o and parameters as specified below using the parameters and passing method chosen below">
2a46da701dde Uploaded
fubar
parents:
diff changeset
335 <sanitizer>
2a46da701dde Uploaded
fubar
parents:
diff changeset
336 <valid initial="string.printable"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
337 <mapping initial="none"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
338 </sanitizer>
2a46da701dde Uploaded
fubar
parents:
diff changeset
339 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
340 </when>
2a46da701dde Uploaded
fubar
parents:
diff changeset
341 </conditional>
2a46da701dde Uploaded
fubar
parents:
diff changeset
342 </section>
2a46da701dde Uploaded
fubar
parents:
diff changeset
343 <section name="io_param" title="Data file input, output and settings forming the executable or script command line" expanded="true">
2a46da701dde Uploaded
fubar
parents:
diff changeset
344 <conditional name="ppass">
2a46da701dde Uploaded
fubar
parents:
diff changeset
345 <param name="parampass" type="select" display="radio" label="Command line parameter passing method to use">
2a46da701dde Uploaded
fubar
parents:
diff changeset
346 <option value="argparse" selected="true">Argparse: passed in the form of --clname value</option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
347 <option value="positional">Positional: Passed in the order of positional ordinals ...foo.bam bar.idx zot.xls</option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
348 <option value="0">Tool reads selected input file from STDIN and writes STDOUT with no parameters</option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
349 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
350 <when value="argparse">
2a46da701dde Uploaded
fubar
parents:
diff changeset
351 <expand macro="io" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
352 <expand macro="additparam" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
353 </when>
2a46da701dde Uploaded
fubar
parents:
diff changeset
354 <when value="positional">
2a46da701dde Uploaded
fubar
parents:
diff changeset
355 <expand macro="io" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
356 <expand macro="additparam" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
357 </when>
2a46da701dde Uploaded
fubar
parents:
diff changeset
358 <when value="0">
2a46da701dde Uploaded
fubar
parents:
diff changeset
359 <expand macro="io"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
360 </when>
2a46da701dde Uploaded
fubar
parents:
diff changeset
361 </conditional>
2a46da701dde Uploaded
fubar
parents:
diff changeset
362 </section>
2a46da701dde Uploaded
fubar
parents:
diff changeset
363 <param name="cl_suffix" type="text" value="" label="Suffix for generated command line. Useful for bash post processing. Use override below to replace completely"
2a46da701dde Uploaded
fubar
parents:
diff changeset
364 help="';' separated bash commands can be used here for post processing - added at end of autogenerated command line">
2a46da701dde Uploaded
fubar
parents:
diff changeset
365 <sanitizer>
2a46da701dde Uploaded
fubar
parents:
diff changeset
366 <valid initial="string.printable" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
367 <mapping initial="none"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
368 </sanitizer>
2a46da701dde Uploaded
fubar
parents:
diff changeset
369 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
370 <conditional name="cover">
2a46da701dde Uploaded
fubar
parents:
diff changeset
371 <param name="commover" type="select" display="radio" label="Add Human wrought code to override the generated XML command and/or test section - DIY"
2a46da701dde Uploaded
fubar
parents:
diff changeset
372 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">
2a46da701dde Uploaded
fubar
parents:
diff changeset
373 <option value="no" selected="true">No. Use automatically generated command/test XML </option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
374 <option value="yes">Yes. XML needed to override autogenerated command and/or test segments will be pasted below</option>
2a46da701dde Uploaded
fubar
parents:
diff changeset
375 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
376 <when value="no">
2a46da701dde Uploaded
fubar
parents:
diff changeset
377 <param name="command_override" type="hidden" value="" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
378 <param name="test_override" type="hidden" value="" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
379 </when>
2a46da701dde Uploaded
fubar
parents:
diff changeset
380 <when value="yes">
2a46da701dde Uploaded
fubar
parents:
diff changeset
381 <param name="command_override" type="text" area="True" value="" label="Optional. Human wrought command element override XML/template - e.g. for bwa"
2a46da701dde Uploaded
fubar
parents:
diff changeset
382 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">
2a46da701dde Uploaded
fubar
parents:
diff changeset
383 <sanitizer>
2a46da701dde Uploaded
fubar
parents:
diff changeset
384 <valid initial="string.printable"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
385 <mapping initial="none"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
386 </sanitizer>
2a46da701dde Uploaded
fubar
parents:
diff changeset
387 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
388 <param name="test_override" type="text" area="True" value="" label="Optional. Human wrought test element override XML/template - e.g. for bwa"
2a46da701dde Uploaded
fubar
parents:
diff changeset
389 help="For arbitrary and artfull scripts. Leave blank unless needed. Not for the faint of heart">
2a46da701dde Uploaded
fubar
parents:
diff changeset
390 <sanitizer>
2a46da701dde Uploaded
fubar
parents:
diff changeset
391 <valid initial="string.printable" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
392 <mapping initial="none"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
393 </sanitizer>
2a46da701dde Uploaded
fubar
parents:
diff changeset
394 </param>
2a46da701dde Uploaded
fubar
parents:
diff changeset
395 </when>
2a46da701dde Uploaded
fubar
parents:
diff changeset
396 </conditional>
2a46da701dde Uploaded
fubar
parents:
diff changeset
397 <expand macro="tool_metadata" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
398 </inputs>
2a46da701dde Uploaded
fubar
parents:
diff changeset
399 <outputs>
6
efefe43f23c8 Uploaded
fubar
parents: 5
diff changeset
400 <data format="toolshed.gz" name="new_tool" label="${tool_name}_not_tested.toolshed.gz" />
4
2a46da701dde Uploaded
fubar
parents:
diff changeset
401 </outputs>
2a46da701dde Uploaded
fubar
parents:
diff changeset
402 <tests>
2a46da701dde Uploaded
fubar
parents:
diff changeset
403 <test>
2a46da701dde Uploaded
fubar
parents:
diff changeset
404 <param name="user_email" value="admin@galaxy.org"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
405 <param name="input_files" value="input1_sample" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
406 <param name="input_CL" value="1" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
407 <param name="input_formats" value="txt" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
408 <param name="input_label" value="input" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
409 <param name="input_help" value="help" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
410 <param name="tool_name" value="pyrevpos" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
411 <param name="parampass" value="positional" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
412 <param name="tool_version" value="0.01" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
413 <param name="tool_desc" value="positional reverse" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
414 <param name="help_text" value="help text goes here" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
415 <param name="packages" value="python"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
416 <param name="history_name" value="output2" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
417 <param name="history_format" value="txt" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
418 <param name="history_CL" value="2" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
419 <param name="dynScript" value="import sys; inp = sys.argv[1]; outp = sys.argv[2]; inlist = open(inp,'r').readlines(); o = open(outp,'w'); rs = [''.join(list(reversed(x.rstrip()))) for x in inlist]; o.write('\n'.join(rs)); o.close()"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
420 <param name="choosescript" value="yes" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
421 <param name="script_path" value="$runme"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
422 <param name="install" value="0"/>
2a46da701dde Uploaded
fubar
parents:
diff changeset
423 <output name="new_tool" file="toolfactory_pyrevpos_tgz_sample" compare="sim_size" delta="6000" />
2a46da701dde Uploaded
fubar
parents:
diff changeset
424 </test>
2a46da701dde Uploaded
fubar
parents:
diff changeset
425 </tests>
2a46da701dde Uploaded
fubar
parents:
diff changeset
426 <help>
2a46da701dde Uploaded
fubar
parents:
diff changeset
427
2a46da701dde Uploaded
fubar
parents:
diff changeset
428 .. class:: warningmark
2a46da701dde Uploaded
fubar
parents:
diff changeset
429
2a46da701dde Uploaded
fubar
parents:
diff changeset
430 **Details and attribution**
2a46da701dde Uploaded
fubar
parents:
diff changeset
431 (see GTF_)
2a46da701dde Uploaded
fubar
parents:
diff changeset
432
2a46da701dde Uploaded
fubar
parents:
diff changeset
433 **Local Admins ONLY**
2a46da701dde Uploaded
fubar
parents:
diff changeset
434 Only users whose IDs found in the local admin_user configuration setting in universe_wsgi.ini can run this tool.
2a46da701dde Uploaded
fubar
parents:
diff changeset
435
2a46da701dde Uploaded
fubar
parents:
diff changeset
436 **If you find a bug**
2a46da701dde Uploaded
fubar
parents:
diff changeset
437 Please raise an issue, or even better, submit a pull request fixing it, on the github repository GTF_
2a46da701dde Uploaded
fubar
parents:
diff changeset
438
2a46da701dde Uploaded
fubar
parents:
diff changeset
439 **What it does**
2a46da701dde Uploaded
fubar
parents:
diff changeset
440 This tool optionally generates normal workflow compatible first class Galaxy tools
2a46da701dde Uploaded
fubar
parents:
diff changeset
441
2a46da701dde Uploaded
fubar
parents:
diff changeset
442 Generated tools can run existing binary packages that become requirements, existing scripts, or new scripts pasted into this tool form.
2a46da701dde Uploaded
fubar
parents:
diff changeset
443 Pasted scripts are written so they are part of the new tool and cannot be adjusted by the downstream user.
2a46da701dde Uploaded
fubar
parents:
diff changeset
444 Binary packages are managed by the dependency subsystem - conda usually, so anything in bioconda or conda_forge is available for example.
2a46da701dde Uploaded
fubar
parents:
diff changeset
445
2a46da701dde Uploaded
fubar
parents:
diff changeset
446 Any number of parameters can be built into the new tool form for passing in to the script or executable at runtime.
2a46da701dde Uploaded
fubar
parents:
diff changeset
447 These can be editable by the downstream user or baked in.
2a46da701dde Uploaded
fubar
parents:
diff changeset
448
2a46da701dde Uploaded
fubar
parents:
diff changeset
449 A new tarball compatible with any Galaxy toolshed is created in your history, however, it does not have the test prepared.
2a46da701dde Uploaded
fubar
parents:
diff changeset
450 There is a separate tool you can run to update the archive after testing with Planemo
2a46da701dde Uploaded
fubar
parents:
diff changeset
451
2a46da701dde Uploaded
fubar
parents:
diff changeset
452 If the configuration in job_conf.xml allows tools to write to [galaxy_root]/tools, the new tool will be installed so you can view and test it locally.
2a46da701dde Uploaded
fubar
parents:
diff changeset
453
2a46da701dde Uploaded
fubar
parents:
diff changeset
454 .. class:: warningmark
2a46da701dde Uploaded
fubar
parents:
diff changeset
455
2a46da701dde Uploaded
fubar
parents:
diff changeset
456 **Note to system administrators**
2a46da701dde Uploaded
fubar
parents:
diff changeset
457 This tool offers *NO* built in protection against malicious scripts. It should only be installed on private/personnal Galaxy instances.
2a46da701dde Uploaded
fubar
parents:
diff changeset
458 Admin_users will have the power to do anything they want as the Galaxy user if you install this tool.
2a46da701dde Uploaded
fubar
parents:
diff changeset
459
2a46da701dde Uploaded
fubar
parents:
diff changeset
460 .. class:: warningmark
2a46da701dde Uploaded
fubar
parents:
diff changeset
461
2a46da701dde Uploaded
fubar
parents:
diff changeset
462 **Use on public servers** is STRONGLY discouraged for obvious reasons
2a46da701dde Uploaded
fubar
parents:
diff changeset
463
2a46da701dde Uploaded
fubar
parents:
diff changeset
464 The tools generated by this tool will run just as securely as any other normal installed Galaxy tool but like any other new tools, should always be checked carefully before installation.
2a46da701dde Uploaded
fubar
parents:
diff changeset
465 We recommend that you follow the good code hygiene practices associated with safe toolshed practices.
2a46da701dde Uploaded
fubar
parents:
diff changeset
466
2a46da701dde Uploaded
fubar
parents:
diff changeset
467 Here's a sample python script that can be cut and pasted into the tool form, suitable for positional parameter passing:
2a46da701dde Uploaded
fubar
parents:
diff changeset
468
2a46da701dde Uploaded
fubar
parents:
diff changeset
469 ::
2a46da701dde Uploaded
fubar
parents:
diff changeset
470
2a46da701dde Uploaded
fubar
parents:
diff changeset
471 # reverse order of text by row
2a46da701dde Uploaded
fubar
parents:
diff changeset
472 import sys
2a46da701dde Uploaded
fubar
parents:
diff changeset
473 inp = sys.argv[1]
2a46da701dde Uploaded
fubar
parents:
diff changeset
474 outp = sys.argv[2]
2a46da701dde Uploaded
fubar
parents:
diff changeset
475 i = open(inp,'r').readlines()
2a46da701dde Uploaded
fubar
parents:
diff changeset
476 o = open(outp,'w')
2a46da701dde Uploaded
fubar
parents:
diff changeset
477 for row in i:
2a46da701dde Uploaded
fubar
parents:
diff changeset
478 rs = row.rstrip()
2a46da701dde Uploaded
fubar
parents:
diff changeset
479 rs = list(rs)
2a46da701dde Uploaded
fubar
parents:
diff changeset
480 rs.reverse()
2a46da701dde Uploaded
fubar
parents:
diff changeset
481 o.write(''.join(rs))
2a46da701dde Uploaded
fubar
parents:
diff changeset
482 o.write('\n')
2a46da701dde Uploaded
fubar
parents:
diff changeset
483 o.close()
2a46da701dde Uploaded
fubar
parents:
diff changeset
484
2a46da701dde Uploaded
fubar
parents:
diff changeset
485 With argparse style parameters:
2a46da701dde Uploaded
fubar
parents:
diff changeset
486
2a46da701dde Uploaded
fubar
parents:
diff changeset
487 ::
2a46da701dde Uploaded
fubar
parents:
diff changeset
488
2a46da701dde Uploaded
fubar
parents:
diff changeset
489 # reverse order of text by row
2a46da701dde Uploaded
fubar
parents:
diff changeset
490 import argparse
2a46da701dde Uploaded
fubar
parents:
diff changeset
491 parser = argparse.ArgumentParser()
2a46da701dde Uploaded
fubar
parents:
diff changeset
492 a = parser.add_argument
2a46da701dde Uploaded
fubar
parents:
diff changeset
493 a('--infile',default='')
2a46da701dde Uploaded
fubar
parents:
diff changeset
494 a('--outfile',default=None)
2a46da701dde Uploaded
fubar
parents:
diff changeset
495 args = parser.parse_args()
2a46da701dde Uploaded
fubar
parents:
diff changeset
496 inp = args.infile
2a46da701dde Uploaded
fubar
parents:
diff changeset
497 outp = args.outfile
2a46da701dde Uploaded
fubar
parents:
diff changeset
498 i = open(inp,'r').readlines()
2a46da701dde Uploaded
fubar
parents:
diff changeset
499 o = open(outp,'w')
2a46da701dde Uploaded
fubar
parents:
diff changeset
500 for row in i:
2a46da701dde Uploaded
fubar
parents:
diff changeset
501 rs = row.rstrip()
2a46da701dde Uploaded
fubar
parents:
diff changeset
502 rs = list(rs)
2a46da701dde Uploaded
fubar
parents:
diff changeset
503 rs.reverse()
2a46da701dde Uploaded
fubar
parents:
diff changeset
504 o.write(''.join(rs))
2a46da701dde Uploaded
fubar
parents:
diff changeset
505 o.write('\n')
2a46da701dde Uploaded
fubar
parents:
diff changeset
506 o.close()
2a46da701dde Uploaded
fubar
parents:
diff changeset
507
2a46da701dde Uploaded
fubar
parents:
diff changeset
508 R script to draw some plots - use a collection.
2a46da701dde Uploaded
fubar
parents:
diff changeset
509
2a46da701dde Uploaded
fubar
parents:
diff changeset
510 ::
2a46da701dde Uploaded
fubar
parents:
diff changeset
511
2a46da701dde Uploaded
fubar
parents:
diff changeset
512
2a46da701dde Uploaded
fubar
parents:
diff changeset
513 \# note this script takes NO input because it generates random data
2a46da701dde Uploaded
fubar
parents:
diff changeset
514 dir.create('plots')
2a46da701dde Uploaded
fubar
parents:
diff changeset
515 for (i in 1:10) {
2a46da701dde Uploaded
fubar
parents:
diff changeset
516 foo = runif(100)
2a46da701dde Uploaded
fubar
parents:
diff changeset
517 bar = rnorm(100)
2a46da701dde Uploaded
fubar
parents:
diff changeset
518 bar = foo + 0.05*bar
2a46da701dde Uploaded
fubar
parents:
diff changeset
519 pdf(paste('plots/yet',i,"anotherplot.pdf",sep='_'))
2a46da701dde Uploaded
fubar
parents:
diff changeset
520 plot(foo,bar,main=paste("Foo by Bar plot \#",i),col="maroon", pch=3,cex=0.6)
2a46da701dde Uploaded
fubar
parents:
diff changeset
521 dev.off()
2a46da701dde Uploaded
fubar
parents:
diff changeset
522 foo = data.frame(a=runif(100),b=runif(100),c=runif(100),d=runif(100),e=runif(100),f=runif(100))
2a46da701dde Uploaded
fubar
parents:
diff changeset
523 bar = as.matrix(foo)
2a46da701dde Uploaded
fubar
parents:
diff changeset
524 pdf(paste('plots/yet',i,"anotherheatmap.pdf",sep='_'))
2a46da701dde Uploaded
fubar
parents:
diff changeset
525 heatmap(bar,main='Random Heatmap')
2a46da701dde Uploaded
fubar
parents:
diff changeset
526 dev.off()
2a46da701dde Uploaded
fubar
parents:
diff changeset
527 }
2a46da701dde Uploaded
fubar
parents:
diff changeset
528
2a46da701dde Uploaded
fubar
parents:
diff changeset
529
2a46da701dde Uploaded
fubar
parents:
diff changeset
530
2a46da701dde Uploaded
fubar
parents:
diff changeset
531 Paper_
2a46da701dde Uploaded
fubar
parents:
diff changeset
532
2a46da701dde Uploaded
fubar
parents:
diff changeset
533 *Licensing*
2a46da701dde Uploaded
fubar
parents:
diff changeset
534
2a46da701dde Uploaded
fubar
parents:
diff changeset
535 Copyright Ross Lazarus (ross period lazarus at gmail period com) May 2012
2a46da701dde Uploaded
fubar
parents:
diff changeset
536 All rights reserved.
2a46da701dde Uploaded
fubar
parents:
diff changeset
537 Licensed under the LGPL_
2a46da701dde Uploaded
fubar
parents:
diff changeset
538
2a46da701dde Uploaded
fubar
parents:
diff changeset
539 .. _LGPL: http://www.gnu.org/copyleft/lesser.html
2a46da701dde Uploaded
fubar
parents:
diff changeset
540 .. _GTF: https://github.com/fubar2/toolfactory
2a46da701dde Uploaded
fubar
parents:
diff changeset
541 .. _Paper: https://academic.oup.com/bioinformatics/article/28/23/3139/192853
2a46da701dde Uploaded
fubar
parents:
diff changeset
542
2a46da701dde Uploaded
fubar
parents:
diff changeset
543
2a46da701dde Uploaded
fubar
parents:
diff changeset
544 </help>
2a46da701dde Uploaded
fubar
parents:
diff changeset
545 <citations>
2a46da701dde Uploaded
fubar
parents:
diff changeset
546 <citation type="doi">10.1093/bioinformatics/bts573</citation>
2a46da701dde Uploaded
fubar
parents:
diff changeset
547 </citations>
2a46da701dde Uploaded
fubar
parents:
diff changeset
548 </tool>
2a46da701dde Uploaded
fubar
parents:
diff changeset
549
2a46da701dde Uploaded
fubar
parents:
diff changeset
550