Mercurial > repos > mvdbeek > docker_scriptrunner
diff scriptrunner.xml @ 0:21d312776891 draft
planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit 30f8264cdd67d40dec8acde6407f32152e6a29c1-dirty
author | mvdbeek |
---|---|
date | Sat, 09 Jul 2016 16:57:13 -0400 |
parents | |
children | 315a7e9ed6eb |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scriptrunner.xml Sat Jul 09 16:57:13 2016 -0400 @@ -0,0 +1,127 @@ +<tool id="docker_scriptrunner" name="docker scriptrunner" version="0.1.6"> + <description>Runs scripts using docker</description> + <macros> + <import>macros.xml</import> + </macros> + <requirements> + <requirement type="package" version="0.4.0">docker-py</requirement> + </requirements> + <command> + python "$__tool_directory__/scriptrunner.py" + --script_path "$runme" + --interpreter "$interpreter" + --user_email "$__user_email__" + #if $generate_simple_output.make_TAB=="yes": + --output_tab "$tab_file" + #end if + #if $make_HTML.value=="yes": + --output_dir "$html_file.files_path" --output_html "$html_file" --make_HTML "yes" + #else: + --output_dir "." + #end if + #if $additional_parameters != 'None': + #for i in $additional_parameters: + --additional_parameters + "$i.param_name, $i.param_value" + #end for + #end if + #if $input_files != 'None': + --input_tab + #for i in $input_files: + $i.input + #end for + #for i in $input_files: + --input_format "Any" + #end for + #end if + --docker_image "$docker_image" + </command> +<configfiles> + <configfile name="runme">$dynScript</configfile> +</configfiles> + <inputs> + <repeat name="input_files" title="Select input files"> + <param name="input" format="data" type="data" label="Select an input file from your history" optional="true" size="120" + help="Most scripts will need an input - your script MUST be ready for whatever format you choose"/> + </repeat> + <repeat name="additional_parameters" title="Set additional parameters"> + <param name="param_name" type="text" value="parameter_name" label="Choose a parameter name" size="20"> + <sanitizer invalid_char=""> + <valid initial="string.letters,string.digits"><add value="@_."/></valid>> + </sanitizer> + </param> + <param name="param_value" type="text" value="parameter_value" label="Enter a parameter value" size="50"> + <sanitizer> + <valid initial="string.printable"> + </valid> + <mapping initial="none"/> + </sanitizer> + </param> + </repeat> + <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" + help="Recommended for presenting complex outputs in an accessible manner. Turn off for simple tools so they just create one output"> + <option value="yes">Yes, arrange all outputs produced by my script as an HTML output</option> + <option value="" selected="true">No, no HTML output file thanks</option> + </param> + <conditional name="generate_simple_output"> + <param name="make_TAB" type="select" label="Create a new history output alongside the HTML file specified above" + help="This is useful if your script creates a single new tabular file you want to appear in the history after the tool executes"> + <option value="yes" selected="true">My script writes to a new history output</option> + <option value="">I do not want a new history output file</option> + </param> + <when value="yes"> + <param name="out_format" type="select" label="Select the datatype that your tool/script produces" help="If your datatype is not listed here, it has to be added in galaxy's datatypes_conf.xml"> + <options from_parameter="tool.app.datatypes_registry.upload_file_formats"> + <column name="value" index="0"/> + </options> + </param> + </when> + <when value=""> + </when> + </conditional> + <param name="interpreter" type="select" label="Select the interpreter for your code"> + <option value="Rscript" selected="true">Rscript</option> + <option value="python">python</option> + <option value="perl">perl</option> + <option value="sh">sh</option> + </param> + <param help="The script you are pasting will be run in this image. Make sure it contains the necessary tools" label="Select a docker image" name="docker_image" type="select"> + <options from_data_table="docker_scriptrunner_images"/> + </param> + <param name="dynScript" label="Copy and paste the script to be executed here" type="text" value="" area="True" size="8x120" + 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')."> + <sanitizer> + <valid initial="string.printable"> + </valid> + <mapping initial="none"/> + </sanitizer> + </param> + </inputs> + <outputs> + <data format_source="input" name="tab_file"> + <filter>generate_simple_output['make_TAB'] == "yes"</filter> + <actions> + <action type="format"> + <option type="from_param" name="generate_simple_output.out_format" /> + </action> + </actions> + </data> + <data format="html" name="html_file" > + <filter>make_HTML == "yes"</filter> + </data> + </outputs> +<tests> + <test> + <param name='input_tab' value='tf2_test_in.xls' ftype='tabular' /> + <param name="make_TAB" value="yes" /> + <param name="make_HTML" value="yes" /> + <param name="out_format" value="tabular" /> + <param name="interpreter" value='python' /> + <param name="runme" value="tf2_test_runme.py"/> + <output name='output1' file='tf2_test_out.xls' compare='diff' lines_diff = '10'/> + <output name='html_file' file="tf2_test.html" compare='diff' lines_diff = '10'/> + </test> +</tests> +<expand macro="help_macro" /> +<expand macro="test_data_macro" /> +</tool>