diff stacks_tsv2bam.xml @ 4:60c1c4d7d2c1 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 09:53:30 -0500
parents 56eb0bc12179
children 852044374da1
line wrap: on
line diff
--- a/stacks_tsv2bam.xml	Fri Jan 04 03:33:00 2019 -0500
+++ b/stacks_tsv2bam.xml	Wed Feb 27 09:53:30 2019 -0500
@@ -1,65 +1,28 @@
-<tool id="stacks2_tsv2bam" name="Stacks2: tsv2bam" version="@STACKS_VERSION@+galaxy@WRAPPER_VERSION@">
-    <description>oriented data by locus</description>
+<tool id="stacks2_tsv2bam" name="Stacks2: tsv2bam" profile="@PROFILE@" version="@STACKS_VERSION@+galaxy@WRAPPER_VERSION@">
+    <description>Sort reads by RAD locus</description>
     <macros>
         <import>macros.xml</import>
     </macros>
     <expand macro="requirements"/>
-    <expand macro="stdio"/>
-    <command><![CDATA[
-@CLEAN_EXT@
+    <expand macro="version_cmd"/>
+    <command detect_errors="aggressive"><![CDATA[
+@FASTQ_INPUT_FUNCTIONS@
 
 mkdir stacks_inputs stacks_outputs &&
 
-## TODO make token
-#set $catalog = ""
-#for $input_file in $input_cat
-    #set $filename = str($input_file.element_identifier)
-    #if not filename.endswith('.tsv')
-        #set $filename = $filename + ".tsv"
-    #end if
-    #if re.search('catalog\.[a-z]+(\.tsv)?$', $filename)
-        ln -s '${input_file}' 'stacks_inputs/$filename' &&
-        #if $filename.endswith('.tags.tsv')
-            #set catalog += " -c 'stacks_inputs/'"
-        #end if
-    #end if
-#end for
-
-## TODO make token
-#set $samples = ""
-#for $input_file in $input_tags
-    #set $filename = str($input_file.element_identifier)
-    #if not filename.endswith('.tsv')
-        #set $filename = $filename + ".tsv"
-    #end if
-    #if not re.search('catalog\.[a-z]+(\.tsv)?$', $filename)
-        ln -s '${input_file}' 'stacks_inputs/$filename' &&
-        #if $filename.endswith('.tags.tsv')
-            #set samples += " -s '"+$filename[:-9] + "'"
-        #end if
-    #end if
-#end for
-
-## TODO make token
-#for $input_file in $input_matches
-    #set $filename = str($input_file.element_identifier)
-    #if not filename.endswith('.tsv')
-        #set $filename = $filename + ".tsv"
-    #end if
-    #if re.search('matches.tsv$', $filename)
-        ln -s '${input_file}' 'stacks_inputs/$filename' &&
-    #end if
-#end for
+@LINK_STACKS_INPUT@
+@LINK_CAT_INPUT@
+@LINK_MATCHES_INPUT@
 
 ## link fastq files into stacks_inputs/
 #set $paired_reads=False
-#for $sample in $input_type.samples:
+#for $sample in $input_type.fqinputs:
     #if not $sample:
         #continue
     #end if
     #set $paired_reads=True
-    #set $read_direction="reverse"
-    @FASTQ_INPUT@
+    #set ($link_cmd, $data_path, $name, $inputype) = $fastq_input_foo($sample, "reverse", ".2")
+    $link_cmd
 #end for
 
 tsv2bam
@@ -67,7 +30,9 @@
 #if $popmap
     -M '$popmap'
 #else
-    $samples
+    #for $sample in $samples
+        -s '$sample'
+    #end for
 #end if
 #if $paired_reads
     --pe-reads-dir stacks_inputs
@@ -76,19 +41,20 @@
 ## tsv2bam writes to stdout and creates a log file
 ## - make stdout stderr
 ## - move the additional log file
-2>&1 
-&& mv stacks_inputs/tsv2bam.log $output_log
+2>&1
+
+#if $output_log
+    && mv stacks_inputs/tsv2bam.log $output_log
+#end if
 && mv stacks_inputs/*matches.bam stacks_outputs
-
 ]]></command>
 
     <inputs>
-        <!-- TODO make the inputs macros and use in other tools -->
+        <expand macro="input_stacks_macro"/>
         <expand macro="input_cat_macro"/>
-        <expand macro="input_tags_macro"/>
         <expand macro="input_matches_macro"/>
         <!-- TODO add BAM? -->
-        <expand macro="fastq_input_macro" fastq_optional="true"/>
+        <expand macro="fastq_input" fastq_optional="true" help="Paired end data or reverse reads. If a paired list is provided only the reverse reads are used in tsv2bam"/>
         <param name="popmap" type="data" format="tabular,txt" label="Population map" help="If set, matching will be done only for samples listed in this file" optional="true" argument="-M" />
         <expand macro="in_log"/>
     </inputs>
@@ -103,19 +69,19 @@
        <test>
             <param name="input_cat">
                 <collection type="list">
-                    <element name="catalog.alleles.tsv" ftype="tabular" value="cstacks/catalog.alleles.tsv" />
-                    <element name="catalog.snps.tsv" ftype="tabular" value="cstacks/catalog.snps.tsv" />
-                    <element name="catalog.tags.tsv" ftype="tabular" value="cstacks/catalog.tags.tsv" />
+                    <element name="catalog.alleles" ftype="tabular" value="cstacks/catalog.alleles.tsv" />
+                    <element name="catalog.snps" ftype="tabular" value="cstacks/catalog.snps.tsv" />
+                    <element name="catalog.tags" ftype="tabular" value="cstacks/catalog.tags.tsv" />
                </collection>
             </param>
-            <param name="input_tags">
+            <param name="input_stacks">
                 <collection type="list">
-                    <element name="PopA_01.alleles.tsv" ftype="tabular" value="ustacks/PopA_01.alleles.tsv" />
-                    <element name="PopA_01.snps.tsv" ftype="tabular" value="ustacks/PopA_01.snps.tsv" />
-                    <element name="PopA_01.tags.tsv" ftype="tabular" value="ustacks/PopA_01.tags.tsv" />
-                    <element name="PopA_02.alleles.tsv" ftype="tabular" value="ustacks/PopA_02.alleles.tsv" />
-                    <element name="PopA_02.snps.tsv" ftype="tabular" value="ustacks/PopA_02.snps.tsv" />
-                    <element name="PopA_02.tags.tsv" ftype="tabular" value="ustacks/PopA_02.tags.tsv" />
+                    <element name="PopA_01.alleles" ftype="tabular" value="ustacks/PopA_01.alleles.tsv" />
+                    <element name="PopA_01.snps" ftype="tabular" value="ustacks/PopA_01.snps.tsv" />
+                    <element name="PopA_01.tags" ftype="tabular" value="ustacks/PopA_01.tags.tsv" />
+                    <element name="PopA_02.alleles" ftype="tabular" value="ustacks/PopA_02.alleles.tsv" />
+                    <element name="PopA_02.snps" ftype="tabular" value="ustacks/PopA_02.snps.tsv" />
+                    <element name="PopA_02.tags" ftype="tabular" value="ustacks/PopA_02.tags.tsv" />
                </collection>
             </param>
             <param name="input_matches">
@@ -127,27 +93,27 @@
             <param name="add_log" value="yes" />
             <output name="output_log" ftype="txt" file="tsv2bam/tsv2bam.log" lines_diff="2"/>
             <output_collection name="bams" type="list" count="2">
-                <element name="PopA_01.matches" file="tsv2bam/PopA_01.matches.bam" ftype="bam" compare="sim_size"/>
-                <element name="PopA_02.matches" file="tsv2bam/PopA_02.matches.bam" ftype="bam" compare="sim_size"  />
+                <element name="PopA_01.matches" file="tsv2bam/PopA_01.matches.bam" ftype="bam"/>
+                <element name="PopA_02.matches" file="tsv2bam/PopA_02.matches.bam" ftype="bam"/>
             </output_collection>
         </test>
         <!-- test w popmap, w reverse reads as multiple selection -->
        <test>
             <param name="input_cat">
                 <collection type="list">
-                    <element name="catalog.alleles.tsv" ftype="tabular" value="cstacks/catalog.alleles.tsv" />
-                    <element name="catalog.snps.tsv" ftype="tabular" value="cstacks/catalog.snps.tsv" />
-                    <element name="catalog.tags.tsv" ftype="tabular" value="cstacks/catalog.tags.tsv" />
+                    <element name="catalog.alleles" ftype="tabular" value="cstacks/catalog.alleles.tsv" />
+                    <element name="catalog.snps" ftype="tabular" value="cstacks/catalog.snps.tsv" />
+                    <element name="catalog.tags" ftype="tabular" value="cstacks/catalog.tags.tsv" />
                </collection>
             </param>
-            <param name="input_tags">
+            <param name="input_stacks">
                 <collection type="list">
-                    <element name="PopA_01.alleles.tsv" ftype="tabular" value="ustacks/PopA_01.alleles.tsv" />
-                    <element name="PopA_01.snps.tsv" ftype="tabular" value="ustacks/PopA_01.snps.tsv" />
-                    <element name="PopA_01.tags.tsv" ftype="tabular" value="ustacks/PopA_01.tags.tsv" />
-                    <element name="PopA_02.alleles.tsv" ftype="tabular" value="ustacks/PopA_02.alleles.tsv" />
-                    <element name="PopA_02.snps.tsv" ftype="tabular" value="ustacks/PopA_02.snps.tsv" />
-                    <element name="PopA_02.tags.tsv" ftype="tabular" value="ustacks/PopA_02.tags.tsv" />
+                    <element name="PopA_01.alleles" ftype="tabular" value="ustacks/PopA_01.alleles.tsv" />
+                    <element name="PopA_01.snps" ftype="tabular" value="ustacks/PopA_01.snps.tsv" />
+                    <element name="PopA_01.tags" ftype="tabular" value="ustacks/PopA_01.tags.tsv" />
+                    <element name="PopA_02.alleles" ftype="tabular" value="ustacks/PopA_02.alleles.tsv" />
+                    <element name="PopA_02.snps" ftype="tabular" value="ustacks/PopA_02.snps.tsv" />
+                    <element name="PopA_02.tags" ftype="tabular" value="ustacks/PopA_02.tags.tsv" />
                </collection>
             </param>
             <param name="input_matches">
@@ -157,32 +123,29 @@
                </collection>
             </param>
             <param name="popmap" ftype="tabular" value="denovo_map/popmap_cstacks.tsv" />
-            <param name="input_type|input_type_selector" value="manual"/>
-            <param name="input_type|samples" value="demultiplexed/PopA_01.2.fq,demultiplexed/PopA_02.2.fq" ftype="fastqsanger" />
+            <param name="input_type|input_type_select" value="single"/>
+            <param name="input_type|fqinputs" value="demultiplexed/PopA_01.2.fq,demultiplexed/PopA_02.2.fq" ftype="fastqsanger" />
             <param name="add_log" value="yes" />
             <output name="output_log"><assert_contents><has_text text="done." /></assert_contents></output>
-            <output_collection name="bams" type="list" count="2">
-                <element name="PopA_01.matches" file="tsv2bam/PopA_01.matches.bam" ftype="bam" compare="sim_size"/>
-                <element name="PopA_02.matches" file="tsv2bam/PopA_02.matches.bam" ftype="bam" compare="sim_size"  />
-            </output_collection>
+            <output_collection name="bams" type="list" count="2"/>
         </test>
         <!-- test w reverse reads as list -->
        <test>
             <param name="input_cat">
                 <collection type="list">
-                    <element name="catalog.alleles.tsv" ftype="tabular" value="cstacks/catalog.alleles.tsv" />
-                    <element name="catalog.snps.tsv" ftype="tabular" value="cstacks/catalog.snps.tsv" />
-                    <element name="catalog.tags.tsv" ftype="tabular" value="cstacks/catalog.tags.tsv" />
+                    <element name="catalog.alleles" ftype="tabular" value="cstacks/catalog.alleles.tsv" />
+                    <element name="catalog.snps" ftype="tabular" value="cstacks/catalog.snps.tsv" />
+                    <element name="catalog.tags" ftype="tabular" value="cstacks/catalog.tags.tsv" />
                </collection>
             </param>
-            <param name="input_tags">
+            <param name="input_stacks">
                 <collection type="list">
-                    <element name="PopA_01.alleles.tsv" ftype="tabular" value="ustacks/PopA_01.alleles.tsv" />
-                    <element name="PopA_01.snps.tsv" ftype="tabular" value="ustacks/PopA_01.snps.tsv" />
-                    <element name="PopA_01.tags.tsv" ftype="tabular" value="ustacks/PopA_01.tags.tsv" />
-                    <element name="PopA_02.alleles.tsv" ftype="tabular" value="ustacks/PopA_02.alleles.tsv" />
-                    <element name="PopA_02.snps.tsv" ftype="tabular" value="ustacks/PopA_02.snps.tsv" />
-                    <element name="PopA_02.tags.tsv" ftype="tabular" value="ustacks/PopA_02.tags.tsv" />
+                    <element name="PopA_01.alleles" ftype="tabular" value="ustacks/PopA_01.alleles.tsv" />
+                    <element name="PopA_01.snps" ftype="tabular" value="ustacks/PopA_01.snps.tsv" />
+                    <element name="PopA_01.tags" ftype="tabular" value="ustacks/PopA_01.tags.tsv" />
+                    <element name="PopA_02.alleles" ftype="tabular" value="ustacks/PopA_02.alleles.tsv" />
+                    <element name="PopA_02.snps" ftype="tabular" value="ustacks/PopA_02.snps.tsv" />
+                    <element name="PopA_02.tags" ftype="tabular" value="ustacks/PopA_02.tags.tsv" />
                </collection>
             </param>
             <param name="input_matches">
@@ -191,8 +154,8 @@
                     <element name="PopA_02.matches" ftype="tabular" value="sstacks/PopA_02.matches.tsv" />
                </collection>
             </param>
-            <param name="input_type|input_type_selector" value="list"/>
-            <param name="input_type|samples">
+            <param name="input_type|input_type_select" value="paired"/>
+            <param name="input_type|fqinputs">
                 <collection type="list">
                     <element name="PopA_01" value="demultiplexed/PopA_01.2.fq" ftype="fastqsanger" />
                     <element name="PopA_02" value="demultiplexed/PopA_02.2.fq" ftype="fastqsanger"/>
@@ -200,28 +163,25 @@
             </param>
             <param name="add_log" value="yes" />
             <output name="output_log"><assert_contents><has_text text="done." /></assert_contents></output>
-            <output_collection name="bams" type="list" count="2">
-                <element name="PopA_01.matches" file="tsv2bam/PopA_01.matches.bam" ftype="bam" compare="sim_size"/>
-                <element name="PopA_02.matches" file="tsv2bam/PopA_02.matches.bam" ftype="bam" compare="sim_size"  />
-            </output_collection>
+            <output_collection name="bams" type="list" count="2"/>
         </test>
-        <!-- test w paired reads as paired data set list -->
+        <!-- test w paired reads as paired dataset list -->
        <test>
             <param name="input_cat">
                 <collection type="list">
-                    <element name="catalog.alleles.tsv" ftype="tabular" value="cstacks/catalog.alleles.tsv" />
-                    <element name="catalog.snps.tsv" ftype="tabular" value="cstacks/catalog.snps.tsv" />
-                    <element name="catalog.tags.tsv" ftype="tabular" value="cstacks/catalog.tags.tsv" />
+                    <element name="catalog.alleles" ftype="tabular" value="cstacks/catalog.alleles.tsv" />
+                    <element name="catalog.snps" ftype="tabular" value="cstacks/catalog.snps.tsv" />
+                    <element name="catalog.tags" ftype="tabular" value="cstacks/catalog.tags.tsv" />
                </collection>
             </param>
-            <param name="input_tags">
+            <param name="input_stacks">
                 <collection type="list">
-                    <element name="PopA_01.alleles.tsv" ftype="tabular" value="ustacks/PopA_01.alleles.tsv" />
-                    <element name="PopA_01.snps.tsv" ftype="tabular" value="ustacks/PopA_01.snps.tsv" />
-                    <element name="PopA_01.tags.tsv" ftype="tabular" value="ustacks/PopA_01.tags.tsv" />
-                    <element name="PopA_02.alleles.tsv" ftype="tabular" value="ustacks/PopA_02.alleles.tsv" />
-                    <element name="PopA_02.snps.tsv" ftype="tabular" value="ustacks/PopA_02.snps.tsv" />
-                    <element name="PopA_02.tags.tsv" ftype="tabular" value="ustacks/PopA_02.tags.tsv" />
+                    <element name="PopA_01.alleles" ftype="tabular" value="ustacks/PopA_01.alleles.tsv" />
+                    <element name="PopA_01.snps" ftype="tabular" value="ustacks/PopA_01.snps.tsv" />
+                    <element name="PopA_01.tags" ftype="tabular" value="ustacks/PopA_01.tags.tsv" />
+                    <element name="PopA_02.alleles" ftype="tabular" value="ustacks/PopA_02.alleles.tsv" />
+                    <element name="PopA_02.snps" ftype="tabular" value="ustacks/PopA_02.snps.tsv" />
+                    <element name="PopA_02.tags" ftype="tabular" value="ustacks/PopA_02.tags.tsv" />
                </collection>
             </param>
             <param name="input_matches">
@@ -230,8 +190,8 @@
                     <element name="PopA_02.matches" ftype="tabular" value="sstacks/PopA_02.matches.tsv" />
                </collection>
             </param>
-            <param name="input_type|input_type_selector" value="list"/>
-            <param name="input_type|samples">
+            <param name="input_type|input_type_select" value="paired"/>
+            <param name="input_type|fqinputs">
                 <collection type="list:paired">
                     <element name="PopA_01">
                         <collection type="paired">
@@ -249,10 +209,7 @@
             </param>
             <param name="add_log" value="yes" />
             <output name="output_log"><assert_contents><has_text text="done." /></assert_contents></output>
-            <output_collection name="bams" type="list" count="2">
-                <element name="PopA_01.matches" file="tsv2bam/PopA_01.matches.bam" ftype="bam" compare="sim_size"/>
-                <element name="PopA_02.matches" file="tsv2bam/PopA_02.matches.bam" ftype="bam" compare="sim_size"  />
-            </output_collection>
+            <output_collection name="bams" type="list" count="2"/>
         </test>
     </tests>