diff elastic_r_package_wrappers_macros.xml @ 9:06f38d3febdc draft default tip

planemo upload
author mingchen0919
date Wed, 28 Mar 2018 23:34:03 -0400
parents ea3271940757
children
line wrap: on
line diff
--- a/elastic_r_package_wrappers_macros.xml	Tue Mar 27 23:42:53 2018 -0400
+++ b/elastic_r_package_wrappers_macros.xml	Wed Mar 28 23:34:03 2018 -0400
@@ -14,43 +14,49 @@
     </xml>
 
     <xml name="function_components">
-        <repeat name="function_component_repeat" title="Call a function" min="1" default="1">
+        <repeat name="function_components" title="Call a function" min="1" default="1">
             <param type="select" name="function_name" multiple="false" label="==== Call function ====">
                 <option value="ggplot" selected="false">ggplot</option>
+                <option value="geom_point" selected="false">geom_point</option>
                 <option value="aes" selected="false">ggplot</option>
                 <option value="read.table" selected="false">read.table</option>
                 <option value="write.csv" selected="false">write.csv</option>
             </param>
             <expand macro="function_arguments" />
-            <param type="select" name="operator" label="connect to next function">
-                <option value="%>%" selected="false">pipe (%>%)</option>
-                <option value="+" selected="false">plus (+)</option>
-            </param>
         </repeat>
     </xml>
 
     <xml name="function_arguments">
-        <repeat name="regular_argument_value" title="Argument value: from user input" min="0" default="0">
-            <param type="text" name="argument" label="argument"  />
-            <param type="text" name="argument_value"  label="argument value"  />
-            <param type="select" name="argument_type"  label="argument type">
-                <option value="string" selected="true">string</option>
-                <option value="numeric" selected="false">numeric</option>
-                <option value="boolean" selected="false">boolean</option>
-                <option value="variable" selected="false">variable</option>
-            </param>
+        <repeat name="function_arguments" title="argument name/value pairs" min="0" default="0">
+            <conditional name="argument_type">
+                <param name="argument_type_selector" type="select" label="Argument type">
+                    <option value="value" selected="false">user input value</option>
+                    <option value="rdata" selected="false">value from RData output</option>
+                </param>
+                <when value="value">
+                    <param type="text" name="argument_name" label="argument name"  />
+                    <param type="text" name="argument_value"  label="argument value"  />
+                </when>
+                <when value="rdata">
+                    <param type="text" name="argument_name" label="argument name"  />
+                    <param type="data" format="rdata" name="argument_value" optional="false" label="RData output"  />
+                </when>
+            </conditional>
         </repeat>
-        <repeat name="rdata_argument_value" title="Argument value: from RData" min="0" default="0">
-            <param type="text" name="argument" label="argument"  />
-            <param type="data" format="rdata" name="argument_value" optional="false" label="RData output"  />
-        </repeat>
+        <param type="select" name="operator" label="connect to next function">
+            <sanitizer>
+                <valid initial="string.printable"/>
+            </sanitizer>
+            <option value="%>%" selected="true">pipe (%>%)</option>
+            <option value="+" selected="false">plus (+)</option>
+        </param>
     </xml>
 
 
     <!--output set-->
     <xml name="output_set">
         <data format="html" name="report" label="${tool.name} report"/>
-        <data format="txt" name="tool_help_doc" label="${tool.name} help doc"/>
+        <data format="rdata" name="tool_rdata_output" label="${tool.name} RData output ${on_string}"/>
         <data format="txt" name="tool_log" label="${tool.name} log" />
     </xml>
 
@@ -70,18 +76,20 @@
         ############ 3. save user inputs into arguments.txt
 
         ############    3.1 table header
-        echo 'function|input_type|argument|argument_value|argument_value_type|operator' > $report.files_path/arguments.txt &&
+        echo 'row_type|function_name|argument_name|argument_value|argument_value_type|operator' > $report.files_path/arguments.txt &&
 
 
         ############    3.2 loop through function component repeat
-        #for $fun_component in $function_components:
-            #for reg_arg in $fun_component.regular_argument_value
-                echo '$fun_component.function_name|regular|$reg_arg.argument|$arg_arg.argument_value|$arg_arg.argument_value_type|$fun_component.operator' >> $report.files_path/arguments.txt &&
+        #for fun_component in $function_components:
+            echo 'func|$fun_component.function_name||||' >> $report.files_path/arguments.txt &&
+
+            Rscript -e 'library(tidyverse); help($fun_component.function_name)' >> $report.files_path/$fun_component.function_name-help.txt &&
+
+            #for argument in $fun_component.function_arguments:
+                echo 'argument||$argument.argument_type.argument_name|$argument.argument_type.argument_value|$argument.argument_type.argument_type_selector|' >> $report.files_path/arguments.txt &&
             #end for
-
-            #for rdata_arg in $fun_component.rdata_argument_value
-                echo '$fun_component.function_name|rdata|$rdata_arg.argument|$arg_arg.argument_value|rdata|$fun_component.operator' >> $report.files_path/arguments.txt &&
-            #end for
+            echo 'operator|||||$fun_component.operator' >> $report.files_path/arguments.txt &&
+        #end for
 
         ############ output_set
         ## '$report'
@@ -91,12 +99,12 @@
         #######################
         export REPORT='$report' &&
         export REPORT_FILES_PATH='$report.files_path' &&
-        export TOOL_HELP_DOC='$tool_help_doc' &&
+        export TOOL_RDATA_OUTPUT='$tool_rdata_output' &&
         export TOOL_LOG='$tool_log' &&
 
 
         ############ run render R script to render R markdowns
-        Rscript '${__tool_directory__}/elastic_tool_render.R'
+        Rscript '${__tool_directory__}/elastic_r_package_render.R'
 
         ]]></command>
     </xml>