comparison rgToolFactory.xml @ 19:a87a262220a4

Adding proof of concept for optional output formats. Updated readme again
author ross lazarus ross.lazarus@gmail.com
date Tue, 05 Jun 2012 21:54:58 +1000
parents 8594478e8d2c
children c23e53f768ed
comparison
equal deleted inserted replaced
18:943d4f0ee7c1 19:a87a262220a4
1 <tool id="rgTF" name="Tool Factory" version="0.05"> 1 <tool id="rgTF" name="Tool Factory" version="0.05">
2 <description>Makes scripts into tools</description> 2 <description>Makes scripts into tools</description>
3 <command interpreter="python"> 3 <command interpreter="python">
4 #if ( $__user_email__ not in ['rlazarus@bakeridi.edu.au','mziemann@bakeridi.edu.au','akaspi@bakeridi.edu.au'] ): 4 #if ( $__user_email__ not in ['yourID@email','ross.lazarus@gmail.com'] ):
5 rgToolFactory.py --bad_user $__user_email__ 5 rgToolFactory.py --bad_user $__user_email__
6 #else: 6 #else:
7 rgToolFactory.py --script_path "$runme" --interpreter "$interpreter" 7 rgToolFactory.py --script_path "$runme" --interpreter "$interpreter"
8 --tool_name "$tool_name" 8 --tool_name "$tool_name"
9 #if $make_TAB.value=="yes": 9 #if $make_TAB.value=="yes":
25 --make_HTML "yes" 25 --make_HTML "yes"
26 #end if 26 #end if
27 #end if 27 #end if
28 </command> 28 </command>
29 <inputs> 29 <inputs>
30 <param name="input1" type="data" label="Select an optional input file from your history" optional="true" 30 <param name="input1" type="data" label="Select an input file from your history" optional="true"
31 help="Your script probably needs an input - but if not, this can be left unassigned. Note that your script MUST be able to parse whatever format you choose!"/> 31 help="Most scripts will need an input - your script MUST be ready for whatever format you choose"/>
32 <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"> 32 <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">
33 <sanitizer> 33 <sanitizer>
34 <valid initial="string.letters,string.digits"> 34 <valid initial="string.letters,string.digits">
35 <mapping initial="none"/> 35 <mapping initial="none"/>
36 </valid> 36 </valid>
48 <valid initial="string.printable"> 48 <valid initial="string.printable">
49 </valid> 49 </valid>
50 <mapping initial="none"/> 50 <mapping initial="none"/>
51 </sanitizer> 51 </sanitizer>
52 </param> 52 </param>
53 <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">
54 <option value="tabular" selected="true">Tabular</option>
55 <option value="interval">Interval</option>
56 <option value="gz">gz</option>
57 <option value="text">text</option>
58 </param>
53 </when> 59 </when>
54 </conditional> 60 </conditional>
55 <param name="make_HTML" type="select" label="Create an HTML report with links to all output files and thumbnail links to PDF images" 61 <param name="make_HTML" type="select" label="Create an HTML report with links to all output files and thumbnail links to PDF images"
56 help="Recommended for presenting complex outputs in an accessible manner"> 62 help="Recommended for presenting complex outputs in an accessible manner. Turn off for simple tools so they just create one output">
57 <option value="yes">Yes</option> 63 <option value="yes" selected="true">Yes</option>
58 <option value="" selected="true">No</option> 64 <option value="">No</option>
59 </param> 65 </param>
60 <param name="make_TAB" type="select" label="Create a new tabular history output" 66 <param name="make_TAB" type="select" label="Create a new tabular history output"
61 help="This is useful if your script creates a single new tabular file you want to appear in the history after the tool executes"> 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">
62 <option value="yes" selected="true">Yes</option> 68 <option value="yes" selected="true">Yes</option>
63 <option value="">No</option> 69 <option value="">No</option>
75 <mapping initial="none"/> 81 <mapping initial="none"/>
76 </sanitizer> 82 </sanitizer>
77 </param> 83 </param>
78 </inputs> 84 </inputs>
79 <outputs> 85 <outputs>
80 <data format="tabular" name="tab_file" label="${tool_name}.xls"> 86 <data format="tabular" name="tab_file" label="${tool_name}.${factory.out_format}">
81 <filter>make_TAB == "yes"</filter> 87 <filter>make_TAB == "yes"</filter>
88 <change_format>
89 <when input="factory.out_format" value="interval" format="interval" />
90 <when input="factory.out_format" value="gz" format="gz" />
91 <when input="factory.out_format" value="text" format="text" />
92 </change_format>
82 </data> 93 </data>
83 <data format="html" name="html_file" label="${tool_name}.html"> 94 <data format="html" name="html_file" label="${tool_name}.html">
84 <filter>make_HTML == "yes"</filter> 95 <filter>make_HTML == "yes"</filter>
85 </data> 96 </data>
86 <data format="gz" name="new_tool" label="${tool_name}_tool.gz"> 97 <data format="gz" name="new_tool" label="${tool_name}_tool.gz">
87 <filter>factory['make_Tool'] == "yes"</filter> 98 <filter>make_Tool == "yes"</filter>
88 </data> 99 </data>
89 </outputs> 100 </outputs>
90 <configfiles> 101 <configfiles>
91 <configfile name="runme"> 102 <configfile name="runme">
92 ${dynScript} 103 ${dynScript}