Mercurial > repos > fubar > brokenandnotdeletablebyowneroradmin
annotate rgToolFactory.xml @ 7:7221619caefa
Updated name and added crude gzip generator for toolshed
TODO: add tests and new XML tool descriptor as soon as Greg has it nailed down.
author | ross lazarus ross.lazarus@gmail.com |
---|---|
date | Sat, 02 Jun 2012 10:43:08 +1000 |
parents | |
children | 220885b2d7ee |
rev | line source |
---|---|
7
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
1 <tool id="rgTF" name="Tool Factory" version="0.04"> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
2 <description>Makes scripts into tools</description> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
3 <command interpreter="python"> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
4 #if ( $__user_email__ not in ['ross.lazarus@gmail.com',] ): |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
5 rgToolFactory.py --bad_user $__user_email__ |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
6 #else: |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
7 rgToolFactory.py --script_path "$runme" --interpreter "$interpreter" |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
8 --tool_name "$tool_name" --input_tab "$input1" --user_email "${__user_email__}" |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
9 #if $makeHTML.value=="yes" or $makeTool.value=="yes": |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
10 --output_dir "$html_file.files_path" --output_html "$html_file" |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
11 #end if |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
12 #if $makeTAB.value=="yes": |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
13 --output_tab "$tab_file" |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
14 #end if |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
15 #if $makeTool.value=="yes": |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
16 --makeTool "$makeTool" |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
17 #end if |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
18 #end if |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
19 </command> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
20 <inputs> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
21 <param name="input1" type="data" format="tabular" label="Select an optional input tabular file from your history" optional="true" |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
22 help="Your script probably needs an input - but if not, this can be left unassigned"/> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
23 <param name="tool_name" type="text" value="My dynamic script" size="80" label="Title for job outputs" help="Supply a meaningful name here to remind you what the outputs contain"/> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
24 <param name="makeTool" type="select" label="Create a tar.gz file ready for local toolshed entry" |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
25 help="Ready to deploy securely! with tests eventually"> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
26 <option value="yes">Yes</option> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
27 <option value="" selected="true">Not yet, it's still broken</option> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
28 </param> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
29 <param name="makeHTML" type="select" label="Create an HTML output with all script outputs collected together, with thumbnails of new PDF images, the script and a run log file" |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
30 help="This is useful for presenting complex outputs and is not needed if your script doesn't create anything other than a single tabular output"> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
31 <option value="yes">Yes</option> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
32 <option value="" selected="true">No</option> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
33 </param> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
34 <param name="makeTAB" type="select" label="Create a new tabular history output" |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
35 help="This is useful if your script creates a single new tabular file you want to appear in the history after the tool executes"> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
36 <option value="yes" selected="true">Yes</option> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
37 <option value="">No</option> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
38 </param> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
39 <param name="interpreter" type="select" label="Select the interpreter for your code. This must be available on the path of the execution host"> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
40 <option value="Rscript" selected="true">Rscript</option> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
41 <option value="python">python</option> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
42 <option value="perl (ugh)">perl</option> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
43 </param> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
44 <param name="dynScript" label="Your Script Goes Here" type="text" value="" area="True" size="8x80" width="80" |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
45 help="Expect FIRST CL parameter = the optional input tabular file path (or NONE if not specified). Ensure your script writes tabular output to the path in the SECOND command line parameter it gets."/> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
46 </inputs> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
47 <outputs> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
48 <data format="tabular" name="tab_file" label="${tool_name}.xls"> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
49 <filter> makeTAB=="yes" </filter> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
50 </data> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
51 <data format="html" name="html_file" label="${tool_name}.html"> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
52 <filter> makeHTML=="yes" or makeTool=="yes"</filter> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
53 </data> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
54 </outputs> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
55 <configfiles> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
56 <configfile name="runme"> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
57 ${dynScript} |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
58 </configfile> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
59 </configfiles> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
60 <help> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
61 **What it does** |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
62 This tool enables a user to paste and submit an arbitrary R/python/perl script to run in Galaxy. |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
63 This is (extremely) insecure. |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
64 |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
65 **Restrictions** |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
66 This tool will ONLY work if your user id has been added to the local copy's list of permitted users. |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
67 Ask your friendly Galaxy administrator to edit this tool's source for you if you need this. |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
68 |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
69 **Note to system administrators** |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
70 Under no circumstances should you allow any user to use this tool unless you really, really trust them to do |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
71 no harm. |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
72 |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
73 **Use on public servers** |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
74 is STRONGLY discouraged for obvious reasons |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
75 |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
76 **Scripting conventions** |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
77 The pasted script will be executed. |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
78 It will get the path to the (optional) input tabular data file path or NONE if you do not select one |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
79 as the first command line parameter |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
80 |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
81 The script must write it's output as tab delimited text to the path found as the second command line parameter |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
82 Note that if an optional HTML output is selected, all the output files spewed by your script will be nicely presented as links to the user. |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
83 Any pdf images will automagically be converted to show thumbnails in that output. |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
84 This can be handy for complex scripts creating lots of output. |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
85 |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
86 **Simple Rscript example** |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
87 |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
88 A simple "filter" that takes an input file, does something and writes the results to a new tabular file might look like this:: |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
89 |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
90 ourargs = commandArgs(TRUE) |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
91 inf = ourargs[1] |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
92 outf = ourargs[2] |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
93 inp = read.table(inf,head=F,row.names=NULL,sep='\t') |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
94 outp = t(inp) |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
95 write.table(outp,outf, quote=FALSE, sep="\t",row.names=F,col.names=F) |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
96 |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
97 </help> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
98 |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
99 </tool> |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
100 |
7221619caefa
Updated name and added crude gzip generator for toolshed
ross lazarus ross.lazarus@gmail.com
parents:
diff
changeset
|
101 |