diff stacks_sstacks.xml @ 8:db683c98e455 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/stacks commit dc23703c260d004a28fe24a2a7c00cb4371bc32e
author iuc
date Thu, 27 Apr 2017 04:17:14 -0400
parents 679f97ac0dd5
children 563af4497055
line wrap: on
line diff
--- a/stacks_sstacks.xml	Fri Apr 07 11:47:12 2017 -0400
+++ b/stacks_sstacks.xml	Thu Apr 27 04:17:14 2017 -0400
@@ -13,45 +13,49 @@
         &&
 
         #set $catalog = ""
-        #for $input_file in $input_cat:
+        #for $input_file in $input_cat
             #set $filename = str($input_file.element_identifier)
-            #if not filename.endswith('.tsv'):
+            #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 re.search('catalog\.[a-z]+(\.tsv)?$', $filename)
+                ln -s '${input_file}' 'stacks_inputs/$filename' &&
 
-                #if $filename.endswith('.tags.tsv'):
-                    #set catalog += " -c \"stacks_inputs/"+$filename[:-17] + "\""
+                #if $filename.endswith('.tags.tsv')
+                    #set catalog += " -c 'stacks_inputs/"+$filename[:-17] + "'"
                 #end if
             #end if
         #end for
 
         #set $samples = ""
-        #for $input_file in $input_tags:
+        #for $input_file in $input_tags
             #set $filename = str($input_file.element_identifier)
-            #if not filename.endswith('.tsv'):
+            #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 not re.search('catalog\.[a-z]+(\.tsv)?$', $filename)
+                ln -s '${input_file}' 'stacks_inputs/$filename' &&
 
-                #if $filename.endswith('.tags.tsv'):
-                    #set samples += " -s \"stacks_inputs/"+$filename[:-9] + "\""
+                #if $filename.endswith('.tags.tsv')
+                    #set samples += " -s 'stacks_inputs/"+$filename[:-9] + "'"
                 #end if
             #end if
         #end for
 
         sstacks
 
+            ## Batch description
+            -b 1
+
             -p \${GALAXY_SLOTS:-1}
 
-            $catalog
-
-            $samples
-
-            ## Batch description
-            -b 1
+            #if $popmap
+                -P stacks_inputs -M '$popmap'
+            #else
+                $catalog
+                $samples
+                -o stacks_outputs
+            #end if
 
             $g
 
@@ -59,15 +63,24 @@
 
             $gapped
 
-            -o stacks_outputs
+            2>&1 | tee sstacks.log
 
-             > sstacks.log 2>&1
+            #if $popmap
+                ## When using a popmap, stacks write to the input dir
+                && mv stacks_inputs/*matches.tsv stacks_outputs/
+            #end if
+
+            &&
+
+            stacks_summary.py --stacks-prog sstacks --res-dir stacks_outputs --logfile sstacks.log --summary stacks_outputs/summary.html
     ]]></command>
 
     <inputs>
         <param name="input_cat" format="tabular,txt" type="data_collection" collection_type="list" label="Catalog files" help="output from a previous Stacks pipeline steps e.g. denovo_map, refmap or cstacks" />
         <param name="input_tags" format="tabular,txt" type="data_collection" collection_type="list" label="Samples stacks" help="output from previous Stacks pipeline steps e.g. denovo_map, refmap or ustacks/pstacks" />
 
+        <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" />
+
         <param name="g" argument="-g" type="boolean" checked="false" truevalue="-g" falsevalue="" label="Base catalog matching on genomic location, not sequence identity" />
 
         <param name="check_haplo" argument="-x" type="boolean" checked="false" truevalue="-x" falsevalue="" label="Don't verify haplotype of matching locus" />
@@ -78,6 +91,8 @@
     <outputs>
         <data format="txt" name="output_log" label="sstacks.log with ${tool.name} on ${on_string}" from_work_dir="sstacks.log" />
 
+        <data format="html" name="output_summary" label="Summary from ${tool.name} on ${on_string}" from_work_dir="stacks_outputs/summary.html" />
+
         <collection name="matches" type="list" label="Matches to the catalog on ${on_string}">
             <discover_datasets pattern="(?P&lt;name&gt;.+\.matches)\.tsv$" ext="tabular" directory="stacks_outputs" />
         </collection>
@@ -110,6 +125,11 @@
                     <has_text text="Outputing to file" />
                 </assert_contents>
             </output>
+            <output name="output_summary">
+                <assert_contents>
+                    <has_text text="Stacks Statistics" />
+                </assert_contents>
+            </output>
 
             <output_collection name="matches">
                 <element name="PopA_01.matches">
@@ -148,6 +168,54 @@
                     <has_text text="Outputing to file" />
                 </assert_contents>
             </output>
+            <output name="output_summary">
+                <assert_contents>
+                    <has_text text="Stacks Statistics" />
+                </assert_contents>
+            </output>
+
+            <output_collection name="matches">
+                <element name="PopA_01.matches">
+                    <assert_contents>
+                        <has_text text="generated on " />
+                    </assert_contents>
+                </element>
+            </output_collection>
+        </test>
+
+        <test>
+            <param name="input_cat">
+                <collection type="list">
+                    <element name="batch_1.catalog.alleles.tsv" ftype="tabular" value="genotypes/batch_1.catalog.alleles.tsv" />
+                    <element name="batch_1.catalog.snps.tsv" ftype="tabular" value="genotypes/batch_1.catalog.snps.tsv" />
+                    <element name="batch_1.catalog.tags.tsv" ftype="tabular" value="genotypes/batch_1.catalog.tags.tsv" />
+               </collection>
+            </param>
+            <param name="input_tags">
+                <collection type="list">
+                    <element name="PopA_01.alleles.tsv" ftype="tabular" value="genotypes/PopA_01.alleles.tsv" />
+                    <element name="PopA_01.matches.tsv" ftype="tabular" value="genotypes/PopA_01.matches.tsv" />
+                    <element name="PopA_01.snps.tsv" ftype="tabular" value="genotypes/PopA_01.snps.tsv" />
+                    <element name="PopA_01.tags.tsv" ftype="tabular" value="genotypes/PopA_01.tags.tsv" />
+                    <element name="PopA_02.alleles.tsv" ftype="tabular" value="genotypes/PopA_02.alleles.tsv" />
+                    <element name="PopA_02.matches.tsv" ftype="tabular" value="genotypes/PopA_02.matches.tsv" />
+                    <element name="PopA_02.snps.tsv" ftype="tabular" value="genotypes/PopA_02.snps.tsv" />
+                    <element name="PopA_02.tags.tsv" ftype="tabular" value="genotypes/PopA_02.tags.tsv" />
+               </collection>
+            </param>
+
+            <param name="popmap" ftype="tabular" value="denovo_map/popmap_cstacks.tsv" />
+
+            <output name="output_log">
+                <assert_contents>
+                    <has_text text="Outputing to file" />
+                </assert_contents>
+            </output>
+            <output name="output_summary">
+                <assert_contents>
+                    <has_text text="Stacks Statistics" />
+                </assert_contents>
+            </output>
 
             <output_collection name="matches">
                 <element name="PopA_01.matches">