Mercurial > repos > fubar > tool_factory_2
changeset 118:e43c43396a70 draft
Uploaded
author | fubar |
---|---|
date | Fri, 11 Dec 2020 04:23:48 +0000 |
parents | b1a29d3d50d6 |
children | 8ea1133b9d9a |
files | toolfactory/rgToolFactory2.py toolfactory/rgToolFactory2.xml |
diffstat | 2 files changed, 48 insertions(+), 43 deletions(-) [+] |
line wrap: on
line diff
--- a/toolfactory/rgToolFactory2.py Sun Dec 06 01:21:06 2020 +0000 +++ b/toolfactory/rgToolFactory2.py Fri Dec 11 04:23:48 2020 +0000 @@ -571,11 +571,11 @@ safertext = "\n".join([cheetah_escape(x) for x in helptext]) if self.args.script_path: scr = [x for x in self.spacedScript if x.strip() > ""] - scr.insert(0,'\n------\n\nScript::\n') + scr.insert(0,'\n------\n\n\nScript::\n') if len(scr) > 300: scr = ( scr[:100] - + [">300 lines - stuff deleted", "......"] + + [" >300 lines - stuff deleted", " ......"] + scr[-100:] ) scr.append('\n') @@ -990,10 +990,8 @@ def main(): """ - This is a Galaxy wrapper. It expects to be called by a special purpose tool.xml as: - <command interpreter="python">rgBaseScriptWrapper.py --script_path "$scriptPath" - --tool_name "foo" --interpreter "Rscript" - </command> + This is a Galaxy wrapper. It expects to be called by a special purpose tool.xml + """ parser = argparse.ArgumentParser() a = parser.add_argument
--- a/toolfactory/rgToolFactory2.xml Sun Dec 06 01:21:06 2020 +0000 +++ b/toolfactory/rgToolFactory2.xml Fri Dec 11 04:23:48 2020 +0000 @@ -1,11 +1,11 @@ -<tool id="rgtf2" name="toolfactory" version="2.00" profile="16.04" > +<tool id="rgtfd" name="toolfactory" version="2.00" profile="16.04" > <description>Scripts into tools v2.0</description> <macros> <xml name="tool_metadata"> <param name="tool_version" label="Tool Version - bump this to warn users trying to redo old analyses" type="text" value="0.01" help="If you change your script and regenerate the 'same' tool, you should inform Galaxy (and users) by changing (bumping is traditional) this number"/> - <param name="tool_desc" label="Tool Description" type="text" value="" - help="Supply a brief tool description for the Galaxy tool menu entry (optional - appears after the tool name)" /> + <param name="tool_desc" label="Tool Synopsis" type="text" value="" + help="Supply a brief tool description for the Galaxy tool menu entry" /> <param name="help_text" label="Tool form documentation and help text for users" type="text" area="true" value="**What it Does**" help="Supply user documentation to appear on the new tool form as reStructured text - http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html" > @@ -39,7 +39,8 @@ </repeat> </xml> <xml name="io"> - <repeat name="history_inputs" title="zero or more input data file parameters to appear on the tool form to be passed to the executable" + <section name="io" title="Input and output files" expanded="true"> + <repeat name="history_inputs" title="zero or more input data files to pass as parameters to the executable." help="USE SMALL SAMPLES for the new tool's test. Prompts will form a history item selector as input for users of this new tool"> <param name="input_files" type="data" format="data" label="Select an input file from your history" optional="true" multiple="false" help=""/> @@ -67,7 +68,7 @@ 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=""> </param> </repeat> - <repeat name="history_outputs" title="one or more output file parameters generated by the tool to be added to the user history" + <repeat name="history_outputs" title="one or more new history items output by the executable to appear in the user history after the tool runs" help="The name will become a history item for users of the new tool you are making containing one of it's outputs"> <param name="history_name" type="text" label="Name for this output to appear in new history" optional="false" help="No spaces! Argparse will also use this name as --[name]"> @@ -85,17 +86,19 @@ <param name="history_CL" type="text" label="Positional: ordinal integer. Use STDOUT if '>' required. Otherwise ignored if argparse because name is used" help="If positional parameters, enter the integer ordinal expected for this parameter. If argparse, ignore unless STDOUT needed" value=""/> <param name="history_test" type="text" label="Test pass decision criterion for this output compared to test generation" - help="Available options are diff:[lines], sim_size:[delta (integer) or delta_frac (float)" value="sim_size:0.01"/> + help="Available options are diff:[lines], sim_size:[delta (integer) or delta_frac (float)" value="diff:0"/> </repeat> + </section> </xml> <xml name="additparam"> - <param name="edit_params" type="select" display="radio" label="Make parameters on the generated tool form user editable?" - 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"> + <section name="addparam" title="Executable or script settings passed on the command line other than I/O files" expanded="true"> + <param name="edit_params" type="select" display="radio" label="Make these settings on the generated tool form user editable?" + help="If no, 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"> <option value="yes" selected="true">Yes, allow user to edit all additional parameters on the generated tool form</option> <option value="no">No - use the fixed values for all additional parameters - no user editing</option> </param> - <repeat name="additional_parameters" title="zero or more user supplied parameter fields to the tool form for the executable" + <repeat name="additional_parameters" title="zero or more settings to be set by the tool user and passed on the command line" help="See examples below to see how these can be parsed by scripts in the various languages"> <param name="param_name" type="text" value="" label="Choose the name for this parameter - MUST not be blank!"> <sanitizer invalid_char=""> @@ -134,6 +137,7 @@ <param name="param_CLprefixed" type="text" label="Override the generated default argparse name prefix if not empty - eg ----foo if needed" help="Some targets like Planemo expect an unadorned action like 'test' before --galaxy_root." value="" /> </repeat> + </section> </xml> </macros> @@ -142,8 +146,7 @@ <requirement type="package" version="0.14.0">bioblend</requirement> <requirement type="package" version="0.10.6">ephemeris</requirement> <requirement type="package" version="4.4.0">docker-py</requirement> - <!-- <requirement type="package" version="0.72.0">planemo</requirement> --> - <container type="docker">quay.io/fubar2/planemo-biocontainer:latest</container> + <requirement type="package" version="0.72.0">planemo</requirement> </requirements> <command ><![CDATA[ @@ -164,36 +167,36 @@ --test_override "$testoverride" #end if #end if ---packages "$packages" - #if $usescript.choosescript == "yes": +--packages "$deps.packages" + #if $deps.usescript.choosescript == "yes": --script_path "$runme" ---sysexe "$usescript.scriptrunner" +--sysexe "$deps.usescript.scriptrunner" #end if ---tool_name "$tool_name" --user_email "$__user_email__" --citations "$citeme" --parampass "$ppass.parampass" +--tool_name "$tool_name" --user_email "$__user_email__" --citations "$citeme" --parampass "$io_param.ppass.parampass" - #if str($makeMode.make_Tool)!="runonly": ---make_Tool "$makeMode.make_Tool" ---tool_desc "$makeMode.tool_desc" ---tool_version "$makeMode.tool_version" + #if str($make.makeMode.make_Tool)!="runonly": +--make_Tool "$make.makeMode.make_Tool" +--tool_desc "$make.makeMode.tool_desc" +--tool_version "$make.makeMode.tool_version" --help_text "$helpme" --new_tool "$new_tool" ---toolshed_api_key "$makeMode.toolshed_apikey" ---galaxy_api_key "$makeMode.galaxy_apikey" ---toolshed_url "$makeMode.toolshed_url" ---galaxy_url "$makeMode.galaxy_url" +--toolshed_api_key "$make.makeMode.toolshed_apikey" +--galaxy_api_key "$make.makeMode.galaxy_apikey" +--toolshed_url "$make.makeMode.toolshed_url" +--galaxy_url "$make.makeMode.galaxy_url" #end if - #if $ppass.parampass != '0': - #if str($ppass.edit_params) == "yes": + #if $io_param.ppass.parampass != '0': + #if str($io_param.ppass.addparam.edit_params) == "yes": --edit_additional_parameters #end if - #for apar in $ppass.additional_parameters: + #for apar in $io_param.ppass.addparam.additional_parameters: --additional_parameters "$apar.param_name~~~$apar.param_value~~~$apar.param_label~~~$apar.param_help~~~$apar.param_type~~~$apar.param_CL~~~$apar.param_CLprefixed" #end for #end if - #for $intab in $ppass.history_inputs: + #for $intab in $io_param.ppass.io.history_inputs: --input_files "$intab.input_files~~~$intab.input_CL~~~$intab.input_formats~~~$intab.input_label~~~$intab.input_help" #end for - #for $otab in $ppass.history_outputs: + #for $otab in $io_param.ppass.io.history_outputs: --output_files "$otab.history_name~~~$otab.history_format~~~$otab.history_CL~~~$otab.history_test" #end for --galaxy_root "$__root_dir__" @@ -202,7 +205,7 @@ ]]></command> <configfiles> <configfile name="runme"> -$usescript.dynScript +$deps.usescript.dynScript </configfile> <configfile name="commandoverride"> #if $cover.commover == "yes" and len(str($cover.command_override).strip()) > 1: @@ -215,15 +218,15 @@ #end if </configfile> <configfile name="helpme"> - #if $makeMode.make_Tool != "runonly": -${makeMode.help_text} + #if $make.makeMode.make_Tool != "runonly": +${make.makeMode.help_text} #else $tool_name help goes here #end if </configfile> <configfile name="citeme"> -#if $makeMode.make_Tool != "runonly": - #for $citation in $makeMode.citations: +#if $make.makeMode.make_Tool != "runonly": + #for $citation in $make.makeMode.citations: #if $citation.citation_type.type == "bibtex": **ENTRY**bibtex ${citation.citation_type.bibtex} @@ -244,6 +247,9 @@ </valid> </sanitizer> </param> + + <section name="deps" title="Dependencies, optional script and script interpreter" expanded="true"> + <param name="packages" type="text" value="" label="Conda dependencies as package name[:version, name:version...]. These will always be available when this tool executes" optional="false" help="Use =[ver] or :[ver] for specific version - 'bwa=0.17.0'. Default is latest. Will be used every time the tool is (re)run. Only Conda is currently supported" /> @@ -276,7 +282,8 @@ </param> </when> </conditional> - + </section> + <section name="io_param" title="Data file input, output and settings forming the executable or script command line" expanded="true"> <conditional name="ppass"> <param name="parampass" type="select" display="radio" label="Command line parameter passing method to use"> <option value="argparse" selected="true">Argparse: passed in the form of --clname value</option> @@ -295,6 +302,7 @@ <expand macro="io"/> </when> </conditional> + </section> <param name="cl_prefix" type="text" value="" label="Prefix for generated command line. Prepends generated i/o and parameter CL. Use override below to replace completely" help="Text will replace generated executable/script elements. Sometimes required before i/o and parameters in the generated command line." /> <conditional name="cover"> @@ -326,7 +334,7 @@ </param> </when> </conditional> - + <section name="make" title="Generate, toolshed and local Galaxy installation options" expanded="true"> <conditional name="makeMode"> <param name="make_Tool" type="select" display="radio" label="Choose the steps you want to run. The TF Docker container is recommended for local installation" help="Installation in this Galaxy is optional" > @@ -381,11 +389,10 @@ <mapping initial="none"/> </sanitizer> </param> - <expand macro="tool_metadata" /> </when> </conditional> - + </section> </inputs> <outputs>