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>