changeset 12:50ab1eb510d8

Uploaded
author yhoogstrate
date Thu, 30 Jan 2014 07:49:08 -0500
parents dd96b65174df
children 324717caecb8
files varscan2_from_bam.xml
diffstat 1 files changed, 59 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
--- a/varscan2_from_bam.xml	Thu Dec 19 07:11:05 2013 -0500
+++ b/varscan2_from_bam.xml	Thu Jan 30 07:49:08 2014 -0500
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="varscan2_from_bam" name="VarScan2 from BAM">
-	<description>VarScan2 (1: directly reading a *.bam file, 2: using parallel mpileup generation, to avoid unncessairy I/O overhead.</description>
+<tool id="varscan2_snp_from_bam" name="VarScan2 from BAM">
+	<description>VarScan2 SNP detection (1: directly reading a *.bam file, 2: using parallel mpileup generation, to avoid unncessairy I/O overhead.</description>
 	<requirements>
 		<requirement type="package" version="1.0.19">samtools-mpileup-parallel</requirement>
 		<requirement type="package" version="2.3.6">VarScan</requirement>
@@ -8,7 +8,12 @@
 	<command>
 		samtools-mpileup-parallel mpileup
 			-t $samtools_threads
-			-f $reference_genome
+			-f 
+				#if $reference_genome_source.source_select=="database"
+					$reference_genome_source.reference_genome
+				#else
+					$reference_genome_source.reference_genome
+				#end if
 		
 		#if $extended_parameters_regions.samtools_regions == "region"
 			-r $extended_parameters_regions.$samtools_r
@@ -39,8 +44,8 @@
 			 -P $extended_parameters.samtools_P
 		#end if
 		
-		#for $sample in $samples
-			 ${sample.mapped_reads}
+		#for $alignment in $alignments
+			 ${alignment}
 		#end for
 		
 		 | java
@@ -49,12 +54,12 @@
 					 mpileup2snp
 		 
 		#if $extended_parameters.parameters == "extended"
-				 --min-coverage     $varscan_min_coverage
-				 --min-reads2       $varscan_min_reads2
-				 --min-avg-qual     $varscan_min_avg_qual
-				 --min-var-freq     $varscan_min_var_freq
+				 --min-coverage	 $varscan_min_coverage
+				 --min-reads2	   $varscan_min_reads2
+				 --min-avg-qual	 $varscan_min_avg_qual
+				 --min-var-freq	 $varscan_min_var_freq
 				 --min-freq-for-hom $varscan_min_freq_for_hom
-				 --p-value          $varscan_p_value
+				 --p-value		  $varscan_p_value
 				$varscan_strand_filter
 				$varscan_output_vcf
 				$varscan_variants
@@ -66,12 +71,28 @@
 	</command>
 	
 	<inputs>
-		<repeat name="samples" title="Samples" min="1">
-			<param format="bam,sam" name="mapped_reads" type="data" label="Alignment file" help="Mapped reads in BAM or SAM format."/>
-		</repeat>
+		<param format="bam,sam" multiple="true" name="alignments" type="data" label="Alignment file" help="Mapped reads in BAM or SAM format."/>
 		
 		<!-- Find out how to access the reference genome from the BAM file(s) -->
-		<param format="fa,fasta" name="reference_genome" type="data" label="Gene Model Annotations" help="Reference genome (genome.fa) that corresponds to the *.bam file." />
+		<conditional name="reference_genome_source">
+			<param name="source_select" type="select" label="Fasta Source">
+				<option value="cached" selected="true">Locally Cached Alignments</option>
+				<option value="user">Alignments in Your History</option>
+			</param>
+			<when value="user">
+				<param name="reference_genome" format="fasta" type="data" label="Reference Genome used during alignment (fasta)" help="Reference genome (genome.fa) that corresponds to the *.bam file." />
+			</when>
+			<when value="cached">
+				<param name="reference_genome" type="select" label="Reference Genome used during alignment (fasta)" >
+					<options from_file="all_fasta.loc">
+						<column name="name" index="0"/>
+						<column name="dbkey" index="1"/>
+						<column name="value" index="3"/>
+						<filter type="data_meta" ref="alignments" multiple="true" key="dbkey" column="1" />
+					</options>
+				</param>
+			</when>
+		</conditional>
 		
 		<conditional name="extended_parameters_regions">
 			<param name="samtools_regions" type="select" label="VarScan parameters" help="For more advanced VarScan settings.">
@@ -89,7 +110,7 @@
 				<param type="data" name="samtools_l" format="tabular" label="Samtools: list of positions (chr pos)" />
 			</when>
 			<when value="regions_file_bed">
-				<param type="data" name="samtools_l" format="bed"     label="Samtools: specific regions (BED)" />
+				<param type="data" name="samtools_l" format="bed"	 label="Samtools: specific regions (BED)" />
 			</when>
 		</conditional>
 		
@@ -106,32 +127,32 @@
 				<param type="boolean" name="samtools_6" falsevalue="" truevalue=" -6" label="Samtools: assume the quality is in the Illumina-1.3+ encoding" />
 				<param type="boolean" name="samtools_A" falsevalue="" truevalue=" -A" label="Samtools: count anomalous read pairs" />
 				<param type="boolean" name="samtools_B" falsevalue="" truevalue=" -B" label="Samtools: disable BAQ computation" />
-				<param type="integer" name="samtools_C" value="0"                     label="Samtools: parameter for adjusting mapQ; 0 to disable [0]" />
-				<param type="integer" name="samtools_d" value="250"                   label="Samtools: max per-BAM depth to avoid excessive memory usage [250]" />
+				<param type="integer" name="samtools_C" value="0"					 label="Samtools: parameter for adjusting mapQ; 0 to disable [0]" />
+				<param type="integer" name="samtools_d" value="250"				   label="Samtools: max per-BAM depth to avoid excessive memory usage [250]" />
 				<param type="boolean" name="samtools_E" falsevalue="" truevalue=" -E" label="Samtools: recalculate extended BAQ on the fly thus ignoring existing BQs" />
-				<param type="integer" name="samtools_M" value="60"                    label="cap mapping quality at INT [60]" />
+				<param type="integer" name="samtools_M" value="60"					label="cap mapping quality at INT [60]" />
 				<param type="boolean" name="samtools_R" falsevalue="" truevalue=" -R" label="Samtools: ignore RG tags" />
-				<param type="integer" name="samtools_q" value="0"                     label="Samtools: skip alignments with mapQ smaller than INT [0]" />
-				<param type="integer" name="samtools_Q" value="13"                    label="Samtools: skip bases with baseQ/BAQ smaller than INT [13]" />
+				<param type="integer" name="samtools_q" value="0"					 label="Samtools: skip alignments with mapQ smaller than INT [0]" />
+				<param type="integer" name="samtools_Q" value="13"					label="Samtools: skip bases with baseQ/BAQ smaller than INT [13]" />
 				
-				<param type="integer" name="samtools_e" value="20"                    label="Samtools: Phred-scaled gap extension seq error probability [20]" />
-				<param type="float"   name="samtools_F" value="0.002"                 label="Samtools: minimum fraction of gapped reads for candidates [0.002]" help="Alias: -F" />
-				<param type="integer" name="samtools_h" value="100"                   label="Samtools: coefficient for homopolymer errors [100]" />
+				<param type="integer" name="samtools_e" value="20"					label="Samtools: Phred-scaled gap extension seq error probability [20]" />
+				<param type="float"   name="samtools_F" value="0.002"				 label="Samtools: minimum fraction of gapped reads for candidates [0.002]" help="Alias: -F" />
+				<param type="integer" name="samtools_h" value="100"				   label="Samtools: coefficient for homopolymer errors [100]" />
 				<param type="boolean" name="samtools_I" falsevalue="" truevalue=" -I" label="Samtools: do not perform indel calling" />
-				<param type="integer" name="samtools_L" value="250"                   label="Samtools: max per-sample depth for INDEL calling [250]" />
-				<param type="integer" name="samtools_m" value="1"                     label="Samtools: minimum gapped reads for indel candidates [1]" help="Alias: -m" />
-				<param type="integer" name="samtools_o" value="40"                    label="Samtools: Phred-scaled gap open sequencing error probability [40]" />
+				<param type="integer" name="samtools_L" value="250"				   label="Samtools: max per-sample depth for INDEL calling [250]" />
+				<param type="integer" name="samtools_m" value="1"					 label="Samtools: minimum gapped reads for indel candidates [1]" help="Alias: -m" />
+				<param type="integer" name="samtools_o" value="40"					label="Samtools: Phred-scaled gap open sequencing error probability [40]" />
 				<param type="boolean" name="samtools_p" falsevalue="" truevalue=" -p" label="Samtools: apply -m and -F per-sample to increase sensitivity" />
-				<param type="text"    name="samtools_P" value="all"                   label="Samtools: comma separated list of platforms for indels [all]" />
+				<param type="text"	name="samtools_P" value="all"				   label="Samtools: comma separated list of platforms for indels [all]" />
 				
-				<param type="integer" name="varscan_min_coverage"     value="8"    label="VarScan: Minimum read depth at a position to make a call [8]" />
-				<param type="integer" name="varscan_min_reads2"       value="2"    label="VarScan: PMinimum supporting reads at a position to call variants [2]" />
-				<param type="integer" name="varscan_min_avg_qual"     value="15"   label="VarScan: Minimum base quality at a position to count a read [15]" />
-				<param type="float"   name="varscan_min_var_freq"     value="0.01" label="VarScan: minimum fraction of gapped reads for candidates [0.002]" help="Alias: -F" />
+				<param type="integer" name="varscan_min_coverage"	 value="8"	label="VarScan: Minimum read depth at a position to make a call [8]" />
+				<param type="integer" name="varscan_min_reads2"	   value="2"	label="VarScan: PMinimum supporting reads at a position to call variants [2]" />
+				<param type="integer" name="varscan_min_avg_qual"	 value="15"   label="VarScan: Minimum base quality at a position to count a read [15]" />
+				<param type="float"   name="varscan_min_var_freq"	 value="0.01" label="VarScan: minimum fraction of gapped reads for candidates [0.002]" help="Alias: -F" />
 				<param type="float"   name="varscan_min_freq_for_hom" value="0.75" label="VarScan: Minimum frequency to call homozygote [0.75]" />
-				<param type="float"   name="varscan_p_value"          value="0.99" label="VarScan: Default p-value threshold for calling variants [99e-02]" />
-				<param type="boolean" name="varscan_strand_filter"    falsevalue=" --strand_filter 0" truevalue=" --strand_filter 1" checked="true" label="VarScan: Ignore variants with >90% support on one strand [1]" />
-				<param type="boolean" name="varscan_variants"         falsevalue=" --variants 0"      truevalue=" --variants 1"                     label="VarScan: Report only variant (SNP/indel) positions [0]" />
+				<param type="float"   name="varscan_p_value"		  value="0.99" label="VarScan: Default p-value threshold for calling variants [99e-02]" />
+				<param type="boolean" name="varscan_strand_filter"	falsevalue=" --strand_filter 0" truevalue=" --strand_filter 1" checked="true" label="VarScan: Ignore variants with >90% support on one strand [1]" />
+				<param type="boolean" name="varscan_variants"		 falsevalue=" --variants 0"	  truevalue=" --variants 1"					 label="VarScan: Report only variant (SNP/indel) positions [0]" />
 			</when>
 		</conditional>
 		
@@ -139,10 +160,13 @@
 	</inputs>
 	
 	<outputs>
-		<data format="tabular" name="output_table" label="${tool.name}" />
+		<data format="tabular" name="output_table" label="${tool.name} on ${', '.join([ str(a.hid)+': '+a.name for a in $alignments ])}" />
 	</outputs>
 	
 	<help>
 		VarScan2.3.6
+		------------
+		
+		Make sure your reference genomes are properly annotated in "tool-data/all_fasta.loc", and linked to the names of the reference used for alignment.
 	</help>
 </tool>