changeset 8:f5115df39480 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:18:58 -0400
parents 5830a37dfa76
children 45db1ba16163
files macros.xml stacks_populations.xml test-data/demultiplexed/PopA_01.1.fq.gzip test-data/denovo_map/popmap_cstacks.tsv test-data/procrad/R1.fq.gzip test-data/ustacks/ustacks.out
diffstat 6 files changed, 111 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
--- a/macros.xml	Fri Apr 07 11:48:24 2017 -0400
+++ b/macros.xml	Thu Apr 27 04:18:58 2017 -0400
@@ -2,14 +2,14 @@
 <macros>
     <xml name="requirements">
         <requirements>
-            <requirement type="package" version="1.42">stacks</requirement>
+            <requirement type="package" version="1.46">stacks</requirement>
             <requirement type="package" version="1.2.10">velvet</requirement>
-            <container type="docker">quay.io/biocontainers/stacks:1.42--2</container>
+            <requirement type="package" version="1.1">stacks_summary</requirement>
             <yield/>
         </requirements>
     </xml>
 
-    <token name="@WRAPPER_VERSION@">1.42</token>
+    <token name="@WRAPPER_VERSION@">1.46</token>
 
     <xml name="stdio">
         <stdio>
@@ -90,6 +90,7 @@
         <option value="bsaHI">bsaHI</option>
         <option value="hpaII">hpaII</option>
         <option value="ncoI">ncoI</option>
+        <option value="ApaLI">ApaLI</option>
     </xml>
 
     <xml name="cross_types">
@@ -100,6 +101,19 @@
         <option value="GEN">GEN (generic, unspecific to any map type)</option>
     </xml>
 
+    <token name="@CLEAN_EXT@">
+        <![CDATA[
+        #from os.path import splitext
+        #import re
+        #def clean_ext($identifier)
+            #while $identifier.endswith(('.1', '.fa', '.fq', '.fasta', '.fastq', '.gz', '.gzip', '.sam', '.bam'))
+                #set $identifier = splitext($identifier)[0]
+            #end while
+$identifier#slurp
+        #end def
+        ]]>
+    </token>
+
     <token name="@NORM_GENOTYPES_OUTPUT_LIGHT@">
         <![CDATA[
         ## We need to do this as the output file names contains the value of an option (min progeny)
--- a/stacks_populations.xml	Fri Apr 07 11:48:24 2017 -0400
+++ b/stacks_populations.xml	Thu Apr 27 04:18:58 2017 -0400
@@ -12,36 +12,39 @@
 
         &&
 
-        #if str($options_usage.input_type) == 'stacks':
-            #for $input_file in $options_usage.input_col:
+        #if str($options_usage.input_type) == 'stacks'
+            #for $input_file in $options_usage.input_col
                 #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('\.(tags|snps|alleles|matches)(\.tsv)?$', $filename):
-                    ln -s "${input_file}" "stacks_outputs/${filename}" &&
+                #if re.search('\.(tags|snps|alleles|matches)(\.tsv)?$', $filename)
+                    ln -s '${input_file}' 'stacks_outputs/${filename}' &&
                 #end if
             #end for
+        #else if str($options_usage.input_type) == 'vcf'
+            ln -s '$options_usage.input_vcf' 'stacks_outputs/batch_1.vcf' &&
         #end if
 
         populations
 
         -t \${GALAXY_SLOTS:-1}
 
-        #if str($options_usage.input_type) == 'vcf':
-            -V "$options_usage.input_vcf"
-        #else:
+        #if str($options_usage.input_type) == 'vcf'
+            -V 'stacks_outputs/batch_1.vcf'
+            -O stacks_outputs
+        #else
             -P stacks_outputs
             -b $advanced_options.batchid
         #end if
 
-        -M "$options_usage.popmap"
+        -M '$options_usage.popmap'
 
         ## Data filtering
         $options_filtering.write_single_snp
         $options_filtering.write_random_snp
 
-        #if str($options_filtering.lnl):
+        #if str($options_filtering.lnl)
             --lnl_lim $options_filtering.lnl
         #end if
 
@@ -49,12 +52,12 @@
         -p $options_filtering.minpop
         -m $options_filtering.mindepth
 
-        #if str($options_filtering.max_obs_het):
+        #if str($options_filtering.max_obs_het)
             --max_obs_het $options_filtering.max_obs_het
         #end if
 
         --min_maf $options_filtering.minminor
-        #if str( $options_filtering.correction_select.correction ) != "no_corr":
+        #if str( $options_filtering.correction_select.correction ) != "no_corr"
             -f $options_filtering.correction_select.correction
             --p_value_cutoff $options_filtering.correction_select.pcutoff
         #end if
@@ -62,26 +65,26 @@
         ## Fstats
         $fstats
 
-        #if $options_kernel.kernel:
+        #if $options_kernel.kernel
             -k
             --window_size $options_kernel.window
         #end if
 
         ## Bootstrap resampling options
-        #if $bootstrap_resampling.bootstrap_resampling_mode.bootstrap_all:
+        #if $bootstrap_resampling.bootstrap_resampling_mode.bootstrap_all
             --bootstrap
-        #else:
+        #else
             $bootstrap_resampling.bootstrap_resampling_mode.bootstrap_pifis
             $bootstrap_resampling.bootstrap_resampling_mode.bootstrap_fst
             $bootstrap_resampling.bootstrap_resampling_mode.bootstrap_div
             $bootstrap_resampling.bootstrap_resampling_mode.bootstrap_phist
         #end if
 
-        #if str($bootstrap_resampling.bootstrap_reps):
+        #if str($bootstrap_resampling.bootstrap_reps)
             --bootstrap_reps $bootstrap_resampling.bootstrap_reps
         #end if
-        #if $bootstrap_resampling.bootstrap_wl:
-            --bootstrap_wl "$bootstrap_resampling.bootstrap_wl"
+        #if $bootstrap_resampling.bootstrap_wl
+            --bootstrap_wl '$bootstrap_resampling.bootstrap_wl'
         #end if
 
         ## output section
@@ -103,7 +106,7 @@
         $populations_output.phylip_var_all
         $populations_output.treemix
 
-        #if $populations_output.options_genomic.genomic:
+        #if $populations_output.options_genomic.genomic
             --genomic
             -e $populations_output.options_genomic.enzyme
         #end if
@@ -113,19 +116,23 @@
         --log_fst_comp
 
         ## Advanced options
-        #if $advanced_options.blacklist:
-            -B "$advanced_options.blacklist"
+        #if $advanced_options.blacklist
+            -B '$advanced_options.blacklist'
         #end if
-        #if $advanced_options.whitelist:
-            -W "$advanced_options.whitelist"
+        #if $advanced_options.whitelist
+            -W '$advanced_options.whitelist'
         #end if
+
+        &&
+
+        stacks_summary.py --stacks-prog populations --res-dir stacks_outputs --summary stacks_outputs/summary.html --pop-map '$options_usage.popmap'
     ]]></command>
 
     <inputs>
         <conditional name="options_usage">
             <param name="input_type" type="select" label="Input type" help="select input file type" >
                 <option value="stacks">Stacks output</option>
-                <!--option value="vcf">VCF file</option--> <!-- broken in 1.42 -->
+                <option value="vcf">VCF file</option>
             </param>
             <when value="stacks">
                 <param name="input_col" format="tabular,txt" type="data_collection" collection_type="list" label="Output from previous Stacks pipeline steps (e.g. denovo_map or refmap)" argument="-P" />
@@ -152,7 +159,7 @@
                     <option value="bonferroni_win">bonferroni_win</option>
                     <option value="bonferroni_gen">bonferroni_gen</option>
                 </param>
-                <when value="no_corr"></when>
+                <when value="no_corr"/>
                 <when value="p_value">
                     <param name="pcutoff" type="float" value="0.05" label="P-value cutoff" help="required p-value to keep an Fst measurement (0.05 by default). Also used as base for Bonferroni correction" />
                 </when>
@@ -238,6 +245,8 @@
     </inputs>
     <outputs>
         <expand macro="populations_output_full"/>
+
+        <data format="html" name="output_summary" label="Summary from ${tool.name} on ${on_string}" from_work_dir="stacks_outputs/summary.html" />
     </outputs>
 
     <tests>
@@ -279,9 +288,15 @@
             <param name="populations_output|phylip_var_all" value="true" />
             <param name="populations_output|treemix" value="true" />
 
-            <param name="populations_output|options_genomic|genomic" value="true" />
+            <param name="populations_output|options_genomic|genomic" value="false" />
             <param name="populations_output|options_genomic|enzyme" value="ecoRI" />
 
+            <output name="output_summary">
+                <assert_contents>
+                    <has_text text="Stacks Statistics" />
+                </assert_contents>
+            </output>
+
             <!-- populations -->
             <output name="out_haplotypes">
                 <assert_contents>
@@ -324,7 +339,7 @@
                 </assert_contents>
             </output>
         </test>
-        <!--test>
+        <test>
             <param name="options_usage|input_type" value="vcf" />
             <param name="options_usage|input_vcf" value="populations/batch_1.vcf" />
             <param name="options_usage|popmap" ftype="tabular" value="denovo_map/popmap.tsv" />
@@ -348,11 +363,16 @@
             <param name="populations_output|phylip_var_all" value="true" />
             <param name="populations_output|treemix" value="true" />
 
-            <param name="populations_output|options_genomic|genomic" value="true" />
-            <param name="populations_output|options_genomic|enzyme" value="ecoRI" /-->
+            <param name="populations_output|options_genomic|genomic" value="false" />
+
+            <output name="output_summary">
+                <assert_contents>
+                    <has_text text="Stacks Statistics" />
+                </assert_contents>
+            </output>
 
             <!-- populations -->
-            <!--output name="out_haplotypes">
+            <output name="out_haplotypes">
                 <assert_contents>
                     <has_text text="PopA_01" />
                 </assert_contents>
@@ -389,10 +409,10 @@
             </output>
             <output name="out_fasta">
                 <assert_contents>
-                    <has_text text="AATTCGTTTGCTGCTTCAGGAATCTCTCGTATAATCTGAGTATGTGCGTACGTACGCTATTTAGATGGATAACCGACGCTGCCAGACGCGAGAC" />
+                    <has_text text="CLocus_0_Sample_1_Locus_0_Allele_1" />
                 </assert_contents>
             </output>
-        </test-->  <!-- broken in 1.42 -->
+        </test>
     </tests>
     <help>
 <![CDATA[
Binary file test-data/demultiplexed/PopA_01.1.fq.gzip has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/denovo_map/popmap_cstacks.tsv	Thu Apr 27 04:18:58 2017 -0400
@@ -0,0 +1,1 @@
+PopA_01	myPopA
Binary file test-data/procrad/R1.fq.gzip has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/ustacks/ustacks.out	Thu Apr 27 04:18:58 2017 -0400
@@ -0,0 +1,41 @@
+ustacks parameters selected:
+  Sample ID: 1
+  Min depth of coverage to create a stack: 2
+  Max distance allowed between stacks: 2
+  Max distance allowed to align secondary reads: 4
+  Max number of stacks allowed per de novo locus: 3
+  Deleveraging algorithm: disabled
+  Removal algorithm: enabled
+  Model type: SNP
+  Alpha significance level for model: 0.05
+  Gapped alignments: disabled
+Parsing stacks_inputs/PopA_01.fq
+Loading RAD-Tags...done
+Loaded 66 RAD-Tags.
+  Inserted 7 elements into the RAD-Tags hash map.
+  0 reads contained uncalled nucleotides that were modified.
+4 initial stacks were populated; 3 stacks were set aside as secondary reads.
+Initial coverage mean: 15.75; Std Dev: 7.46241; Max: 27
+Deleveraging trigger: 23; Removal trigger: 31
+Calculating distance for removing repetitive stacks.
+  Distance allowed between stacks: 1; searching with a k-mer length of 47 (48 k-mers per read); 1 k-mer hits required.
+Removing repetitive stacks.
+  Removed 0 stacks.
+  4 stacks remain for merging.
+Post-Repeat Removal, coverage depth Mean: 15.75; Std Dev: 7.46241; Max: 27
+Calculating distance between stacks...
+  Distance allowed between stacks: 2; searching with a k-mer length of 31 (64 k-mers per read); 2 k-mer hits required.
+Merging stacks, maximum allowed distance: 2 nucleotide(s)
+  4 stacks merged into 3 loci; deleveraged 0 loci; blacklisted 0 loci.
+After merging, coverage depth Mean: 21; Std Dev: 4.24264; Max: 27
+Merging remainder radtags
+  3 remainder sequences left to merge.
+  Distance allowed between stacks: 4; searching with a k-mer length of 17 (78 k-mers per read); 10 k-mer hits required.
+  Matched 3 remainder reads; unable to match 0 remainder reads.
+After remainders merged, coverage depth Mean: 22; Std Dev: 4.32049; Max: 28
+Calling final consensus sequences, invoking SNP-calling model...
+Number of utilized reads: 66
+Writing loci, SNPs, and alleles to 'stacks_outputs/'...
+  Refetching sequencing IDs from stacks_inputs/PopA_01.fq... read 66 sequence IDs.
+done.
+ustacks is done.