annotate toolfactory/rgToolFactory2.xml @ 48:5a7a5b06bce0 draft

Uploaded
author fubar
date Sun, 23 Aug 2020 21:03:48 -0400
parents
children 35a912ce0c83
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
48
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
1 <tool id="rgTF2" name="toolfactory" version="2.00" profile="16.04" >
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
2 <description>Scripts into tools</description>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
3 <macros>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
4 <xml name="io">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
5 <repeat name="history_inputs" title="Add a data file from your history to pass in to the script. Use the '+' button as needed"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
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">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
7 <param name="input_files" type="data" format="data" label="Select an input file from your history" optional="true" multiple="false"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
8 help=""/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
9 <param name="input_formats" type="select" multiple="true" label="Select the datatype(s) that your tool/script accepts as input"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
10 help="If your datatype is not listed here, it has to be added in galaxy's datatypes_conf.xml" value="tabular">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
11 <options from_parameter="tool.app.datatypes_registry.upload_file_formats">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
12 <column name="value" index="0"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
13 </options>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
14 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
15 <param name="input_label" type="text" value="" label="This will become the user prompt for the form so please make it informative"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
16 help="Note that '~~~' is an internal delimiter so must not appear in this text field - please work around this technical limitation" >
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
17 <sanitizer invalid_char="">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
18 <valid initial="string.printable"> <remove value='~~~'/> </valid>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
19 <mapping initial="none"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
20 </sanitizer>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
21 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
22 <param name="input_help" type="text" value="parameter_help" label="This will become help text on the form."
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
23 help="Note that three consecutive ~ cannot be used in this text field - please work around this technical limitation">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
24 <sanitizer invalid_char="">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
25 <valid initial="string.printable"> <remove value='~~~'/> </valid>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
26 <mapping initial="none"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
27 </sanitizer>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
28 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
29 <param name="input_CL" type="text" label="Positional: ordinal integer. Argparse: argument name. STDIN if the executable/script expects it"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
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="">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
31 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
32 </repeat>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
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"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
34 help="The name will become a history item for users of the new tool you are making containing one of it's outputs">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
35 <param name="history_name" type="text" label="Name for this output to appear in new history" optional="false" help=""/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
36 <param name="history_format" type="select" multiple="false" label="Select the datatype for this output"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
37 help="If your datatype is not listed here, it has to be added in galaxy's datatypes_conf.xml" value="tabular">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
38 <options from_parameter="tool.app.datatypes_registry.upload_file_formats">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
39 <column name="value" index="0"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
40 </options>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
41 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
42 <param name="history_CL" type="text" label="Positional: ordinal integer. Argparse: argument name expected for this output parameter. Use STDOUT if '>' required."
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
43 help="If positional parameters, enter the integer ordinal expected for this parameter. If Argparse style, '--' will be prepended or '-' if single character" value=""/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
44 </repeat>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
45 </xml>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
46 <xml name="additparam">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
47 <param name="edit_params" type="select" display="radio" label="Add any additional parameters to the generated tool form so they are user editable?"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
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">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
49 <option value="yes">Yes, allow user to edit all additional parameters on the generated tool form</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
50 <option value="no" selected="true">No - use the fixed values for all additional parameters - no user editing</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
51 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
52
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
53 <repeat name="additional_parameters" title="Pass additional parameters to the script"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
54 help="See examples below to see how these can be parsed by scripts in the various languages">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
55 <param name="param_name" type="text" value="parameter_name" label="Choose the name for this parameter">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
56 <sanitizer invalid_char="">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
57 <valid initial="string.letters,string.digits"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
58 <mapping initial="none"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
59 </sanitizer>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
60 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
61 <param name="param_type" type="select" label="Select the type for this parameter">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
62 <option value="text" selected="true">text</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
63 <option value="integer">integer</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
64 <option value="float">float</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
65 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
66 <param name="param_value" type="text" value="" label="Enter this parameter's default value"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
67 help="Note that '~~~' is an internal delimiter must not appear in this text field - please work around this technical limitation" >
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
68 <sanitizer invalid_char="">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
69 <valid initial="string.printable"> <remove value='~~~'/> </valid>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
70 <mapping initial="none"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
71 </sanitizer>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
72 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
73 <param name="param_label" type="text" value="parameter_label" label="Enter this parameter's label for the form"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
74 help="Note that '~~~' is an internal delimiter so must not appear in this text field - please work around this technical limitation" >
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
75 <sanitizer invalid_char="">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
76 <valid initial="string.printable"> <remove value='~~~'/> </valid>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
77 <mapping initial="none"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
78 </sanitizer>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
79 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
80 <param name="param_help" type="text" value="parameter_help" label="Help for this parameter"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
81 help="Note that three consecutive ~ cannot be used in this text field - please work around this technical limitation" >
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
82 <sanitizer invalid_char="">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
83 <valid initial="string.printable"> <remove value='~~~'/> </valid>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
84 <mapping initial="none"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
85 </sanitizer>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
86 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
87 <param name="param_CL" type="text" label="Positional ordinal or argparse argument name"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
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="" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
89 <param name="param_CLprefixed" type="text" label="Override the generated default argparse name prefix if not empty - eg ----foo if needed"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
90 help="Some targets like Planemo expect an unadorned action like 'test' before --galaxy_root and so on. " value="" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
91
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
92 </repeat>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
93 </xml>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
94 <xml name="builtin_dynpar">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
95 <param name="exe_package" type="hidden" value="" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
96 <param name="exe_package_version" type="hidden" value="" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
97 <param name="cl_override" type="hidden" value="" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
98 <param name="interpreter_version" type="hidden" value=""/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
99 <param name="dependencies" type="hidden" value="" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
100 <param name="dynScript" label="Cut and paste the script to be executed here" type="text" value="Script goes here" area="True"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
101 help="If there are parameters, either positional or argparse style, the script must parse and use them appropriately">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
102 <sanitizer>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
103 <valid initial="string.printable">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
104 </valid>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
105 <mapping initial="none"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
106 </sanitizer>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
107 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
108 </xml>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
109 <xml name="dynpar">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
110 <param name="exe_package" type="hidden" value="" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
111 <param name="exe_package_version" type="hidden" value="" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
112 <param name="cl_override" type="hidden" value="" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
113 <param name="dependencies" type="text" value="" label="List additional dependencies - e.g. 'planemo, ephemeris'" help="These will be managed by Conda" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
114 <param name="interpreter_version" type="text" value=""
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
115 label="Specific interpreter version to match dependency (Conda) repositories - e.g. for python '3.8.5' Latest if empty"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
116 <param name="dynScript" label="Cut and paste the script to be executed here" type="text" value="Script goes here" area="True"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
117 help="If there are parameters, either positional or argparse style, the script must parse and use them appropriately">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
118 <sanitizer>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
119 <valid initial="string.printable">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
120 </valid>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
121 <mapping initial="none"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
122 </sanitizer>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
123 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
124 </xml>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
125 </macros>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
126 <requirements>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
127 <requirement type="package">python</requirement>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
128 <requirement type="package">galaxyxml</requirement>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
129 <requirement type="package">planemo</requirement>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
130 <requirement type="package">yaml</requirement>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
131 <requirement type="package">lxml</requirement>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
132 </requirements>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
133 <command interpreter="python"><![CDATA[
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
134 #import os
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
135 #set dev_env = os.environ.get('GALAXY_DEVELOPMENT_ENVIRONMENT', '0') == '1'
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
136 #if not $dev_env and ( $__user_email__ not in $__admin_users__ ):
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
137 $__tool_directory__/rgToolFactory2.py --bad_user $__user_email__
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
138 #else:
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
139 $__tool_directory__/rgToolFactory2.py
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
140 --dependencies "$interexe.dependencies"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
141 --runmode "$interexe.interpreter"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
142 #if len(str($interexe.cl_override)) > 0:
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
143 --cl_override "$interexe.cl_override"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
144 #end if
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
145 #if str($interexe.interpreter)=="Executable" or str($interexe.interpreter)=="system":
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
146 --exe_package="$interexe.exe_package"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
147 #if $interexe.exe_package_version:
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
148 --exe_package_version="$interexe.exe_package_version"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
149 #end if
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
150 #else:
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
151 --interpreter_name="$interexe.interpreter" --script_path "$runme"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
152 #if str($interexe.interpreter_version) != 'None':
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
153 --interpreter_version="$interexe.interpreter_version"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
154 #end if
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
155 #end if
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
156 --tool_name="$tool_name" --user_email="$__user_email__" --citations="$citeme" --parampass="$ppass.parampass"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
157 #if str($makeMode.make_Tool)=="yes":
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
158 --planemo_test "$makeMode.planemo_test"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
159 --make_Tool="$makeMode.make_Tool"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
160 --tool_desc="$makeMode.tool_desc"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
161 --tool_version="$makeMode.tool_version"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
162 --help_text="$helpme"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
163 --new_tool="$new_tool"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
164 #end if
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
165 #if $ppass.parampass != '0':
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
166 #if str($ppass.edit_params) == "yes":
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
167 --edit_additional_parameters
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
168 #end if
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
169 #for apar in $ppass.additional_parameters:
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
170 --additional_parameters="$apar.param_name~~~$apar.param_value~~~$apar.param_label~~~$apar.param_help~~~$apar.param_type~~~$apar.param_CL~~~$apar.param_CLprefixed"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
171 #end for
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
172 #end if
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
173 #for $intab in $ppass.history_inputs:
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
174 --input_files="$intab.input_files~~~$intab.input_CL~~~$intab.input_formats~~~$intab.input_label~~~$intab.input_help"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
175 #end for
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
176 #for $otab in $ppass.history_outputs:
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
177 --output_files "$otab.history_name~~~$otab.history_format~~~$otab.history_CL"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
178 #end for
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
179 #end if
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
180 ]]></command>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
181 <configfiles>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
182 <configfile name="runme">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
183
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
184 #if $interexe.interpreter != "Executable" and $interexe.interpreter != "system" :
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
185 ${interexe.dynScript}
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
186 #else:
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
187 $tool_name
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
188 #end if
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
189 </configfile>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
190 <configfile name="helpme">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
191 #if $makeMode.make_Tool == "yes":
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
192 ${makeMode.help_text}
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
193 #else
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
194 $tool_name help goes here
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
195 #end if
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
196 </configfile>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
197 <configfile name="citeme">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
198 #if $makeMode.make_Tool == "yes":
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
199 #for $citation in $makeMode.citations:
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
200 #if $citation.citation_type.type == "bibtex":
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
201 **ENTRY**bibtex
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
202 ${citation.citation_type.bibtex}
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
203 #else
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
204 **ENTRY**doi
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
205 ${citation.citation_type.doi}
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
206 #end if
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
207 #end for
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
208 #end if
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
209 </configfile>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
210 </configfiles>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
211 <inputs>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
212
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
213 <param name="tool_name" type="text" value="tool1" label="New tool ID and title for outputs"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
214 help="This will become the toolshed repository name so choose thoughtfully to avoid namespace clashes with other tool writers. lower case, digits and underscores only">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
215 <sanitizer invalid_char="">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
216 <valid initial="string.letters,string.digits">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
217 <add value="_"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
218 </valid>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
219 </sanitizer>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
220 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
221 <conditional name="interexe">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
222 <param name="interpreter" type="select" label="Tool model: For a managed external dependency, choose 'Executable', or choose an interpreter for a script"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
223 help = "If executable, the supplied package will become a requirement so must match the tool dependency resolver package name - conda is the default.">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
224 <option value="Executable" selected="true">An executable binary to be provided and managed by the Conda dependency management subsystem</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
225 <option value="python">Use Python to run the script pasted below</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
226 <option value="r-base">Use R (Rscript) to run the script pasted below</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
227 <option value="perl">Use a depency managed Perl to run the script pasted below</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
228 <option value="bash">Use the system bash to run the script pasted below</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
229 <option value="sh">Use sh to run the script pasted below</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
230 <option value="system" >Use a different system executable such as sed</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
231 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
232 <when value="Executable">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
233 <param name="exe_package" type="text" value="" label="Executable/package name for Ddependency manager - e.g. 'bwa'" optional="false"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
234 <param name="exe_package_version" type="text" value="" label="Executable/package version to match dependency (Conda) repositories - e.g. for bwa='0.7.17'. Latest if empty" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
235 <param name="cl_override" type="text" value="" label="Command line override prefix - e.g. for ephemeris prepend the specific function such as 'workflow_install'"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
236 help="Some packages like ephemerisand planemo require a sub-command - eg planemo test - before parameters are passed. Supply that here"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
237 <param name="dependencies" type="hidden" value="" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
238 </when>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
239 <when value="system">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
240 <param name="dependencies" type="hidden" value="" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
241 <param name="exe_package" type="text" value="" label="System executable to run - e.g. awk"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
242 <param name="exe_package_version" type="hidden" value="" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
243 <param name="cl_override" type="text" value="" label="Command line override prefix - e.g. for sed or awk, prepend this before the i/o parameters"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
244 help="This may help finesse a command line - inputs and output will be passed as you specify below"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
245 </when>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
246 <when value = "python">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
247 <expand macro="dynpar" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
248 </when>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
249 <when value = "r-base">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
250 <expand macro="dynpar" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
251 </when>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
252 <when value = "perl">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
253 <expand macro="dynpar" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
254 </when>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
255 <when value = "bash">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
256 <expand macro="builtin_dynpar" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
257 </when>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
258 <when value = "sh">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
259 <expand macro="builtin_dynpar" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
260 </when>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
261 </conditional>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
262 <conditional name = "ppass">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
263
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
264 <param name="parampass" type="select" display="radio" label="Command line parameter passing method to use">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
265 <option value="argparse" selected="true">Argparse style: passed in the form of '--[clname] [value]'</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
266 <option value="positional">Positional: Passed in the order of positional ordinals '...foo.bam bar.idx zot.xls'</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
267 <option value="0">No parameters needed because tool reads selected input file from STDIN and writes STDOUT with new history output"</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
268 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
269 <when value = "argparse">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
270 <expand macro="io" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
271 <expand macro="additparam" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
272 </when>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
273 <when value = "positional">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
274 <expand macro="io" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
275 <expand macro="additparam" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
276 </when>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
277 <when value = "0">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
278 <expand macro="io"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
279 </when>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
280 </conditional>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
281 <conditional name="makeMode">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
282 <param name="make_Tool" type="select" display="radio" label="Generate new tool as a tar.gz file ready to upload to a toolshed repository"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
283 help="Generate a toolshed archive - upload to a toolshed from where it can be auto-installed via the Galaxy admin functions" >
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
284 <option value="yes">Generate a Galaxy ToolShed compatible toolshed.gz</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
285 <option value="" selected="true">No. Just run the script please</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
286 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
287 <when value = "yes">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
288 <param name="planemo_test" type="select" display="radio" label="Use planemo to test the new tool (takes a while..)"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
289 help="Planemo will test the tool, upload it to the local toolshed and install to this Galaxy for additional testing" >
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
290 <option value="yes" selected="true">Test with planemo and install to this Galaxy if passes</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
291 <option value="">No test/install</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
292 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
293 <param name="tool_version" label="Tool Version - bump this to warn users trying to redo old analyses" type="text" value="0.01"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
294 help="If you change your script and regenerate the 'same' tool, you should inform Galaxy (and users) by changing (bumping is traditional) this number"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
295 <param name="tool_desc" label="Tool Description" type="text" value=""
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
296 help="Supply a brief tool description for the Galaxy tool menu entry (optional - appears after the tool name)" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
297 <param name="help_text" label="Tool form documentation and help text for users" type="text" area="true"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
298 value="**What it Does**"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
299 help="Supply the brief user documentation to appear on the new tool form as reStructured text - http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html" >
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
300 <sanitizer>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
301 <valid initial="string.printable">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
302 </valid>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
303 <mapping initial="none"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
304 </sanitizer>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
305 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
306 <repeat name="citations" title="Citation">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
307 <conditional name="citation_type">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
308 <param name="type" type="select" display="radio" label="Citation Type">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
309 <option value="doi">DOI</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
310 <option value="bibtex">BibTeX</option>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
311 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
312 <when value="doi">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
313 <param name="doi" label="DOI" type="text" value=""
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
314 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." />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
315 </when>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
316 <when value="bibtex">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
317 <param name="bibtex" label="BibTex" type="text" area="true"
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
318 help="Supply a BibTex entry that should be cited when this tool is used in published research." value="" >
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
319 <sanitizer>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
320 <valid initial="string.printable">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
321 </valid>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
322 <mapping initial="none"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
323 </sanitizer>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
324 </param>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
325 </when>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
326 </conditional>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
327 </repeat>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
328 </when>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
329 <when value = "">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
330 </when>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
331 </conditional>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
332 </inputs>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
333 <outputs>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
334
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
335 <data format="tgz" name="new_tool" label="${tool_name}_toolshed.tgz" >
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
336 <filter>makeMode['make_Tool'] == "yes"</filter>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
337 </data>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
338
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
339 <collection name="TF_run_report" type="list" label="${tool_name} outputs">
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
340 <discover_datasets pattern="__name_and_ext__" directory="TF_run_report_tempdir" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
341 </collection>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
342
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
343
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
344 </outputs>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
345 <tests>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
346 <test>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
347 <param name="input_files" value="input1_sample" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
348 <param name="input_CL" value="1" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
349 <param name="input_formats" value="txt" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
350 <param name="input_label" value="input" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
351 <param name="input_help" value="help" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
352 <param name="tool_name" value="pyrevpos" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
353 <param name="parampass" value="positional" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
354 <param name="make_Tool" value="yes" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
355 <param name="tool_version" value="0.01" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
356 <param name="tool_desc" value="positional reverse" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
357 <param name="help_text" value="help text goes here" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
358 <param name="interpreter" value="python"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
359 <param name="history_name" value="output2_sample" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
360 <param name="history_format" value="txt" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
361 <param name="history_CL" value="2" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
362 <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()"/>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
363 <output name="new_tool" file="toolfactory_pyrevpos_tgz_sample" compare="sim_size" delta="6000" />
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
364 <!-- <output name="output" file="output2_sample" ftype="txt" compare="diff" lines_diff = "10" /> -->
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
365 </test>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
366 </tests>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
367 <help>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
368
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
369 .. class:: warningmark
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
370
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
371 **Details and attribution**
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
372 (see GTF_)
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
373
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
374 **Local Admins ONLY**
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
375 Only users whose IDs found in the local admin_user configuration setting in universe_wsgi.ini can run this tool.
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
376
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
377 **If you find a bug**
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
378 Please raise an issue, or even better, submit a pull request fixing it, on the github repository GTF_
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
379
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
380 **What it does**
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
381 This tool optionally generates normal workflow compatible first class Galaxy tools
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
382
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
383 Generated tools can run existing binary packages that become requirements, existing scripts, or new scripts pasted into this tool form.
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
384 Pasted scripts are written so they are part of the new tool and cannot be adjusted by the downstream user.
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
385 Binary packages are managed by the dependency subsystem - conda usually, so anything in bioconda or conda_forge is available for example.
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
386
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
387 Any number of parameters can be built into the new tool form for passing in to the script or executable at runtime.
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
388 These can be editable by the downstream user or baked in.
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
389
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
390 When you run this tool, your executable or script and supplied parameter values will be run to produce a canonical
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
391 set of outputs - these are used to construct a test for the new tool.
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
392
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
393 If tool generation is required, a new tarball compatible with any Galaxy toolshed is created.
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
394 It can be unpacked in your galaxy/tools directory and manually added to tool_conf.xml, or
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
395 installed into any toolshed from where it can be installed into your Galaxy.
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
396
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
397
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
398 .. class:: warningmark
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
399
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
400 **Note to system administrators**
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
401 This tool offers *NO* built in protection against malicious scripts. It should only be installed on private/personnal Galaxy instances.
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
402 Admin_users will have the power to do anything they want as the Galaxy user if you install this tool.
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
403
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
404 .. class:: warningmark
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
405
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
406 **Use on public servers** is STRONGLY discouraged for obvious reasons
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
407
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
408 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.
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
409 We recommend that you follow the good code hygiene practices associated with safe toolshed practices.
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
410
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
411 Here's a sample python script that can be cut and pasted into the tool form, suitable for positional parameter passing:
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
412
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
413 ::
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
414
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
415 # reverse order of text by row
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
416 import sys
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
417 inp = sys.argv[1]
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
418 outp = sys.argv[2]
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
419 i = open(inp,'r').readlines()
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
420 o = open(outp,'w')
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
421 for row in i:
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
422 rs = row.rstrip()
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
423 rs = list(rs)
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
424 rs.reverse()
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
425 o.write(''.join(rs))
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
426 o.write('\n')
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
427 o.close()
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
428
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
429 With argparse style parameters:
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
430
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
431 ::
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
432
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
433 # reverse order of text by row
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
434 import argparse
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
435 parser = argparse.ArgumentParser()
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
436 a = parser.add_argument
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
437 a('--infile',default='')
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
438 a('--outfile',default=None)
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
439 args = parser.parse_args()
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
440 inp = args.infile
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
441 outp = args.outfile
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
442 i = open(inp,'r').readlines()
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
443 o = open(outp,'w')
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
444 for row in i:
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
445 rs = row.rstrip()
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
446 rs = list(rs)
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
447 rs.reverse()
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
448 o.write(''.join(rs))
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
449 o.write('\n')
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
450 o.close()
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
451
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
452
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
453 Paper_ :
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
454
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
455 Creating re-usable tools from scripts: The Galaxy Tool Factory
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
456 Ross Lazarus; Antony Kaspi; Mark Ziemann; The Galaxy Team
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
457 Bioinformatics 2012; doi: 10.1093/bioinformatics/bts573
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
458
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
459 **Licensing**
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
460
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
461 Copyright Ross Lazarus (ross period lazarus at gmail period com) May 2012
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
462 All rights reserved.
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
463 Licensed under the LGPL_
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
464
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
465 .. _LGPL: http://www.gnu.org/copyleft/lesser.html
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
466 .. _GTF: https://github.com/fubar2/toolfactory
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
467 .. _Paper: http://bioinformatics.oxfordjournals.org/cgi/reprint/bts573
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
468
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
469
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
470 </help>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
471 <citations>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
472 <citation type="doi">10.1093/bioinformatics/bts573</citation>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
473 </citations>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
474 </tool>
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
475
5a7a5b06bce0 Uploaded
fubar
parents:
diff changeset
476