annotate fubar-galaxytoolfactory-ca7db160878a/rgToolFactory.xml @ 4:6e8061495b19 draft

Carlos pointed out that perl tools failed to run when properly installed. Turned out the widely used X in Perl scripts were not being properly escaped in the new CDATA segments which were correctly protecting < and >. Fixed now.
author fubar
date Tue, 19 Feb 2013 18:03:05 -0500
parents 8c578211a681
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
1 <tool id="rgTF" name="Tool Factory" version="0.10">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
2 <description>Makes scripts into tools</description>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
3 <command interpreter="python">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
4 #if ( $__user_email__ not in $__admin_users__ ):
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
5 rgToolFactory.py --bad_user $__user_email__
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
6 #else:
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
7 rgToolFactory.py --script_path "$runme" --interpreter "$interpreter"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
8 --tool_name "$tool_name" --user_email "$__user_email__"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
9 #if $make_TAB.value=="yes":
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
10 --output_tab "$tab_file"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
11 #end if
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
12 #if $makeMode.make_Tool=="yes":
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
13 --make_Tool "$makeMode.make_Tool"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
14 --tool_desc "$makeMode.tool_desc"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
15 --tool_version "$makeMode.tool_version"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
16 --new_tool "$new_tool"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
17 --help_text "$helpme"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
18 #end if
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
19 #if $make_HTML.value=="yes":
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
20 --output_dir "$html_file.files_path" --output_html "$html_file" --make_HTML "yes"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
21 #end if
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
22 #if $input1 != 'None':
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
23 --input_tab "$input1"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
24 #end if
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
25 #end if
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
26 </command>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
27 <inputs>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
28 <param name="input1" type="data" label="Select an input file from your history" optional="true" size="120"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
29 help="Most scripts will need an input - your script MUST be ready for whatever format you choose"/>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
30 <param name="tool_name" type="text" value="My dynamic script" label="New tool ID and title for outputs" size="60"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
31 help="This will become the toolshed repository name so please choose thoughtfully to avoid namespace clashes with other tool writers">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
32 <sanitizer invalid_char="">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
33 <valid initial="string.letters,string.digits"/>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
34 </sanitizer>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
35 </param>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
36 <conditional name="makeMode">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
37 <param name="make_Tool" type="select" label="Create a tar.gz file ready for local toolshed entry" help="Ready to deploy securely!" size="60">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
38 <option value="yes">Generate a Galaxy ToolShed compatible toolshed.gz</option>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
39 <option value="" selected="true">No. Just run the script please</option>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
40 </param>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
41 <when value = "yes">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
42 <param name="tool_version" label="Tool Version - bump this to warn users trying to redo old analyses" type="text" value="0.01"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
43 help="If you change your script and regenerate the 'same' tool, you should inform Galaxy (and users) by changing (bumping is traditional) this number"/>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
44 <param name="tool_desc" label="Tool Description" type="text" value="" size="40"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
45 help="Supply a brief tool description for the Galaxy tool menu entry (optional - appears after the tool name)" />
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
46 <param name="help_text" label="Tool form documentation and help text for users" type="text" area="true"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
47 size="8x120" value="**What it Does**"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
48 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" >
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
49 <sanitizer>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
50 <valid initial="string.printable">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
51 </valid>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
52 <mapping initial="none"/>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
53 </sanitizer>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
54 </param>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
55 </when>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
56 <when value = "">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
57 </when>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
58 </conditional>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
59 <param name="make_HTML" type="select" label="Create an HTML report with links to all output files and thumbnail links to PDF images" size="60"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
60 help="Recommended for presenting complex outputs in an accessible manner. Turn off for simple tools so they just create one output">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
61 <option value="yes">Yes, arrange all outputs in an HTML output</option>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
62 <option value="" selected="true">No, no HTML output file thanks</option>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
63 </param>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
64
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
65
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
66 <param name="make_TAB" type="select" label="Create a new (default tabular) history output"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
67 help="This is useful if your script creates a single new tabular file you want to appear in the history after the tool executes">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
68 <option value="yes" selected="true">My script writes to a new history output</option>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
69 <option value="">I only want an HTML output file</option>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
70 </param>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
71 <param name="out_format" type="select" label="Galaxy datatype for your tool's output file" help="You may need to edit the xml to extend this list">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
72 <option value="tabular" selected="true">Tabular</option>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
73 <option value="interval">Interval</option>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
74 <option value="gz">gz</option>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
75 <option value="text">text</option>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
76 </param>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
77 <param name="interpreter" type="select" label="Select the interpreter for your code. This must be available on the path of the execution host">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
78 <option value="Rscript" selected="true">Rscript</option>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
79 <option value="python">python</option>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
80 <option value="perl">perl</option>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
81 <option value="sh">sh</option>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
82 </param>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
83 <param name="dynScript" label="Cut and paste the script to be executed here" type="text" value="" area="True" size="8x120"
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
84 help="Script must deal with two command line parameters: Path to input tabular file path (or 'None' if none selected) and path to output tabular history file (or 'None').">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
85 <sanitizer>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
86 <valid initial="string.printable">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
87 </valid>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
88 <mapping initial="none"/>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
89 </sanitizer>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
90 </param>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
91 </inputs>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
92 <outputs>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
93 <data format="tabular" name="tab_file" label="${tool_name}.${out_format}">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
94 <filter>make_TAB=="yes"</filter>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
95 <change_format>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
96 <when input="out_format" value="interval" format="interval" />
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
97 <when input="out_format" value="gz" format="gz" />
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
98 <when input="out_format" value="text" format="text" />
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
99 </change_format>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
100 </data>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
101 <data format="html" name="html_file" label="${tool_name}.html">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
102 <filter>make_HTML == "yes"</filter>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
103 </data>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
104 <data format="toolshed.gz" name="new_tool" label="${tool_name}.toolshed.gz">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
105 <filter>makeMode['make_Tool'] == "yes"</filter>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
106 </data>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
107 </outputs>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
108 <configfiles>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
109 <configfile name="runme">$dynScript</configfile>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
110 <configfile name="helpme">
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
111 #if $makeMode.make_Tool == "yes":
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
112 ${makeMode.help_text}
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
113 #end if
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
114 </configfile>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
115 </configfiles>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
116 <help>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
117
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
118 .. class:: warningmark
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
119
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
120 **Details and attribution** GTF_
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
121
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
122 **Local Admins ONLY** Only users whose IDs found in the local admin_user configuration setting in universe_wsgi.ini can run this tool.
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
123
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
124 **If you find a bug** please raise an issue at the bitbucket repository GTFI_
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
125
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
126 **What it does** This tool enables a user to paste and submit an arbitrary R/python/perl script to Galaxy.
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
127
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
128 **Input options** This version is limited to simple transformation or reporting requiring only a single input file selected from the history.
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
129
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
130 **Output options** Optional script outputs include one single new history tabular file, or for scripts that create multiple outputs,
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
131 a new HTML report linking all the files and images created by the script can be automatically generated.
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
132
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
133 **Tool Generation option** Once the script is working with test data, this tool will optionally generate a new Galaxy tool in a gzip file
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
134 ready to upload to your local toolshed for sharing and installation. Provide a small sample input when you run generate the tool because
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
135 it will become the input for the generated functional test.
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
136
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
137 .. class:: warningmark
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
138
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
139 **Note to system administrators** This tool offers *NO* built in protection against malicious scripts. It should only be installed on private/personnal Galaxy instances.
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
140 Admin_users will have the power to do anything they want as the Galaxy user if you install this tool.
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
141
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
142 .. class:: warningmark
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
143
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
144 **Use on public servers** is STRONGLY discouraged for obvious reasons
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
145
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
146 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.
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
147 We recommend that you follow the good code hygiene practices associated with safe toolshed.
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
148
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
149 **Scripting conventions** The pasted script will be executed with the path to the (optional) input tabular data file path or NONE if you do not select one, and the path to the optional
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
150 output file or None if none is wanted, as the first and second command line parameters. The script must deal appropriately with these - see Rscript examples below.
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
151 Note that if an optional HTML output is selected, all the output files created by the script will be nicely presented as links, with pdf images linked as thumbnails in that output.
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
152 This can be handy for complex scripts creating lots of output.
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
153
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
154 **Examples**
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
155
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
156 Each of these following trivial examples can be cut and pasted into the script box for testing.
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
157 Please make sure you choose the appropriate interpreter and upload and select a suitable small matching test data input
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
158
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
159 A simple Rscript "filter" showing how the command line parameters can be handled, takes an input file, does something (transpose in this case) and writes the results to a new tabular file::
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
160
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
161 # transpose a tabular input file and write as a tabular output file
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
162 ourargs = commandArgs(TRUE)
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
163 inf = ourargs[1]
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
164 outf = ourargs[2]
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
165 inp = read.table(inf,head=F,row.names=NULL,sep='\t')
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
166 outp = t(inp)
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
167 write.table(outp,outf, quote=FALSE, sep="\t",row.names=F,col.names=F)
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
168
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
169 Calculate a multiple test adjusted p value from a column of p values - for this script to be useful, it needs the right column for the input to be specified in the code for the
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
170 given input file type(s) specified when the tool is generated ::
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
171
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
172 # use p.adjust - assumes a HEADER row and column 1 - please fix for any real use
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
173 column = 1 # adjust if necessary for some other kind of input
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
174 ourargs = commandArgs(TRUE)
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
175 inf = ourargs[1]
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
176 outf = ourargs[2]
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
177 inp = read.table(inf,head=T,row.names=NULL,sep='\t')
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
178 p = inp[,column]
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
179 q = p.adjust(p,method='BH')
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
180 outp = cbind(inp,'BH Adjusted p-value'=q)
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
181 write.table(outp,outf, quote=FALSE, sep="\t",row.names=F,col.names=T)
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
182
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
183
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
184 A demonstration Rscript example takes no input file but generates some random data based pdf images
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
185 You must make sure the option to create an HTML output file is
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
186 turned on for this to work. Images (pdf) are linked via thumbnails and
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
187 all files have a link on the resulting HTML page::
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
188
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
189 # note this script takes NO input or output because it generates random data
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
190 foo = data.frame(a=runif(100),b=runif(100),c=runif(100),d=runif(100),e=runif(100),f=runif(100))
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
191 bar = as.matrix(foo)
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
192 pdf( "heattest.pdf" )
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
193 heatmap(bar,main='Random Heatmap')
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
194 dev.off()
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
195 for (i in 1:49) {
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
196 foo = runif(100)
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
197 bar = rnorm(100)
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
198 pdf(paste('yet',i,"anotherplot.pdf",sep='_'))
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
199 plot(foo,bar,main=paste("Foo by Bar plot #",i),col="maroon", pch=3,cex=0.6)
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
200 dev.off()
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
201 }
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
202
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
203 A Python example that reverses each row of a tabular file (you'll need to remove the leading spaces
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
204 for this to work if cut and pasted into the script box)::
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
205
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
206 # reverse order of columns in a tabular file
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
207 import sys
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
208 inp = sys.argv[1]
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
209 outp = sys.argv[2]
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
210 i = open(inp,'r')
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
211 o = open(outp,'w')
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
212 for row in i:
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
213 rs = row.rstrip().split('\t')
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
214 rs.reverse()
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
215 o.write('\t'.join(rs))
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
216 o.write('\n')
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
217 i.close()
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
218 o.close()
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
219
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
220 A trivial shell script example to show that it works::
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
221
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
222 #!/bin/bash
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
223 INF=$1
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
224 OUTF=$2
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
225 cut -c2,4,6,8,10,12 $INF >$OUTF
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
226
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
227 A trivial perl script example to show that even perl works::
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
228
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
229 #
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
230 # change all occurances of a string in a file to another string
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
231 #
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
232 $oldfile = $ARGV[0];
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
233 $newfile = $ARGV[1];
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
234 $old = "gene";
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
235 $new = "foo";
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
236 open(OF, $oldfile);
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
237 open(NF, "&gt;$newfile");
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
238 # read in each line of the file
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
239 while ($line = &lt;OF&gt;) {
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
240 $line =~ s/$old/$new/;
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
241 print NF $line;
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
242 }
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
243 close(OF);
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
244 close(NF);
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
245
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
246
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
247 **Attribution** Copyright Ross Lazarus (ross period lazarus at gmail period com) May 2012
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
248
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
249 All rights reserved.
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
250
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
251 Licensed under the LGPL_
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
252
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
253 --
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
254
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
255 .. _LGPL: http://www.gnu.org/copyleft/lesser.html
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
256 .. _GTF: https://bitbucket.org/fubar/galaxytoolfactory
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
257 .. _GTFI: https://bitbucket.org/fubar/galaxytoolfactory/issues
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
258
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
259 </help>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
260
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
261 </tool>
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
262
8c578211a681 Fixed nasty silly bug - fixed locally but not previously propogated
fubar
parents:
diff changeset
263