Mercurial > repos > fubar > tool_factory_2
comparison toolfactory/rgToolFactory2.xml @ 38:a30536c100bf draft
Updated history outputs
author | fubar |
---|---|
date | Wed, 12 Aug 2020 01:43:46 -0400 |
parents | ce2b1f8ea68d |
children | 2cd6555baf44 |
comparison
equal
deleted
inserted
replaced
37:099047ee7094 | 38:a30536c100bf |
---|---|
1 <tool id="rgTF2" name="toolfactory" version="2.00"> | 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="io"> |
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 <repeat name="history_inputs" title="Add a data file from your history to pass in to the script. Use the '+' button as needed" |
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"> | 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" size="120" multiple="false" | 7 <param name="input_files" type="data" format="data" label="Select an input file from your history" optional="true" multiple="false" |
8 help=""/> | 8 help=""/> |
9 <param name="input_formats" type="select" multiple="true" label="Select the datatype(s) that your tool/script accepts as input" | 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"> | 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"> | 11 <options from_parameter="tool.app.datatypes_registry.upload_file_formats"> |
12 <column name="value" index="0"/> | 12 <column name="value" index="0"/> |
13 </options> | 13 </options> |
14 </param> | 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" size="60" | 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" > | 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=""> | 17 <sanitizer invalid_char=""> |
18 <valid initial="string.printable"> <remove value='~~~'/> </valid> | 18 <valid initial="string.printable"> <remove value='~~~'/> </valid> |
19 <mapping initial="none"/> | 19 <mapping initial="none"/> |
20 </sanitizer> | 20 </sanitizer> |
21 </param> | 21 </param> |
22 <param name="input_help" type="text" value="parameter_help" label="This will become help text on the form." | 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" size="60"> | 23 help="Note that three consecutive ~ cannot be used in this text field - please work around this technical limitation"> |
24 <sanitizer invalid_char=""> | 24 <sanitizer invalid_char=""> |
25 <valid initial="string.printable"> <remove value='~~~'/> </valid> | 25 <valid initial="string.printable"> <remove value='~~~'/> </valid> |
26 <mapping initial="none"/> | 26 <mapping initial="none"/> |
27 </sanitizer> | 27 </sanitizer> |
28 </param> | 28 </param> |
29 <param name="input_CL" type="text" size="60" label="Positional: ordinal integer. Argparse: argument name." | 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=""> | 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> | 31 </param> |
32 </repeat> | 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" | 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"> | 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" size="120" | 35 <param name="history_name" type="text" label="Name for this output to appear in new history" optional="false" help=""/> |
36 help=""/> | |
37 <param name="history_format" type="select" multiple="false" label="Select the datatype for this output" | 36 <param name="history_format" type="select" multiple="false" label="Select the datatype for this output" |
38 help="If your datatype is not listed here, it has to be added in galaxy's datatypes_conf.xml" value="tabular"> | 37 help="If your datatype is not listed here, it has to be added in galaxy's datatypes_conf.xml" value="tabular"> |
39 <options from_parameter="tool.app.datatypes_registry.upload_file_formats"> | 38 <options from_parameter="tool.app.datatypes_registry.upload_file_formats"> |
40 <column name="value" index="0"/> | 39 <column name="value" index="0"/> |
41 </options> | 40 </options> |
42 </param> | 41 </param> |
43 <param name="history_CL" type="text" size="60" label="Positional: ordinal integer. Argparse: argument name expected for this output parameter" | 42 <param name="history_CL" type="text" label="Positional: ordinal integer. Argparse: argument name expected for this output parameter. Use STDOUT if '>' required." |
44 help="If positional parameters, enter the integer ordinal expected for this parameter. If Argparse style, '--' will be prepended or '-' if single character" value=""> | 43 help="If positional parameters, enter the integer ordinal expected for this parameter. If Argparse style, '--' will be prepended or '-' if single character" value=""/> |
45 </param> | |
46 </repeat> | 44 </repeat> |
47 </xml> | 45 </xml> |
48 <xml name="additparam"> | 46 <xml name="additparam"> |
49 <param name="edit_params" type="select" display="radio" label="Add any additional parameters to the generated tool form so they are user editable?" | 47 <param name="edit_params" type="select" display="radio" label="Add any additional parameters to the generated tool form so they are user editable?" |
50 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"> | 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"> |
51 <option value="yes">Yes, allow user to edit all additional parameters on the generated tool form</option> | 49 <option value="yes">Yes, allow user to edit all additional parameters on the generated tool form</option> |
52 <option value="no" selected="true">No - use the fixed values for all additional parameters - no user editing</option> | 50 <option value="no" selected="true">No - use the fixed values for all additional parameters - no user editing</option> |
53 </param> | 51 </param> |
54 | 52 |
55 <repeat name="additional_parameters" title="Pass additional parameters to the script" | 53 <repeat name="additional_parameters" title="Pass additional parameters to the script" |
56 help="See examples below to see how these can be parsed by scripts in the various languages"> | 54 help="See examples below to see how these can be parsed by scripts in the various languages"> |
57 <param name="param_name" type="text" value="parameter_name" label="Choose the name for this parameter" size="60"> | 55 <param name="param_name" type="text" value="parameter_name" label="Choose the name for this parameter"> |
58 <sanitizer invalid_char=""> | 56 <sanitizer invalid_char=""> |
59 <valid initial="string.letters,string.digits"/> | 57 <valid initial="string.letters,string.digits"/> |
60 <mapping initial="none"/> | 58 <mapping initial="none"/> |
61 </sanitizer> | 59 </sanitizer> |
62 </param> | 60 </param> |
63 <param name="param_type" type="select" label="Select the type for this parameter"> | 61 <param name="param_type" type="select" label="Select the type for this parameter"> |
64 <option value="text" selected="true">text</option> | 62 <option value="text" selected="true">text</option> |
65 <option value="integer">integer</option> | 63 <option value="integer">integer</option> |
66 <option value="float">float</option> | 64 <option value="float">float</option> |
67 </param> | 65 </param> |
68 <param name="param_value" type="text" value="" label="Enter this parameter's default value" size="60" | 66 <param name="param_value" type="text" value="" label="Enter this parameter's default value" |
69 help="Note that '~~~' is an internal delimiter must not appear in this text field - please work around this technical limitation" > | 67 help="Note that '~~~' is an internal delimiter must not appear in this text field - please work around this technical limitation" > |
70 <sanitizer invalid_char=""> | 68 <sanitizer invalid_char=""> |
71 <valid initial="string.printable"> <remove value='~~~'/> </valid> | 69 <valid initial="string.printable"> <remove value='~~~'/> </valid> |
72 <mapping initial="none"/> | 70 <mapping initial="none"/> |
73 </sanitizer> | 71 </sanitizer> |
74 </param> | 72 </param> |
75 <param name="param_label" type="text" value="parameter_label" label="Enter this parameter's label for the form" size="60" | 73 <param name="param_label" type="text" value="parameter_label" label="Enter this parameter's label for the form" |
76 help="Note that '~~~' is an internal delimiter so must not appear in this text field - please work around this technical limitation" > | 74 help="Note that '~~~' is an internal delimiter so must not appear in this text field - please work around this technical limitation" > |
77 <sanitizer invalid_char=""> | 75 <sanitizer invalid_char=""> |
78 <valid initial="string.printable"> <remove value='~~~'/> </valid> | 76 <valid initial="string.printable"> <remove value='~~~'/> </valid> |
79 <mapping initial="none"/> | 77 <mapping initial="none"/> |
80 </sanitizer> | 78 </sanitizer> |
81 </param> | 79 </param> |
82 <param name="param_help" type="text" value="parameter_help" label="Help for this parameter" | 80 <param name="param_help" type="text" value="parameter_help" label="Help for this parameter" |
83 help="Note that three consecutive ~ cannot be used in this text field - please work around this technical limitation" size="60"> | 81 help="Note that three consecutive ~ cannot be used in this text field - please work around this technical limitation" > |
84 <sanitizer invalid_char=""> | 82 <sanitizer invalid_char=""> |
85 <valid initial="string.printable"> <remove value='~~~'/> </valid> | 83 <valid initial="string.printable"> <remove value='~~~'/> </valid> |
86 <mapping initial="none"/> | 84 <mapping initial="none"/> |
87 </sanitizer> | 85 </sanitizer> |
88 </param> | 86 </param> |
89 <param name="param_CL" type="text" size="60" label="Positional order (must be integer > 1) or Argument name to be prefixed with '--' or '-' if single letter" | 87 <param name="param_CL" type="text" label="Positional ordinal or argparse argument name" |
90 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=""> | 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="" /> |
91 </param> | 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> | 92 </repeat> |
93 </xml> | 93 </xml> |
94 <xml name="builtin_dynpar"> | 94 <xml name="builtin_dynpar"> |
95 <param name="interpreter_version" type="text" value="" | 95 <param name="interpreter_version" type="text" value="" |
96 label="Specific interpreter version to match dependency (Conda) repositories - e.g. for python '3.8.5' Latest if empty"/> | 96 label="Specific interpreter version to match dependency (Conda) repositories - e.g. for python '3.8.5' Latest if empty"/> |
97 <param name="exe_package_version" type="text" value="" | 97 <param name="exe_package_version" type="text" value="" |
98 label="Executable package version to match dependency (Conda) repositories - e.g. for bwa='0.7.17'. Latest if empty"/> | 98 label="Executable package version to match dependency (Conda) repositories - e.g. for bwa='0.7.17'. Latest if empty"/> |
99 <param name="dynScript" label="Cut and paste the script to be executed here" type="text" value="Script goes here" area="True" | 99 <param name="dynScript" label="Cut and paste the script to be executed here" type="text" value="Script goes here" area="True" |
100 help="If there are parameters, either positional or argparse style, the script must parse and use them appropriately"> | 100 help="If there are parameters, either positional or argparse style, the script must parse and use them appropriately"> |
101 <sanitizer> | 101 <sanitizer> |
102 <valid initial="string.printable"> | 102 <valid initial="string.printable"> |
103 </valid> | 103 </valid> |
104 <mapping initial="none"/> | 104 <mapping initial="none"/> |
106 </param> | 106 </param> |
107 </xml> | 107 </xml> |
108 <xml name="dynpar"> | 108 <xml name="dynpar"> |
109 <param name="interpreter_version" type="text" value="" | 109 <param name="interpreter_version" type="text" value="" |
110 label="Specific interpreter version to match dependency (Conda) repositories - e.g. for python '3.8.5' Latest if empty"/> | 110 label="Specific interpreter version to match dependency (Conda) repositories - e.g. for python '3.8.5' Latest if empty"/> |
111 <param name="exe_package_version" type="text" value="" | 111 <param name="exe_package_version" type="text" value="" |
112 label="Executable package version to match dependency (Conda) repositories - e.g. for bwa='0.7.17'. Latest if empty"/> | 112 label="Executable package version to match dependency (Conda) repositories - e.g. for bwa='0.7.17'. Latest if empty"/> |
113 <param name="dynScript" label="Cut and paste the script to be executed here" type="text" value="Script goes here" area="True" | 113 <param name="dynScript" label="Cut and paste the script to be executed here" type="text" value="Script goes here" area="True" |
114 help="If there are parameters, either positional or argparse style, the script must parse and use them appropriately"> | 114 help="If there are parameters, either positional or argparse style, the script must parse and use them appropriately"> |
115 <sanitizer> | 115 <sanitizer> |
116 <valid initial="string.printable"> | 116 <valid initial="string.printable"> |
117 </valid> | 117 </valid> |
118 <mapping initial="none"/> | 118 <mapping initial="none"/> |
128 #import os | 128 #import os |
129 #set dev_env = os.environ.get('GALAXY_DEVELOPMENT_ENVIRONMENT', '0') == '1' | 129 #set dev_env = os.environ.get('GALAXY_DEVELOPMENT_ENVIRONMENT', '0') == '1' |
130 #if not $dev_env and ( $__user_email__ not in $__admin_users__ ): | 130 #if not $dev_env and ( $__user_email__ not in $__admin_users__ ): |
131 $__tool_directory__/rgToolFactory2.py --bad_user $__user_email__ | 131 $__tool_directory__/rgToolFactory2.py --bad_user $__user_email__ |
132 #else: | 132 #else: |
133 $__tool_directory__/rgToolFactory2.py | 133 $__tool_directory__/rgToolFactory2.py |
134 --runmode "$interexe.interpreter" | 134 --runmode "$interexe.interpreter" |
135 #if str($interexe.interpreter)=="Executable" or str($interexe.interpreter)=="system": | 135 #if str($interexe.interpreter)=="Executable" or str($interexe.interpreter)=="system": |
136 --exe_package="$interexe.exe_package" | 136 --exe_package="$interexe.exe_package" |
137 #if str($interexe.exe_package_version) != 'None' : | 137 #if str($interexe.exe_package_version) != 'None' : |
138 --exe_package_version="$interexe.exe_package_version" | 138 --exe_package_version="$interexe.exe_package_version" |
139 #end if | 139 #end if |
140 #else: | 140 #else: |
141 --interpreter_name="$interexe.interpreter" --script_path "$runme" | 141 --interpreter_name="$interexe.interpreter" --script_path "$runme" |
142 #if str($interexe.interpreter_version) != 'None': | 142 #if str($interexe.interpreter_version) != 'None': |
143 --interpreter_version="$interexe.interpreter_version" | 143 --interpreter_version="$interexe.interpreter_version" |
144 #end if | 144 #end if |
145 #end if | 145 #end if |
146 --tool_name="$tool_name" --user_email="$__user_email__" --citations="$citeme" --parampass="$ppass.parampass" | 146 --tool_name="$tool_name" --user_email="$__user_email__" --citations="$citeme" --parampass="$ppass.parampass" |
151 --help_text="$helpme" | 151 --help_text="$helpme" |
152 --new_tool="$new_tool" | 152 --new_tool="$new_tool" |
153 #end if | 153 #end if |
154 #if $ppass.parampass != '0': | 154 #if $ppass.parampass != '0': |
155 #if str($ppass.edit_params) == "yes": | 155 #if str($ppass.edit_params) == "yes": |
156 --edit_additional_parameters | 156 --edit_additional_parameters |
157 #end if | 157 #end if |
158 #for apar in $ppass.additional_parameters: | 158 #for apar in $ppass.additional_parameters: |
159 --additional_parameters="$apar.param_name~~~$apar.param_value~~~$apar.param_label~~~$apar.param_help~~~$apar.param_type~~~$apar.param_CL" | 159 --additional_parameters="$apar.param_name~~~$apar.param_value~~~$apar.param_label~~~$apar.param_help~~~$apar.param_type~~~$apar.param_CL~~~$apar.param_CLprefixed" |
160 #end for | 160 #end for |
161 #end if | 161 #end if |
162 | 162 |
163 #for $intab in $ppass.history_inputs: | 163 #for $intab in $ppass.history_inputs: |
164 --input_files="$intab.input_files~~~$intab.input_CL~~~$intab.input_formats~~~$intab.input_label~~~$intab.input_help" | 164 --input_files="$intab.input_files~~~$intab.input_CL~~~$intab.input_formats~~~$intab.input_label~~~$intab.input_help" |
166 | 166 |
167 | 167 |
168 #for $otab in $ppass.history_outputs: | 168 #for $otab in $ppass.history_outputs: |
169 --output_files "$otab.history_name~~~$otab.history_format~~~$otab.history_CL" | 169 --output_files "$otab.history_name~~~$otab.history_format~~~$otab.history_CL" |
170 #end for | 170 #end for |
171 #end if | 171 #end if |
172 ]]></command> | 172 ]]></command> |
173 <configfiles> | 173 <configfiles> |
174 <configfile name="runme"> | 174 <configfile name="runme"> |
175 | 175 |
176 #if $interexe.interpreter != "Executable" and $interexe.interpreter != "system" : | 176 #if $interexe.interpreter != "Executable" and $interexe.interpreter != "system" : |
200 #end if | 200 #end if |
201 </configfile> | 201 </configfile> |
202 </configfiles> | 202 </configfiles> |
203 <inputs> | 203 <inputs> |
204 | 204 |
205 <param name="tool_name" type="text" value="tool1" label="New tool ID and title for outputs" size="60" | 205 <param name="tool_name" type="text" value="tool1" label="New tool ID and title for outputs" |
206 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"> | 206 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"> |
207 <sanitizer invalid_char=""> | 207 <sanitizer invalid_char=""> |
208 <valid initial="string.letters,string.digits"> | 208 <valid initial="string.letters,string.digits"> |
209 <add value="_"/> | 209 <add value="_"/> |
210 </valid> | 210 </valid> |
211 </sanitizer> | 211 </sanitizer> |
212 </param> | 212 </param> |
213 <conditional name="interexe"> | 213 <conditional name="interexe"> |
214 <param name="interpreter" type="select" label="For binaries, choose 'Executable'. Otherwise choose the interpreter for your code" | 214 <param name="interpreter" type="select" label="For binaries, choose 'Executable'. Otherwise choose the interpreter for your code" |
215 help = "If executable, the supplied package will become a requirement so must match the tool dependency resolver package name - conda is the default."> | 215 help = "If executable, the supplied package will become a requirement so must match the tool dependency resolver package name - conda is the default."> |
216 <option value="Executable" selected="true">An executable binary to be provided and managed by the Conda dependency management subsystem</option> | 216 <option value="Executable" selected="true">An executable binary to be provided and managed by the Conda dependency management subsystem</option> |
217 <option value="python">python</option> | 217 <option value="python">python</option> |
221 <option value="sh">sh</option> | 221 <option value="sh">sh</option> |
222 <option value="system" >A system executable found on the path such as awk/sed</option> | 222 <option value="system" >A system executable found on the path such as awk/sed</option> |
223 <option value="specialtestcaseinterpreterpython" >for testing only - do not use me please</option> | 223 <option value="specialtestcaseinterpreterpython" >for testing only - do not use me please</option> |
224 </param> | 224 </param> |
225 <when value="Executable"> | 225 <when value="Executable"> |
226 <param name="exe_package" type="text" value="" label="Executable package name in dependency (Conda) repositories - e.g. 'bwa'" size="60" optional="false"/> | 226 <param name="exe_package" type="text" value="" label="Executable package name in dependency (Conda) repositories - e.g. 'bwa'" optional="false"/> |
227 <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" size="60"/> | 227 <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" /> |
228 </when> | 228 </when> |
229 <when value="system"> | 229 <when value="system"> |
230 <param name="exe_package" type="text" value="" label="System executable to run" size="60" optional="false"/> | 230 <param name="exe_package" type="text" value="" label="System executable to run" optional="false"/> |
231 <param name="exe_package_version" type="text" value="" | 231 <param name="exe_package_version" type="text" value="" |
232 label="Executable package version to match dependency (Conda) repositories - e.g. for bwa='0.7.17'. Latest if empty"/> | 232 label="Executable package version to match dependency (Conda) repositories - e.g. for bwa='0.7.17'. Latest if empty"/> |
233 </when> | 233 </when> |
234 <when value = "python"> | 234 <when value = "python"> |
235 <expand macro="dynpar" /> | 235 <expand macro="dynpar" /> |
251 </when> | 251 </when> |
252 </conditional> | 252 </conditional> |
253 <conditional name = "ppass"> | 253 <conditional name = "ppass"> |
254 | 254 |
255 <param name="parampass" type="select" display="radio" label="Command line parameter passing method to use"> | 255 <param name="parampass" type="select" display="radio" label="Command line parameter passing method to use"> |
256 <option value="argparse" selected="true">Argparse style: on CL in the form of --inputbam="foo.bam" if label below is "inputbam"</option> | 256 <option value="argparse" selected="true">Argparse style: passed in the form of '--[clname] [value]'</option> |
257 <option value="positional">Positional: on CL in the order defined on this screen -> "... foo.bam bar.idx zot.xls"</option> | 257 <option value="positional">Positional: Passed in the order of positional ordinals '...foo.bam bar.idx zot.xls'</option> |
258 <option value="0">No parameters needed because tool reads selected history file from STDIN and writes to STDOUT for history"</option> | 258 <option value="0">No parameters needed because tool reads selected input file from STDIN and writes STDOUT with new history output"</option> |
259 </param> | 259 </param> |
260 <when value = "argparse"> | 260 <when value = "argparse"> |
261 <expand macro="io" /> | 261 <expand macro="io" /> |
262 <expand macro="additparam" /> | 262 <expand macro="additparam" /> |
263 </when> | 263 </when> |
266 <expand macro="additparam" /> | 266 <expand macro="additparam" /> |
267 </when> | 267 </when> |
268 <when value = "0"> | 268 <when value = "0"> |
269 <expand macro="io"/> | 269 <expand macro="io"/> |
270 </when> | 270 </when> |
271 </conditional> | 271 </conditional> |
272 <conditional name="makeMode"> | 272 <conditional name="makeMode"> |
273 <param name="make_Tool" type="select" display="radio" label="Generate new tool as a tar.gz file ready to upload to a toolshed repository" | 273 <param name="make_Tool" type="select" display="radio" label="Generate new tool as a tar.gz file ready to upload to a toolshed repository" |
274 help="Generate a toolshed archive - upload to a toolshed from where it can be auto-installed via the Galaxy admin functions" | 274 help="Generate a toolshed archive - upload to a toolshed from where it can be auto-installed via the Galaxy admin functions" > |
275 size="60"> | |
276 <option value="yes">Generate a Galaxy ToolShed compatible toolshed.gz</option> | 275 <option value="yes">Generate a Galaxy ToolShed compatible toolshed.gz</option> |
277 <option value="" selected="true">No. Just run the script please</option> | 276 <option value="" selected="true">No. Just run the script please</option> |
278 </param> | 277 </param> |
279 <when value = "yes"> | 278 <when value = "yes"> |
280 <param name="tool_version" label="Tool Version - bump this to warn users trying to redo old analyses" type="text" value="0.01" | 279 <param name="tool_version" label="Tool Version - bump this to warn users trying to redo old analyses" type="text" value="0.01" |
281 help="If you change your script and regenerate the 'same' tool, you should inform Galaxy (and users) by changing (bumping is traditional) this number"/> | 280 help="If you change your script and regenerate the 'same' tool, you should inform Galaxy (and users) by changing (bumping is traditional) this number"/> |
282 <param name="tool_desc" label="Tool Description" type="text" value="" size="40" | 281 <param name="tool_desc" label="Tool Description" type="text" value="" |
283 help="Supply a brief tool description for the Galaxy tool menu entry (optional - appears after the tool name)" /> | 282 help="Supply a brief tool description for the Galaxy tool menu entry (optional - appears after the tool name)" /> |
284 <param name="help_text" label="Tool form documentation and help text for users" type="text" area="true" | 283 <param name="help_text" label="Tool form documentation and help text for users" type="text" area="true" |
285 size="8x120" value="**What it Does**" | 284 value="**What it Does**" |
286 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" > | 285 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" > |
287 <sanitizer> | 286 <sanitizer> |
288 <valid initial="string.printable"> | 287 <valid initial="string.printable"> |
289 </valid> | 288 </valid> |
290 <mapping initial="none"/> | 289 <mapping initial="none"/> |
291 </sanitizer> | 290 </sanitizer> |
295 <param name="type" type="select" display="radio" label="Citation Type"> | 294 <param name="type" type="select" display="radio" label="Citation Type"> |
296 <option value="doi">DOI</option> | 295 <option value="doi">DOI</option> |
297 <option value="bibtex">BibTeX</option> | 296 <option value="bibtex">BibTeX</option> |
298 </param> | 297 </param> |
299 <when value="doi"> | 298 <when value="doi"> |
300 <param name="doi" label="DOI" type="text" value="" | 299 <param name="doi" label="DOI" type="text" value="" |
301 help="Supply a DOI (e.g. doi: 10.1111/j.1740-9713.2007.00258.x) that should be cited when this tool is used in published research." /> | 300 help="Supply a DOI (e.g. doi: 10.1111/j.1740-9713.2007.00258.x) that should be cited when this tool is used in published research." /> |
302 </when> | 301 </when> |
303 <when value="bibtex"> | 302 <when value="bibtex"> |
304 <param name="bibtex" label="BibTex" type="text" area="true" size="8x120" | 303 <param name="bibtex" label="BibTex" type="text" area="true" |
305 help="Supply a BibTex entry that should be cited when this tool is used in published research." value="" > | 304 help="Supply a BibTex entry that should be cited when this tool is used in published research." value="" > |
306 <sanitizer> | 305 <sanitizer> |
307 <valid initial="string.printable"> | 306 <valid initial="string.printable"> |
308 </valid> | 307 </valid> |
309 <mapping initial="none"/> | 308 <mapping initial="none"/> |
313 </conditional> | 312 </conditional> |
314 </repeat> | 313 </repeat> |
315 </when> | 314 </when> |
316 <when value = ""> | 315 <when value = ""> |
317 </when> | 316 </when> |
318 </conditional> | 317 </conditional> |
319 </inputs> | 318 </inputs> |
320 <outputs> | 319 <outputs> |
321 <collection name="ToolFactory_Outputs" type="list" label="Toolfactory ${tool_name} test run outputs" > | 320 |
322 <discover_datasets pattern="__name__" directory="tfout/test-data" format="txt"/> | 321 <data format="tgz" name="new_tool" label="${tool_name}_toolshed.tgz" > |
323 </collection> | |
324 <data format="tgz" name="new_tool" label="${tool_name}_toolshed.tgz"> | |
325 <filter>makeMode['make_Tool'] == "yes"</filter> | 322 <filter>makeMode['make_Tool'] == "yes"</filter> |
326 </data> | 323 </data> |
324 | |
325 <collection name="TF_run_report" type="list" label="${tool_name} outputs"> | |
326 <discover_datasets pattern="__name__" directory="TF_run_report_tempdir" format="txt"/> | |
327 </collection> | |
328 | |
329 | |
327 </outputs> | 330 </outputs> |
328 <tests> | 331 <tests> |
329 <test> | 332 <test> |
330 <param name="input_files" value="input1_sample" /> | 333 <param name="input_files" value="input1_sample" /> |
331 <param name="input_CL" value="1" /> | 334 <param name="input_CL" value="1" /> |
340 <param name="help_text" value="help text goes here" /> | 343 <param name="help_text" value="help text goes here" /> |
341 <param name="interpreter" value="python"/> | 344 <param name="interpreter" value="python"/> |
342 <param name="history_name" value="output2_sample" /> | 345 <param name="history_name" value="output2_sample" /> |
343 <param name="history_format" value="txt" /> | 346 <param name="history_format" value="txt" /> |
344 <param name="history_CL" value="2" /> | 347 <param name="history_CL" value="2" /> |
345 <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()"/> | 348 <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()"/> |
346 <output_collection name="ToolFactory_Outputs" type="list"> | |
347 <element name="output2_sample_sample" file="output2_sample" ftype="txt" compare="diff" lines_diff = "10" /> | |
348 </output_collection> | |
349 <output name="new_tool" file="toolfactory_pyrevpos_tgz_sample" compare="sim_size" delta="6000" /> | 349 <output name="new_tool" file="toolfactory_pyrevpos_tgz_sample" compare="sim_size" delta="6000" /> |
350 <!-- <output name="output" file="output2_sample" ftype="txt" compare="diff" lines_diff = "10" /> --> | |
350 </test> | 351 </test> |
351 </tests> | 352 </tests> |
352 <help> | 353 <help> |
353 | 354 |
354 .. class:: warningmark | 355 .. class:: warningmark |
355 | 356 |
356 **Details and attribution** | 357 **Details and attribution** |
357 (see GTF_) | 358 (see GTF_) |
358 | 359 |
359 **Local Admins ONLY** | 360 **Local Admins ONLY** |
360 Only users whose IDs found in the local admin_user configuration setting in universe_wsgi.ini can run this tool. | 361 Only users whose IDs found in the local admin_user configuration setting in universe_wsgi.ini can run this tool. |
361 | 362 |
362 **If you find a bug** | 363 **If you find a bug** |
363 Please raise an issue, or even better, submit a pull request fixing it, on the github repository GTF_ | 364 Please raise an issue, or even better, submit a pull request fixing it, on the github repository GTF_ |
364 | 365 |
365 **What it does** | 366 **What it does** |
366 This tool optionally generates normal workflow compatible first class Galaxy tools | 367 This tool optionally generates normal workflow compatible first class Galaxy tools |
367 | 368 |
368 Generated tools can run existing binary packages that become requirements, existing scripts, or new scripts pasted into this tool form. | 369 Generated tools can run existing binary packages that become requirements, existing scripts, or new scripts pasted into this tool form. |
369 Pasted scripts are written so they are part of the new tool and cannot be adjusted by the downstream user. | 370 Pasted scripts are written so they are part of the new tool and cannot be adjusted by the downstream user. |
370 Binary packages are managed by the dependency subsystem - conda usually, so anything in bioconda or conda_forge is available for example. | 371 Binary packages are managed by the dependency subsystem - conda usually, so anything in bioconda or conda_forge is available for example. |
380 installed into any toolshed from where it can be installed into your Galaxy. | 381 installed into any toolshed from where it can be installed into your Galaxy. |
381 | 382 |
382 | 383 |
383 .. class:: warningmark | 384 .. class:: warningmark |
384 | 385 |
385 **Note to system administrators** | 386 **Note to system administrators** |
386 This tool offers *NO* built in protection against malicious scripts. It should only be installed on private/personnal Galaxy instances. | 387 This tool offers *NO* built in protection against malicious scripts. It should only be installed on private/personnal Galaxy instances. |
387 Admin_users will have the power to do anything they want as the Galaxy user if you install this tool. | 388 Admin_users will have the power to do anything they want as the Galaxy user if you install this tool. |
388 | 389 |
389 .. class:: warningmark | 390 .. class:: warningmark |
390 | 391 |
410 o.write(''.join(rs)) | 411 o.write(''.join(rs)) |
411 o.write('\n') | 412 o.write('\n') |
412 o.close() | 413 o.close() |
413 | 414 |
414 With argparse style parameters: | 415 With argparse style parameters: |
415 | 416 |
416 :: | 417 :: |
417 | 418 |
418 # reverse order of text by row | 419 # reverse order of text by row |
419 import argparse | 420 import argparse |
420 parser = argparse.ArgumentParser() | 421 parser = argparse.ArgumentParser() |
431 rs = list(rs) | 432 rs = list(rs) |
432 rs.reverse() | 433 rs.reverse() |
433 o.write(''.join(rs)) | 434 o.write(''.join(rs)) |
434 o.write('\n') | 435 o.write('\n') |
435 o.close() | 436 o.close() |
436 | 437 |
437 | 438 |
438 Paper_ : | 439 Paper_ : |
439 | 440 |
440 Creating re-usable tools from scripts: The Galaxy Tool Factory | 441 Creating re-usable tools from scripts: The Galaxy Tool Factory |
441 Ross Lazarus; Antony Kaspi; Mark Ziemann; The Galaxy Team | 442 Ross Lazarus; Antony Kaspi; Mark Ziemann; The Galaxy Team |
442 Bioinformatics 2012; doi: 10.1093/bioinformatics/bts573 | 443 Bioinformatics 2012; doi: 10.1093/bioinformatics/bts573 |
443 | 444 |
444 **Licensing** | 445 **Licensing** |
445 | 446 |
446 Copyright Ross Lazarus (ross period lazarus at gmail period com) May 2012 | 447 Copyright Ross Lazarus (ross period lazarus at gmail period com) May 2012 |
447 All rights reserved. | 448 All rights reserved. |
448 Licensed under the LGPL_ | 449 Licensed under the LGPL_ |
449 | 450 |