changeset 11:8571d1c719ee draft

planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ccb01d548a42beeacc01313218bff8c563da6fa9
author mvdbeek
date Sat, 09 Jul 2016 07:41:09 -0400
parents ed7cf3f35799
children 81f85bafcc7c
files scriptrunner.xml test-data/tf2_test.html test-data/tf2_test_in.xls test-data/tf2_test_out.xls test-data/tf2_test_runme.py
diffstat 4 files changed, 68 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/scriptrunner.xml	Sat Jul 09 07:12:40 2016 -0400
+++ b/scriptrunner.xml	Sat Jul 09 07:41:09 2016 -0400
@@ -1,5 +1,5 @@
-<tool id="docker_scriptrunner" name="Docker Scriptrunner" version="0.1.6">
-  <description>Makes scripts into tools using Docker</description>
+<tool id="docker_scriptrunner" name="docker scriptrunner" version="0.1.6">
+  <description>Runs scripts using docker</description>
   <macros>
     <import>macros.xml</import>
   </macros>
@@ -46,13 +46,8 @@
 </configfiles>
   <inputs>
     <repeat name="input_files" title="Select input files">
-      <param name="input"  type="data"  label="Select an input file from your history" optional="true" size="120"
+      <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"/>
-      <param name="in_format" type="select" optional="true" multiple="true" label="Optional: Select the allowed input datatype(s) for your tool/script">
-        <options from_parameter="tool.app.datatypes_registry.upload_file_formats">
-          <column name="value" index="0"/>
-        </options>
-    </param>
     </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">
@@ -120,6 +115,18 @@
         <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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/tf2_test.html	Sat Jul 09 07:41:09 2016 -0400
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
+        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
+        <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
+        <meta name="generator" content="Galaxy scriptrunner.py tool output - see http://g2.trac.bx.psu.edu/" /> 
+        <title></title> 
+        <link rel="stylesheet" href="/static/style/base.css" type="text/css" /> 
+        </head> 
+        <body> 
+        <div class="toolFormBody"> 
+        
+<div class="infomessage">Galaxy Tool "script" run at 09/07/2016 11:37:54</div><br/>
+<div class="toolFormTitle">script log output</div>
+script_error.log is empty<br/>
+<div class="toolFormTitle">Other log output</div>
+/tmp/tmpG7m9zp/job_working_directory/000/1/dataset_2_files/script_runner.log is empty<br/>
+<div class="toolFormTitle">All output files available for downloading</div>
+
+<div><table class="colored" cellpadding="3" cellspacing="3"><tr><th>Output File Name (click to view)</th><th>Size</th></tr>
+
+<tr><td><a href="script.python">script.python</a></td><td>0 B</td></tr>
+<tr class="odd_row"><td><a href="script_error.log">script_error.log</a></td><td>0 B</td></tr>
+<tr><td><a href="script_runner.log">script_runner.log</a></td><td>100 B</td></tr>
+</table></div><br/>
+</div></body></html>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/tf2_test_in.xls	Sat Jul 09 07:41:09 2016 -0400
@@ -0,0 +1,3 @@
+col1	col2	col3
+r11	r12	r13
+r21	r22	r23
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/tf2_test_runme.py	Sat Jul 09 07:41:09 2016 -0400
@@ -0,0 +1,25 @@
+# bog standard argparse for 3 possible comma separated lists
+# followed by some silly reverse each row code provided as an example
+# you're supposed to replace it with your great code..
+import argparse
+import copy
+
+argp = argparse.ArgumentParser()
+argp.add_argument('--INNAMES', default=None)
+argp.add_argument('--INPATHS', default=None)
+argp.add_argument('--OUTPATH', default=None)
+argp.add_argument('--additional_parameters', default=[], action="append")
+argp.add_argument('otherargs', nargs=argparse.REMAINDER)
+args = argp.parse_args()
+fout = open(args.OUTPATH, 'w')
+sins = open(args.INPATHS.split(',')[0]).readlines()
+for i, sin in enumerate(sins):
+    row = sin.strip().split('\t')
+    rrow = copy.copy(row)
+    lrow = len(row)
+    if (lrow > 1):
+        for j in range(lrow):
+            rrow[j] = row[lrow - j - 1]
+        fout.write('\t'.join(rrow))
+        fout.write('\n')
+fout.close()