diff stacks_clonefilter.xml @ 5:c4ed7dacee9b draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/stacks2 commit 4e87a14a5479800df9675c1cbcdbe1b11f63653b-dirty
author matthias
date Wed, 27 Feb 2019 10:03:16 -0500
parents 4758a347d62e
children b707e9def9ff
line wrap: on
line diff
--- a/stacks_clonefilter.xml	Fri Jan 04 03:38:06 2019 -0500
+++ b/stacks_clonefilter.xml	Wed Feb 27 10:03:16 2019 -0500
@@ -1,120 +1,94 @@
-<tool id="stacks2_clonefilter" name="Stacks2: clone filter" version="@STACKS_VERSION@+galaxy@WRAPPER_VERSION@">
+<tool id="stacks2_clonefilter" name="Stacks2: clone filter" profile="@PROFILE@" version="@STACKS_VERSION@+galaxy@WRAPPER_VERSION@">
 <description>Identify PCR clones</description>
     <macros>
         <import>macros.xml</import>
     </macros>
     <expand macro="requirements"/>
-    <expand macro="stdio"/>
     <expand macro="version_cmd"/>
-    <command><![CDATA[
-        #if $data_type.dt_select == "single"
+    <command detect_errors="aggressive"><![CDATA[
+@FASTQ_INPUT_FUNCTIONS@
 
-            #if $data_type.fname.is_of_type('fastqsanger')
-                #set $ext = ".fq"
-                #set inputype = "fastq"
-            #else
-                #set $ext = ".fq.gz"
-                #set inputype = "gzfastq"
-            #end if
+mkdir stacks_inputs stacks_outputs &&
 
-            ln -s '$data_type.fname' R1$ext &&
-        #else
+#set ($link_command, $fwd_path, $rev_path, $inputype) = $fastq_input_batch($input_type.fqinputs, $input_type.input_type_select)
+$link_command
 
-            #if $data_type.fwd.is_of_type('fastqsanger')
-                #set $ext = ".fq"
-                #set inputype = "fastq"
-            #else
-                #set $ext = ".fq.gz"
-                #set inputype = "gzfastq"
-            #end if
-
-            ln -s '$data_type.fwd' R1$ext &&
-            ln -s '$data_type.rev' R2$ext &&
-        #end if
+clone_filter
+#if $input_type.input_type_select == 'single':
+    -f '$fwd_path'
+#else
+    -1 '$fwd_path'
+    -2 '$rev_path'
+#end if
 
-
-        mkdir outputs
-
-        &&
-
-        clone_filter
-            #if $data_type.dt_select == 'single':
-                -f R1$ext
-            #else
-                -1 R1$ext
-                -2 R2$ext
-            #end if
+-i $inputype
 
-            -i $inputype
+-o stacks_outputs
+$capture
+$input_type.barcode_encoding
+#if $oligo_len_1
+    --oligo_len_1 $oligo_len_1
+#end if
+#if $oligo_len_2
+    --oligo_len_2 $oligo_len_2
+#end if
+$retain_oligo
+## only supports fastq.gz output since the
+## the program outputs empty files for fasta/fastq
+-y gzfastq
 
-            -o outputs
-            $capture
-            $data_type.barcode_encoding
-            #if $oligo_len_1
-                --oligo_len_1 $oligo_len_1
-            #end if
-            #if $oligo_len_2
-                --oligo_len_2 $oligo_len_2
-            #end if
-            $retain_oligo
-            ## only supports fastq.gz output since the 
-            ## the program outputs empty files for fasta/fastq 
-            -y gzfastq
-    ]]></command>
+## move outputs such that Galaxy can find them
+#if $capture:
+    #if $input_type.input_type_select == "single"
+        && mv stacks_outputs/*.discards.fq.gz '$discarded'
+    #else
+        && mv stacks_outputs/*.discards.1.fq.gz '$discarded_pair.forward'
+        && mv stacks_outputs/*.discards.2.fq.gz '$discarded_pair.reverse'
+    #end if
+#end if
+#if $input_type.input_type_select == "single"
+    && mv stacks_outputs/*.fq.gz '$clean'
+#else
+    && mv stacks_outputs/*.1.fq.gz '$clean_pair.forward'
+    && mv stacks_outputs/*.2.fq.gz '$clean_pair.reverse'
+#end if
+]]></command>
     <inputs>
-        <conditional name="data_type">
-            <param name="dt_select" type="select" label="Single or Paired-end">
-                <option value="single">Single</option>
-                <option value="pair">Pair</option>
-            </param>
-            <when value="single">
-                <param name="fname" type="data" format="fastqsanger,fastqsanger.gz" label="FASTQ" />
-                <param name="barcode_encoding" type="select" label="Barcode location">
-                    <expand macro="barcode_encoding_single" type="Random oligo"/>
-                </param>
-
-            </when>
-            <when value="pair">
-                <param name="fwd" type="data" format="fastqsanger,fastqsanger.gz" label="Forward FASTQ" />
-                <param name="rev" type="data" format="fastqsanger,fastqsanger.gz" label="Reverse FASTQ" />
-                <param name="barcode_encoding" type="select" label="Barcode location">
-                    <expand macro="barcode_encoding_pair" type="Random oligo"/>
-                </param>
-            </when>
-        </conditional>
+        <expand macro="fastq_input_bc"/>
         <param name="capture" type="boolean" checked="false" truevalue="-D" falsevalue="" argument="-D" label="Capture discarded reads to a file" />
-        <param name="oligo_len_1" type="integer" value="0" label="length of the single-end oligo sequence in data set"/>
-        <param name="oligo_len_2" optional="true" type="integer" label="length of the paired-end oligo sequence in data set"/>
-        <param argument="--retain_oligo" type="boolean" checked="false" truevalue="--retain_oligo" falsevalue="" label="do not trim off the random oligo sequence (if oligo is inline)" />
-
+        <param name="oligo_len_1" type="integer" value="0" label="Length of the single-end oligo sequence in dataset"/>
+        <param name="oligo_len_2" optional="true" type="integer" label="Length of the paired-end oligo sequence in dataset"/>
+        <param argument="--retain_oligo" type="boolean" checked="false" truevalue="--retain_oligo" falsevalue="" label="Do not trim off the random oligo sequence (if oligo is inline)" />
     </inputs>
     <outputs>
-        <data format="fastqsanger.gz" name="clean" from_work_dir="outputs/R1.fq.gz"  label="${tool.name} on ${on_string}">
-            <filter>data_type['dt_select'] == 'single'</filter>
+        <data format="fastqsanger.gz" name="clean" from_work_dir="outputs/R1.fq.gz" label="${tool.name} on ${on_string}">
+            <filter>input_type['input_type_select'] == 'single'</filter>
         </data>
-
-        <data format="fastqsanger.gz" name="clean_fwd" from_work_dir="outputs/R1.1.fq.gz" label="${tool.name} on ${on_string} Forward reads">
-            <filter>data_type['dt_select'] == 'pair'</filter>
+        <collection name="clean_pair" type="paired" label="${tool.name} on ${on_string}">
+            <filter>input_type['input_type_select'] == 'paired'</filter>
+        </collection>
+        <data name="discarded" format="fastqsanger" label="${tool.name} on ${on_string}: discarded reads">
+            <filter>capture and input_type['input_type_select'] == 'single' and not options_kmer_char['k_dist']</filter>
         </data>
-        <data format="fastqsanger.gz" name="clean_rev" from_work_dir="outputs/R2.2.fq.gz" label="${tool.name} on ${on_string} Reverse reads">
-            <filter>data_type['dt_select'] == 'pair'</filter>
-        </data>
+        <collection name="discarded_pair" type="paired" label="${tool.name} on ${on_string}: discarded reads">
+            <filter>capture and input_type['input_type_select'] == 'paired' and not options_kmer_char['k_dist']</filter>
+        </collection>
     </outputs>
     <tests>
         <!-- single end, defaults-->
         <test>
-            <conditional name="data_type">
-                <param name="dt_select" value="single" />
-                <param name="fname" ftype="fastqsanger.gz" value="clonefilter/R1_0001.1.fq.gz" />
+            <conditional name="input_type">
+                <param name="input_type_select" value="single" />
+                <param name="fqinputs" ftype="fastqsanger.gz" value="clonefilter/R1_0001.1.fq.gz" />
             </conditional>
             <param name="oligo_len_1" value="6" />
             <output name="clean" compare="sim_size" file="clonefilter/Removed1_0001.1.1.fq.single.gz"/>
         </test>
         <!-- single end, alt BCencoding, capture-->
         <test>
-            <conditional name="data_type">
-                <param name="dt_select" value="single" />
-                <param name="fname" ftype="fastqsanger.gz" value="clonefilter/R1_0001.1.fq.gz" />
+            <conditional name="input_type">
+                <param name="input_type_select" value="single" />
+                <param name="fqinputs" ftype="fastqsanger.gz" value="clonefilter/R1_0001.1.fq.gz" />
                 <param name="barcode_encoding" value="--index_null" />
             </conditional>
             <param name="capture" value="-D" />
@@ -123,24 +97,35 @@
                 <has_text text="-D" />
             </assert_command>
             <output name="clean" compare="sim_size" file="clonefilter/Removed1_0001.1.1.fq.gz"/>
+            <output name="discarded" compare="sim_size" file="clonefilter/Removed1_0001.1.1.fq.gz"/>
         </test>
         <!-- paired end, defaults-->
         <test>
-            <conditional name="data_type">
-                <param name="dt_select" value="pair" />
-                <param name="fwd" ftype="fastqsanger" value="clonefilter/R1_0001.1.fq.gz" />
-                <param name="rev" ftype="fastqsanger" value="clonefilter/R2_0001.2.fq.gz" />
+            <conditional name="input_type">
+                <param name="input_type_select" value="paired" />
+                <param name="fqinputs">
+                    <collection type="paired">
+                        <element name="forward" value="clonefilter/R1_0001.1.fq.gz" />
+                        <element name="reverse" value="clonefilter/R2_0001.2.fq.gz" />
+                    </collection>
+                </param>
             </conditional>
             <param name="oligo_len_1" value="6" />
-            <output name="clean_fwd" compare="sim_size" file="clonefilter/Removed1_0001.1.1.fq.gz"/>
-            <output name="clean_rev" compare="sim_size" file="clonefilter/Removed2_0001.2.2.fq.gz"/>
+            <output_collection name="clean_pair" type="paired">
+                <element name="forward" compare="sim_size" file="clonefilter/Removed1_0001.1.1.fq.gz" />
+                <element name="reverse" compare="sim_size" file="clonefilter/Removed2_0001.2.2.fq.gz" />
+            </output_collection>
         </test>
-        <!-- paired end, non defaults-->
+        <!-- paired end, non defaults -->
         <test>
-            <conditional name="data_type">
-                <param name="dt_select" value="pair" />
-                <param name="fwd" ftype="fastqsanger.gz" value="clonefilter/R1_0001.1.fq.gz" />
-                <param name="rev" ftype="fastqsanger.gz" value="clonefilter/R2_0001.2.fq.gz" />
+            <conditional name="input_type">
+                <param name="input_type_select" value="paired" />
+                <param name="fqinputs">
+                    <collection type="paired">
+                        <element name="forward" value="clonefilter/R1_0001.1.fq.gz" />
+                        <element name="reverse" value="clonefilter/R2_0001.2.fq.gz" />
+                    </collection>
+                </param>
             </conditional>
             <param name="oligo_len_1" value="6" />
             <param name="capture" value="-D" />
@@ -148,8 +133,14 @@
             <assert_command>
                 <has_text text="--retain_oligo" />
             </assert_command>
-            <output name="clean_fwd" compare="sim_size" file="clonefilter/Removed1_0001.1.1.fq.gz"/>
-            <output name="clean_rev" compare="sim_size" file="clonefilter/Removed2_0001.2.2.fq.gz"/>
+            <output_collection name="clean_pair" type="paired">
+                <element name="forward" compare="sim_size" file="clonefilter/Removed1_0001.1.1.fq.gz" />
+                <element name="reverse" compare="sim_size" file="clonefilter/Removed2_0001.2.2.fq.gz" />
+            </output_collection>
+            <output_collection name="discarded_pair" type="paired">
+                <element name="forward" compare="sim_size" file="clonefilter/Removed1_0001.1.1.fq.gz" />
+                <element name="reverse" compare="sim_size" file="clonefilter/Removed2_0001.2.2.fq.gz" />
+            </output_collection>
         </test>
     </tests>
     <help>