annotate toolfactory/rgToolFactory2.xml @ 45:668c37cc8962 draft

trying to get a workflow to do something interesting
author fubar
date Sun, 16 Aug 2020 20:05:19 -0400
parents e7e9732ebed6
children f8700bed1e17
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">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
95 <param name="interpreter_version" type="text" value=""
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
96 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
97 <param name="exe_package_version" type="text" value=""
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
98 label="Executable package version to match dependency (Conda) repositories - e.g. for bwa='0.7.17'. Latest if empty"/>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
99 <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
100 help="If there are parameters, either positional or argparse style, the script must parse and use them appropriately">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
101 <sanitizer>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
102 <valid initial="string.printable">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
103 </valid>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
104 <mapping initial="none"/>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
105 </sanitizer>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
106 </param>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
107 </xml>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
108 <xml name="dynpar">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
109 <param name="interpreter_version" type="text" value=""
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
110 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
111 <param name="exe_package_version" type="text" value=""
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
112 label="Executable package version to match dependency (Conda) repositories - e.g. for bwa='0.7.17'. Latest if empty"/>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
113 <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
114 help="If there are parameters, either positional or argparse style, the script must parse and use them appropriately">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
115 <sanitizer>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
116 <valid initial="string.printable">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
117 </valid>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
118 <mapping initial="none"/>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
119 </sanitizer>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
120 </param>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
121 </xml>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
122 </macros>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
123 <requirements>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
124 <requirement type="package">python</requirement>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
125 <requirement type="package">galaxyxml</requirement>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
126 </requirements>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
127 <command interpreter="python"><![CDATA[
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
128 #import os
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
129 #set dev_env = os.environ.get('GALAXY_DEVELOPMENT_ENVIRONMENT', '0') == '1'
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
130 #if not $dev_env and ( $__user_email__ not in $__admin_users__ ):
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
131 $__tool_directory__/rgToolFactory2.py --bad_user $__user_email__
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
132 #else:
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
133 $__tool_directory__/rgToolFactory2.py
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
134 --runmode "$interexe.interpreter"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
135 #if str($interexe.interpreter)=="Executable" or str($interexe.interpreter)=="system":
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
136 --exe_package="$interexe.exe_package"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
137 #if str($interexe.exe_package_version) != 'None' :
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
138 --exe_package_version="$interexe.exe_package_version"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
139 #end if
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
140 #else:
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
141 --interpreter_name="$interexe.interpreter" --script_path "$runme"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
142 #if str($interexe.interpreter_version) != 'None':
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
143 --interpreter_version="$interexe.interpreter_version"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
144 #end if
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
145 #end if
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
146 --tool_name="$tool_name" --user_email="$__user_email__" --citations="$citeme" --parampass="$ppass.parampass"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
147 #if str($makeMode.make_Tool)=="yes":
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
148 --make_Tool="$makeMode.make_Tool"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
149 --tool_desc="$makeMode.tool_desc"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
150 --tool_version="$makeMode.tool_version"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
151 --help_text="$helpme"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
152 --new_tool="$new_tool"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
153 #end if
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
154 #if $ppass.parampass != '0':
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
155 #if str($ppass.edit_params) == "yes":
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
156 --edit_additional_parameters
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
157 #end if
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
158 #for apar in $ppass.additional_parameters:
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
159 --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
160 #end for
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
161 #end if
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
162
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
163 #for $intab in $ppass.history_inputs:
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
164 --input_files="$intab.input_files~~~$intab.input_CL~~~$intab.input_formats~~~$intab.input_label~~~$intab.input_help"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
165 #end for
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
166
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
167
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
168 #for $otab in $ppass.history_outputs:
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
169 --output_files "$otab.history_name~~~$otab.history_format~~~$otab.history_CL"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
170 #end for
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
171 #end if
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
172 ]]></command>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
173 <configfiles>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
174 <configfile name="runme">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
175
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
176 #if $interexe.interpreter != "Executable" and $interexe.interpreter != "system" :
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
177 ${interexe.dynScript}
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
178 #else:
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
179 $tool_name
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
180 #end if
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
181 </configfile>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
182 <configfile name="helpme">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
183 #if $makeMode.make_Tool == "yes":
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
184 ${makeMode.help_text}
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
185 #else
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
186 $tool_name help goes here
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
187 #end if
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
188 </configfile>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
189 <configfile name="citeme">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
190 #if $makeMode.make_Tool == "yes":
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
191 #for $citation in $makeMode.citations:
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
192 #if $citation.citation_type.type == "bibtex":
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
193 **ENTRY**bibtex
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
194 ${citation.citation_type.bibtex}
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
195 #else
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
196 **ENTRY**doi
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
197 ${citation.citation_type.doi}
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
198 #end if
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
199 #end for
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
200 #end if
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
201 </configfile>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
202 </configfiles>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
203 <inputs>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
204
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
205 <param name="tool_name" type="text" value="tool1" label="New tool ID and title for outputs"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
206 help="This will become the toolshed repository name so choose thoughtfully to avoid namespace clashes with other tool writers. lower case, digits and underscores only">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
207 <sanitizer invalid_char="">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
208 <valid initial="string.letters,string.digits">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
209 <add value="_"/>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
210 </valid>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
211 </sanitizer>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
212 </param>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
213 <conditional name="interexe">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
214 <param name="interpreter" type="select" label="For binaries, choose 'Executable'. Otherwise choose the interpreter for your code"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
215 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
216 <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
217 <option value="python">python</option>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
218 <option value="r-base">Rscript</option>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
219 <option value="perl">perl</option>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
220 <option value="bash">bash</option>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
221 <option value="sh">sh</option>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
222 <option value="system" >A system executable found on the path such as awk/sed</option>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
223 <option value="specialtestcaseinterpreterpython" >for testing only - do not use me please</option>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
224 </param>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
225 <when value="Executable">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
226 <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
227 <param name="exe_package_version" type="text" value="" label="Executable package version to match dependency (Conda) repositories - e.g. for bwa='0.7.17'. Latest if empty" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
228 </when>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
229 <when value="system">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
230 <param name="exe_package" type="text" value="" label="System executable to run" optional="false"/>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
231 <param name="exe_package_version" type="text" value=""
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
232 label="Executable package version to match dependency (Conda) repositories - e.g. for bwa='0.7.17'. Latest if empty"/>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
233 </when>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
234 <when value = "python">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
235 <expand macro="dynpar" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
236 </when>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
237 <when value = "r-base">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
238 <expand macro="dynpar" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
239 </when>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
240 <when value = "perl">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
241 <expand macro="dynpar" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
242 </when>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
243 <when value = "bash">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
244 <expand macro="builtin_dynpar" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
245 </when>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
246 <when value = "sh">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
247 <expand macro="builtin_dynpar" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
248 </when>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
249 <when value = "specialtestcaseinterpreterpython">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
250 <expand macro="builtin_dynpar" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
251 </when>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
252 </conditional>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
253 <conditional name = "ppass">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
254
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
255 <param name="parampass" type="select" display="radio" label="Command line parameter passing method to use">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
256 <option value="argparse" selected="true">Argparse style: passed in the form of '--[clname] [value]'</option>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
257 <option value="positional">Positional: Passed in the order of positional ordinals '...foo.bam bar.idx zot.xls'</option>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
258 <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
259 </param>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
260 <when value = "argparse">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
261 <expand macro="io" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
262 <expand macro="additparam" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
263 </when>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
264 <when value = "positional">
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 = "0">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
269 <expand macro="io"/>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
270 </when>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
271 </conditional>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
272 <conditional name="makeMode">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
273 <param name="make_Tool" type="select" display="radio" label="Generate new tool as a tar.gz file ready to upload to a toolshed repository"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
274 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
275 <option value="yes">Generate a Galaxy ToolShed compatible toolshed.gz</option>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
276 <option value="" selected="true">No. Just run the script please</option>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
277 </param>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
278 <when value = "yes">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
279 <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
280 help="If you change your script and regenerate the 'same' tool, you should inform Galaxy (and users) by changing (bumping is traditional) this number"/>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
281 <param name="tool_desc" label="Tool Description" type="text" value=""
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
282 help="Supply a brief tool description for the Galaxy tool menu entry (optional - appears after the tool name)" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
283 <param name="help_text" label="Tool form documentation and help text for users" type="text" area="true"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
284 value="**What it Does**"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
285 help="Supply the brief user documentation to appear on the new tool form as reStructured text - http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html" >
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
286 <sanitizer>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
287 <valid initial="string.printable">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
288 </valid>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
289 <mapping initial="none"/>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
290 </sanitizer>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
291 </param>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
292 <repeat name="citations" title="Citation">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
293 <conditional name="citation_type">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
294 <param name="type" type="select" display="radio" label="Citation Type">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
295 <option value="doi">DOI</option>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
296 <option value="bibtex">BibTeX</option>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
297 </param>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
298 <when value="doi">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
299 <param name="doi" label="DOI" type="text" value=""
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
300 help="Supply a DOI (e.g. doi: 10.1111/j.1740-9713.2007.00258.x) that should be cited when this tool is used in published research." />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
301 </when>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
302 <when value="bibtex">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
303 <param name="bibtex" label="BibTex" type="text" area="true"
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
304 help="Supply a BibTex entry that should be cited when this tool is used in published research." value="" >
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
305 <sanitizer>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
306 <valid initial="string.printable">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
307 </valid>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
308 <mapping initial="none"/>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
309 </sanitizer>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
310 </param>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
311 </when>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
312 </conditional>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
313 </repeat>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
314 </when>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
315 <when value = "">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
316 </when>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
317 </conditional>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
318 </inputs>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
319 <outputs>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
320
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
321 <data format="tgz" name="new_tool" label="${tool_name}_toolshed.tgz" >
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
322 <filter>makeMode['make_Tool'] == "yes"</filter>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
323 </data>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
324
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
325 <collection name="TF_run_report" type="list" label="${tool_name} outputs">
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
326 <discover_datasets pattern="__name__" directory="TF_run_report_tempdir" format="txt"/>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
327 </collection>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
328
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
329
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
330 </outputs>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
331 <tests>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
332 <test>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
333 <param name="input_files" value="input1_sample" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
334 <param name="input_CL" value="1" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
335 <param name="input_formats" value="txt" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
336 <param name="input_label" value="input" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
337 <param name="input_help" value="help" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
338 <param name="tool_name" value="pyrevpos" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
339 <param name="parampass" value="positional" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
340 <param name="make_Tool" value="yes" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
341 <param name="tool_version" value="0.01" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
342 <param name="tool_desc" value="positional reverse" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
343 <param name="help_text" value="help text goes here" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
344 <param name="interpreter" value="python"/>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
345 <param name="history_name" value="output2_sample" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
346 <param name="history_format" value="txt" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
347 <param name="history_CL" value="2" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
348 <param name="dynScript" value="import sys; inp = sys.argv[1]; outp = sys.argv[2]; inlist = open(inp,'r').readlines(); o = open(outp,'w'); rs = [''.join(list(reversed(x.rstrip()))) for x in inlist]; o.write('\n'.join(rs)); o.close()"/>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
349 <output name="new_tool" file="toolfactory_pyrevpos_tgz_sample" compare="sim_size" delta="6000" />
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
350 <!-- <output name="output" file="output2_sample" ftype="txt" compare="diff" lines_diff = "10" /> -->
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
351 </test>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
352 </tests>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
353 <help>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
354
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
355 .. class:: warningmark
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
356
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
357 **Details and attribution**
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
358 (see GTF_)
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
359
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
360 **Local Admins ONLY**
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
361 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
362
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
363 **If you find a bug**
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
364 Please raise an issue, or even better, submit a pull request fixing it, on the github repository GTF_
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
365
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
366 **What it does**
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
367 This tool optionally generates normal workflow compatible first class Galaxy tools
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
368
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
369 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
370 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
371 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
372
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
373 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
374 These can be editable by the downstream user or baked in.
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
375
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
376 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
377 set of outputs - these are used to construct a test for the new tool.
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
378
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
379 If tool generation is required, a new tarball compatible with any Galaxy toolshed is created.
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
380 It can be unpacked in your galaxy/tools directory and manually added to tool_conf.xml, or
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
381 installed into any toolshed from where it can be installed into your Galaxy.
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
382
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
383
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
384 .. class:: warningmark
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
385
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
386 **Note to system administrators**
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
387 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
388 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
389
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
390 .. class:: warningmark
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
391
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
392 **Use on public servers** is STRONGLY discouraged for obvious reasons
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
393
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
394 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
395 We recommend that you follow the good code hygiene practices associated with safe toolshed practices.
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
396
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
397 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
398
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
399 ::
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
400
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
401 # reverse order of text by row
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
402 import sys
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
403 inp = sys.argv[1]
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
404 outp = sys.argv[2]
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
405 i = open(inp,'r').readlines()
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
406 o = open(outp,'w')
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
407 for row in i:
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
408 rs = row.rstrip()
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
409 rs = list(rs)
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
410 rs.reverse()
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
411 o.write(''.join(rs))
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
412 o.write('\n')
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
413 o.close()
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
414
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
415 With argparse style parameters:
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
416
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
417 ::
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
418
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
419 # reverse order of text by row
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
420 import argparse
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
421 parser = argparse.ArgumentParser()
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
422 a = parser.add_argument
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
423 a('--infile',default='')
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
424 a('--outfile',default=None)
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
425 args = parser.parse_args()
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
426 inp = args.infile
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
427 outp = args.outfile
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
428 i = open(inp,'r').readlines()
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
429 o = open(outp,'w')
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
430 for row in i:
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
431 rs = row.rstrip()
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
432 rs = list(rs)
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
433 rs.reverse()
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
434 o.write(''.join(rs))
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
435 o.write('\n')
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
436 o.close()
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
437
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
438
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
439 Paper_ :
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
440
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
441 Creating re-usable tools from scripts: The Galaxy Tool Factory
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
442 Ross Lazarus; Antony Kaspi; Mark Ziemann; The Galaxy Team
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
443 Bioinformatics 2012; doi: 10.1093/bioinformatics/bts573
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
444
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
445 **Licensing**
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
446
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
447 Copyright Ross Lazarus (ross period lazarus at gmail period com) May 2012
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
448 All rights reserved.
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
449 Licensed under the LGPL_
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
450
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
451 .. _LGPL: http://www.gnu.org/copyleft/lesser.html
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
452 .. _GTF: https://github.com/fubar2/toolfactory
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
453 .. _Paper: http://bioinformatics.oxfordjournals.org/cgi/reprint/bts573
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
454
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
455
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
456 </help>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
457 <citations>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
458 <citation type="doi">10.1093/bioinformatics/bts573</citation>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
459 </citations>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
460 </tool>
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
461
e7e9732ebed6 Uploaded
fubar
parents:
diff changeset
462