annotate toolfactory/rgToolFactory2.xml @ 46:f8700bed1e17 draft

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