changeset 22:1c8dcda28be7

version 27/11/2014, corrected extra arguments bug
author mini
date Thu, 27 Nov 2014 10:31:58 +0100
parents f785839fb395
children 7dc858b52573
files macro_configuration.xml macro_customConfiguration.xml macro_extraStrelkaArguments.xml macro_help.xml macro_inputs.xml macro_main.xml macro_outputs.xml macro_tests.xml strelka.xml strelka_wrapper.py strelkarecovery.xml
diffstat 11 files changed, 544 insertions(+), 177 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macro_configuration.xml	Thu Nov 27 10:31:58 2014 +0100
@@ -0,0 +1,23 @@
+<macros>
+  <import>macro_customConfiguration.xml</import>
+  <macro name="configuration">
+      <conditional name="configuration">
+        <param name="configuration_switch" type="select" label="how do you want to configure strelka">
+          <option value="Default for Bwa" selected="true">Default for Bwa</option>
+          <option value="Default for Eland">Default for Eland</option>
+          <option value="Default for Isaac">Default for Isaac</option>
+          <option value="Path">Use a config file</option>
+          <option value="Custom">Custom</option>
+        </param>
+        <when value="Default">
+          <!-- do nothing -->
+        </when>
+        <when value="Path">
+          <param format="ini" name="configFile" type="data" label="config file"/>
+        </when>
+        <when value="Custom">
+          <expand macro="customConfiguration"/>
+        </when>
+      </conditional>
+  </macro>
+</macros>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macro_customConfiguration.xml	Thu Nov 27 10:31:58 2014 +0100
@@ -0,0 +1,27 @@
+<macros>
+  <import>macro_extraStrelkaArguments.xml</import>
+  <macro name="customConfiguration">
+    <param name="binSize" type="integer" value="25000000" label="binSize" help="Jobs are parallelized over segments of the reference genome no larger than this size:"/>
+    <param name="minTier1Mapq" type="integer" value="20" min="0" max="40" help="between 0 and 40, minimum MAPQ score for PE reads at tier1:" label="minTier1Mapq" />
+    <param name="minTier2Mapq" type="integer" value="5" min="0" max="5" help="between 0 and 5, minimum MAPQ score for PE and SE reads at tier2:" label="minTier2Mapq" />
+    <param name="isWriteRealignedBam" type="boolean" checked="false" truevalue="1" falsevalue="0" label="isWriteRealignedBam" help="Optionally write out read alignments which were altered during the realignment step. At the completion of the workflow run, the realigned reads can be found in:"/>
+    <param name="ssnvPrior" type="float" value="0.000001" label="ssnvPrior" help="prior probability of a somatic snv or indel"/>
+    <param name="sindelPrior" type="float" value="0.000001" label="sindelPrior" help="prior probability of a somatic snv or indel"/>
+    <param name="ssnvNoise" type="float" value="0.0000005" label="ssnvNoise" help="probability of an snv or indel noise allele NB: in the calling model a noise allele is shared in tumor and normal samples, but occurs at any frequency."/>
+    <param name="sindelNoise" type="float" value="0.000001" label="sindelNoise" help="probability of an snv or indel noise allele NB: in the calling model a noise allele is shared in tumor and normal samples, but occurs at any frequency."/>
+    <param name="ssnvNoiseStrandBiasFrac" type="float" value="0.5" label="ssnvNoiseStrandBiasFrac" help="Fraction of snv noise attributed to strand-bias. It is not recommended to change this setting. However, if it is essential to turn the strand bias penalization off, the following is recommended: Assuming the current value of ssnvNoiseStrandBiasFrac is 0.5,
+(1) set ssnvNoiseStrandBiasFrac = 0
+(2) divide the current ssnvNoise value by 2"/>
+    <param name="ssnvQuality_LowerBound" type="integer" value="15" label="ssnvQuality_LowerBound" help="Somatic quality score (QSS_NT, NT=ref) below which somatic SNVs are marked as filtered:"/>
+    <param name="sindelQuality_LowerBound" type="integer" value="30" label="sindelQuality_LowerBound" help="Somatic quality score (QSI_NT, NT=ref) below which somatic indels are marked as filtered:"/>
+    <param name="isSkipDepthFilters" type="integer" value="1" label="isSkipDepthFilters" help="isSkipDepthFilters should be set to 1 to skip depth filtration for whole exome or other targeted sequencing data"/>
+    <param name="depthFilterMultiple" type="float" value="3.0" label="depthFilterMultiple" help="If the depth filter is not skipped, all variants which occur at a depth greater than depthFilterMultiple*chromosome mean depth will be filtered out."/>
+    <param name="snvMaxFilteredBasecallFrac" type="float" value="0.4" label="snvMaxFilteredBasecallFrac" help="Somatic SNV calls are filtered at sites where greater than this fraction of basecalls have been removed by the mismatch density filter in either sample."/>
+    <param name="snvMaxSpanningDeletionFrac" type="float" value="0.75" label="snvMaxSpanningDeletionFrac" help="Somatic SNV calls are filtered at sites where greater than this fraction of overlapping reads contain deletions which span the SNV call site."/>
+    <param name="indelMaxRefRepeat" type="integer" value="8" label="indelMaxRefRepeat" help="Somatic indel calls are filtered if they represent an expansion or contraction of a repeated pattern with a repeat count greater than indelMaxRefRepeat in the reference (ie. if indelMaxRefRepeat is 8, then the indel is filtered when it is an expansion/contraction of a homopolymer longer than 8 bases, a dinucleotide repeat longer than 16 bases, etc.)"/>
+    <param name="indelMaxWindowFilteredBasecallFrac" type="float" value="0.3" label="indelMaxWindowFilteredBasecallFrac" help="Somatic indel calls are filtered if greater than this fraction of basecalls in a window extending 50 bases to each side of an indel's call position have been removed by the mismatch density filter."/>
+    <param name="indelMaxIntHpolLength" type="integer" value="14" label="indelMaxIntHpolLength" help="Somatic indels are filtered if they overlap ’interrupted homopolymers’ greater than this length. The term 'interrupted homopolymer' is used to indicate the longest homopolymer which can be found intersecting or adjacent to the called indel when a single non-homopolymer base is allowed."/>
+    <param name="maxInputDepth" type="integer" value="10000" label="maxInputDepth" help="strelka will not accept input reads above this depth (they will be skipped until the depth drops below this value). Set this value &lt;= 0 to disable this feature. Using this filter will bound memory usage given extremely high depth input, but may be problematic in high-depth targeted sequencing applications."/>
+    <expand macro="extraStrelkaArguments"/>
+  </macro>
+</macros>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macro_extraStrelkaArguments.xml	Thu Nov 27 10:31:58 2014 +0100
@@ -0,0 +1,30 @@
+<macros>
+  <macro name="extraStrelkaArguments">
+
+    <conditional name="extra_arguments">
+    <param name="extra_arguments_switch" type="select" label="Do you Want to add extraStrelkaArguments?">
+      <option value="No" selected="true">No</option>
+      <option value="Yes">Yes</option>
+    </param>
+    <when value="No">
+      <!-- do nothing -->
+    </when>
+    <when value="Yes">
+      <param name="a" type="boolean" value="" label="--ignore-conflicting-read-names" help="Do not report an error if two input reads share the same QNAME and read number"/>
+      <param name="b" type="boolean" value="" label="-used-allele-count-min-qscore"/>
+      <param name="barg" type="text" value="arg" label="-used-allele-count-min-qscore arg" help="Filter the allele counts printed to the somatic VCF output to correspond to bases with quality score >= arg"/>
+      <param name="c" type="boolean" value="" label="--candidate-indel-input-vcf"/>
+      <param name="carg" format="vcf.gz" type="data" value="indels.vcf.gz" label="--candidate-indel-input-vcf indels.vcf.gz" help="Add candidate indels from the specified vcf file. Option can be provided multiple times to combine evidence from multiple vcf files.Input Vcf files must be bgzip compressed and tabix indexed. Any vcf records besides simple indels should be ignored (in theory), although complex SVs/symbolic alleles have not been tested and may cause the method to fail.">
+        <!--<validator type="*.vcf.gz"/>-->
+      </param>
+      <param name="d" type="boolean" value="" label="--force-output-vcf"/>
+      <param name="darg" format="vcf.gz" type="data" value="variants.vcf.gz" label="--force-output-vcf variants.vcf.gz" help="For each SNV or indel in the vcf file, strelka will output an SNV or indel in the 'all.somatic.*.vc' files, even if the QSS_NT score is zero. This can be useful to extract depth and allele counts at sites across a series of samples.Input Vcf files must be bgzip compressed and tabix indexed. Any vcf records besides SNVs and simple indels should be ignored (in theory), although complex SVs/symbolic alleles have not been tested and may cause the method to fail.">
+        <!--<validator type="*.vcf.gz"/>-->
+      </param>
+      <param name="e" type="boolean" value="" label="-min-small-candidate-indel-read-frac"/>
+      <param name="earg" type="text" value="arg" label="-min-small-candidate-indel-read-frac arg" help="For small indels (no more than 4 bases), unless at least this fraction of intersecting reads contain the small indel in at least one sample, it cannot become a candidate for realignment and indel calling. A read is counted only if it passes the mapping score threshold. (default: 0.1)"/>
+    </when>
+    </conditional>
+    
+  </macro>
+</macros>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macro_help.xml	Thu Nov 27 10:31:58 2014 +0100
@@ -0,0 +1,56 @@
+<macros>
+  <macro name="help">
+    <help>
+  Strelka, a method for somatic SNV and small indel detection from sequencing data of matched tumor-normal samples. You can see more information at : https://sites.google.com/site/strelkasomaticvariantcaller.
+    </help>
+  </macro>
+</macros>
+	  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macro_inputs.xml	Thu Nov 27 10:31:58 2014 +0100
@@ -0,0 +1,33 @@
+<macros>
+  <import>macro_configuration.xml</import>
+  <macro name="inputs">
+    <inputs>
+      <param format="bam" name="tumorBam" type="data" label="Tumor bam file"/>
+      <param format="bam" name="normalBam" type="data" label="Normal bam file"/>
+      <conditional name="genomeSource">
+        <param name="refGenomeSource" type="select" label="Choose the reference genome">
+          <option value="cached">Built-in genome</option>
+          <option value="history">use a genome (fasta format) from history</option>
+        </param>
+        <when value="cached">
+          <param name="index" type="select" label="Select a built-in reference genome" help="This list contains genomes cached at this Galaxy instance. If your genome of interest is not present here request it by using 'Help' link at the top of Galaxy interface or use the 'Use a genome (fasta format) from my history' option of the 'Select Reference Genome' dropdown.">
+            <options from_data_table="all_fasta"/>
+          </param>
+        </when>
+        <when value="history">
+          <param format="fasta" name="ownFile" type="data" metadata_name="dbkey" label="Using reference file" help="This option works best for relatively small genomes. If you are working with large human-sized genomes, send request to Galaxy team for adding your reference to this Galaxy instance by using 'Help' link at the top of Galaxy interface."/>
+        </when>
+      </conditional>
+      
+      <expand macro="configuration"/>
+      
+      <param name="conf_file_check" type="boolean" label="output conf file" checked="False" help="Show configuration file on history"/>
+      <param name="output1_file_check" type="boolean" label="snvs filtred" checked="True" help="Show filtred snvs"/>     
+      <param name="output2_file_check" type="boolean" label="indels filtred" checked="True" help="Show filtred indels"/>
+      <param name="output3_file_check" type="boolean" label="all snvs" checked="True" help="Show snvs"/>
+      <param name="output4_file_check" type="boolean" label="all indels" checked="True" help="Show indels"/>
+      <param name="output5_file_check" type="boolean" label="Show normal realigned bam" help="only if isWriteRealignedBam option is checked" checked="False"/>
+      <param name="output6_file_check" type="boolean" label="Show tumor realigned bam" help="only if isWriteRealignedBam option is checked" checked="False"/>
+    </inputs>
+  </macro>
+</macros>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macro_main.xml	Thu Nov 27 10:31:58 2014 +0100
@@ -0,0 +1,76 @@
+<macros>
+  <macro name="main">
+    <description>Strelka</description>
+    <requirements>
+      <requirement type="set_environment">SCRIPT_PATH_STRELKA</requirement>
+      <requirement type="package" version="0.1.18">samtools</requirement>
+      <requirement type="package" version="0.1.11">vcftools</requirement>
+    </requirements>
+    <command interpreter="python">strelka_wrapper.py --tumorBam $tumorBam --normalBam $normalBam 
+	#silent sys.stderr.write("!!!! Cheetah Template Variables !!!!\n")
+	#for k,v in $searchList[2].items()
+	#silent   sys.stderr.write(" %s = %s\n" % (str(k), str(v) ))
+	#end for
+	#silent sys.stderr.write("!!!! end-of-list !!!!\n")     
+	#import string
+
+     --scriptPath				\$SCRIPT_PATH_STRELKA
+     #if $genomeSource.refGenomeSource == "history":
+      --refFile "${genomeSource.ownFile}"
+     #else:
+      --refFile "${genomeSource.index.fields.path}"
+     #end if   
+
+     #if $configuration.configuration_switch == 'Default for Bwa':
+    --configFile 				strelka_config_bwa_default.ini
+     #else if $configuration.configuration_switch == 'Default for Isaac':
+          --configFile				strelka_config_isaac_default.ini
+     #else if $configuration.configuration_switch == 'Default for Eland':
+          --configFile				strelka_config_eland_default.ini
+     #else if $configuration.configuration_switch == 'Path':
+          --configFile				$configuration.configFile
+     #else:
+          --configFile				Custom
+          --depthFilterMultiple 			$configuration.depthFilterMultiple
+          --snvMaxFilteredBasecallFrac		$configuration.snvMaxFilteredBasecallFrac
+          --snvMaxSpanningDeletionFrac 		$configuration.snvMaxSpanningDeletionFrac
+          --indelMaxRefRepeat			$configuration.indelMaxRefRepeat
+          --indelMaxWindowFilteredBasecallFrac	$configuration.indelMaxWindowFilteredBasecallFrac
+          --indelMaxIntHpolLength			$configuration.indelMaxIntHpolLength
+          --ssnvPrior				$configuration.ssnvPrior
+          --sindelPrior				$configuration.sindelPrior
+          --ssnvNoise				$configuration.ssnvNoise
+          --sindelNoise				$configuration.sindelNoise
+          --ssnvNoiseStrandBiasFrac		$configuration.ssnvNoiseStrandBiasFrac
+          --minTier1Mapq				$configuration.minTier1Mapq
+          --minTier2Mapq				$configuration.minTier2Mapq
+          --ssnvQuality_LowerBound		$configuration.ssnvQuality_LowerBound
+          --sindelQuality_LowerBound		$configuration.sindelQuality_LowerBound
+          --isWriteRealignedBam			$configuration.isWriteRealignedBam
+          --binSize 				$configuration.binSize
+          --isSkipDepthFilters			$configuration.isSkipDepthFilters
+          --maxInputDepth 			$configuration.maxInputDepth
+          #if $configuration.extra_arguments.extra_arguments_switch == 'Yes':
+            --extraStrelkaArguments 		yes
+            #if $configuration.extra_arguments.a:
+              -a
+            #end if
+            #if $configuration.extra_arguments.b:
+              -b $configuration.extra_arguments.barg
+            #end if
+            #if $configuration.extra_arguments.c:
+              -c $configuration.extra_arguments.carg
+            #end if
+            #if $configuration.extra_arguments.d:
+              -d $configuration.extra_arguments.darg
+            #end if
+            #if $configuration.extra_arguments.e:
+              -e $configuration.extra_arguments.earg
+            #end if
+        #end if
+     #end if
+          
+     </command>
+  </macro>
+</macros>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macro_outputs.xml	Thu Nov 27 10:31:58 2014 +0100
@@ -0,0 +1,27 @@
+<macros>
+  <macro name="outputs">
+    <outputs>
+      <data format="vcf" name="output1_vcf" label="${tool.name} on ${on_string}(passed.somatic.snvs.vcf)" from_work_dir="StrelkaAnalysis/results/passed.somatic.snvs.vcf">
+        <filter>output1_file_check == True</filter>
+      </data>
+      <data format="vcf" name="output2_vcf" label="${tool.name} on ${on_string}(passed.somatic.indels.vcf)" from_work_dir="StrelkaAnalysis/results/passed.somatic.indels.vcf">
+        <filter>output2_file_check == True</filter>
+      </data>
+      <data format="vcf" name="output3_vcf" label="${tool.name} on ${on_string}(all.somatic.snvs.vcf)" from_work_dir="StrelkaAnalysis/results/all.somatic.snvs.vcf">
+        <filter>output3_file_check == True</filter>
+      </data>
+      <data format="vcf" name="output4_vcf" label="${tool.name} on ${on_string}(all.somatic.indels.vcf)" from_work_dir="StrelkaAnalysis/results/all.somatic.indels.vcf">
+        <filter>output4_file_check == True</filter>
+      </data>
+      <data format="tabular" name="conf_file.ini" label="conf_file.ini" from_work_dir="StrelkaAnalysis/config.ini">
+        <filter>conf_file_check == True</filter>
+      </data>
+      <data format="bam" name="output5_bam" label="${tool.name} on ${on_string}(normal.realigned.bam)" from_work_dir="StrelkaAnalysis/realigned/normal.realigned.bam">
+        <filter>output5_file_check == True</filter>
+      </data>
+      <data format="bam" name="output6_bam" label="${tool.name} on ${on_string}(tumor.realigned.bam)" from_work_dir="StrelkaAnalysis/realigned/tumor.realigned.bam">
+        <filter>output6_file_check == True</filter>
+      </data>
+    </outputs>
+  </macro>
+</macros>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macro_tests.xml	Thu Nov 27 10:31:58 2014 +0100
@@ -0,0 +1,16 @@
+<macros>
+  <macro name="tests">
+    <tests>
+      <test>
+        <param name="normalBam" ftype="bam" value="NA12891_dupmark_chr20_region.bam"/>
+        <param name="tumorBam" ftype="bam" value="NA12892_dupmark_chr20_region.bam"/>
+        <param name="refFile" ftype="fasta" value="chr20_860k_only.fa"/>
+        <param name="configuration_switch" value="Default"/>
+        <output name="output1_vcf" file="passed.somatic.snvs.vcf"/>
+        <output name="output2_vcf" file="passed.somatic.indels.vcf"/>
+        <output name="output3_vcf" file="all.somatic.snvs.vcf"/>
+        <output name="output4_vcf" file="all.somatic.indels.vcf"/>
+      </test>
+    </tests>
+  </macro>
+</macros>
--- a/strelka.xml	Wed Oct 15 15:47:03 2014 +0200
+++ b/strelka.xml	Thu Nov 27 10:31:58 2014 +0100
@@ -1,172 +1,24 @@
-<tool id="strelka" name="Strelka" version="1.0.1">
-  <!-- Made by Gregoire Seguin-Henry for geviteam in 2014 -->
-  <description>Strelka</description>
-  <requirements>
-    <requirement type="set_environment">SCRIPT_PATH_STRELKA</requirement>
-    <requirement type="package" version="0.1.18">samtools</requirement>
-    <requirement type="package" version="0.1.11">vcftools</requirement>
-  </requirements>
-  <command interpreter="python">strelka_wrapper.py --tumorBam $tumorBam --normalBam $normalBam 
-   #if $genomeSource.refGenomeSource == "history":
-  	--refFile "${genomeSource.ownFile}"
-   #else:
-  	--refFile "${genomeSource.index.fields.path}"
-   #end if   
+
 
-   #if $configuration.configuration_switch == 'Default for Bwa':
-	--configFile 				strelka_config_bwa_default.ini
-   #else if $configuration.configuration_switch == 'Default for Isaac':
-        --configFile				strelka_config_isaac_default.ini
-   #else if $configuration.configuration_switch == 'Default for Eland':
-        --configFile				strelka_config_eland_default.ini
-   #else if $configuration.configuration_switch == 'Path':
-        --configFile				$configuration.configFile
-   #else:
-        --configFile				Custom
-        --depthFilterMultiple 			$configuration.depthFilterMultiple
-        --snvMaxFilteredBasecallFrac		$configuration.snvMaxFilteredBasecallFrac
-        --snvMaxSpanningDeletionFrac 		$configuration.snvMaxSpanningDeletionFrac
-        --indelMaxRefRepeat			$configuration.indelMaxRefRepeat
-        --indelMaxWindowFilteredBasecallFrac	$configuration.indelMaxWindowFilteredBasecallFrac
-        --indelMaxIntHpolLength			$configuration.indelMaxIntHpolLength
-        --ssnvPrior				$configuration.ssnvPrior
-        --sindelPrior				$configuration.sindelPrior
-        --ssnvNoise				$configuration.ssnvNoise
-        --sindelNoise				$configuration.sindelNoise
-        --ssnvNoiseStrandBiasFrac		$configuration.ssnvNoiseStrandBiasFrac
-        --minTier1Mapq				$configuration.minTier1Mapq
-        --minTier2Mapq				$configuration.minTier2Mapq
-        --ssnvQuality_LowerBound		$configuration.ssnvQuality_LowerBound
-        --sindelQuality_LowerBound		$configuration.sindelQuality_LowerBound
-        --isWriteRealignedBam			$configuration.isWriteRealignedBam
-        --binSize 				$configuration.binSize
-        --isSkipDepthFilters			$configuration.isSkipDepthFilters
-        --maxInputDepth 			$configuration.maxInputDepth
-        #if $configuration.extra_arguments.extra_arguments_switch == 'Yes':
-	      --extraStrelkaArguments 		    $configuration.extra_arguments.extraStrelkaArguments
-        #end if
-   #end if
-        --scriptPath				\$SCRIPT_PATH_STRELKA
-   </command>
-
-   <inputs>
-	<param format="bam" name="tumorBam" type="data" label="Tumor bam file"/>
-        <param format="bam" name="normalBam" type="data" label="Normal bam file"/>
 
-    <conditional name="genomeSource">
-      <param name="refGenomeSource" type="select" label="Choose the reference genome">
-      	<option value="cached">Built-in genome</option>
-	<option value="history">use a genome (fasta format) from history</option>
-      </param>
-      <when value="cached">
-	<param name="index" type="select" label="Select a built-in reference genome" help="This list contains genomes cached at this Galaxy instance. If your genome of interest is not present here request it by using 'Help' link at the top of Galaxy interface or use the 'Use a genome (fasta format) from my history' option of the 'Select Reference Genome' dropdown.">
-	  <options from_data_table="all_fasta"/>
-	</param>
-      </when>
-      <when value="history">
-        <param format="fasta" name="ownFile" type="data" metadata_name="dbkey" label="Using reference file" help="This option works best for relatively small genomes. If you are working with large human-sized genomes, send request to Galaxy team for adding your reference to this Galaxy instance by using 'Help' link at the top of Galaxy interface."/>
-      </when>
-    </conditional>
-    <conditional name="configuration">
-      <param name="configuration_switch" type="select" label="how do you want to configure strelka">
-        <option value="Default for Bwa" selected="true">Default for Bwa</option>
-        <option value="Default for Eland">Default for Eland</option>
-        <option value="Default for Isaac">Default for Isaac</option>
-	<option value="Path">Use a config file</option>
-        <option value="Custom">Custom</option>
-      </param>
-      <when value="Default">
-        <!-- do nothing -->
-      </when>
-      <when value="Path">
-        <param format="ini" name="configFile" type="data" label="config file"/>
-      </when>
-      <when value="Custom">
-        <param name="binSize" type="integer" value="25000000" label="binSize" help="Jobs are parallelized over segments of the reference genome no larger than this size:"/>
-        <param name="minTier1Mapq" type="integer" value="20" min="0" max="40" help="between 0 and 40, minimum MAPQ score for PE reads at tier1:" label="minTier1Mapq" />
-        <param name="minTier2Mapq" type="integer" value="5" min="0" max="5" help="between 0 and 5, minimum MAPQ score for PE and SE reads at tier2:" label="minTier2Mapq" />
-        <param name="isWriteRealignedBam" type="boolean" checked="false" truevalue="1" falsevalue="0" label="isWriteRealignedBam" help="Optionally write out read alignments which were altered during the realignment step. At the completion of the workflow run, the realigned reads can be found in:"/>
-        <param name="ssnvPrior" type="float" value="0.000001" label="ssnvPrior" help="prior probability of a somatic snv or indel"/>
-        <param name="sindelPrior" type="float" value="0.000001" label="sindelPrior" help="prior probability of a somatic snv or indel"/>
-        <param name="ssnvNoise" type="float" value="0.0000005" label="ssnvNoise" help="probability of an snv or indel noise allele NB: in the calling model a noise allele is shared in tumor and normal samples, but occurs at any frequency."/>
-        <param name="sindelNoise" type="float" value="0.000001" label="sindelNoise" help="probability of an snv or indel noise allele NB: in the calling model a noise allele is shared in tumor and normal samples, but occurs at any frequency."/>
-        <param name="ssnvNoiseStrandBiasFrac" type="float" value="0.5" label="ssnvNoiseStrandBiasFrac" help="Fraction of snv noise attributed to strand-bias. It is not recommended to change this setting. However, if it is essential to turn the strand bias penalization off, the following is recommended: Assuming the current value of ssnvNoiseStrandBiasFrac is 0.5,
- (1) set ssnvNoiseStrandBiasFrac = 0
- (2) divide the current ssnvNoise value by 2"/>
-        <param name="ssnvQuality_LowerBound" type="integer" value="15" label="ssnvQuality_LowerBound" help="Somatic quality score (QSS_NT, NT=ref) below which somatic SNVs are marked as filtered:"/>
-        <param name="sindelQuality_LowerBound" type="integer" value="30" label="sindelQuality_LowerBound" help="Somatic quality score (QSI_NT, NT=ref) below which somatic indels are marked as filtered:"/>
-        <param name="isSkipDepthFilters" type="integer" value="1" label="isSkipDepthFilters" help="isSkipDepthFilters should be set to 1 to skip depth filtration for whole exome or other targeted sequencing data"/>
-        <param name="depthFilterMultiple" type="float" value="3.0" label="depthFilterMultiple" help="If the depth filter is not skipped, all variants which occur at a depth greater than depthFilterMultiple*chromosome mean depth will be filtered out."/>
-        <param name="snvMaxFilteredBasecallFrac" type="float" value="0.4" label="snvMaxFilteredBasecallFrac" help="Somatic SNV calls are filtered at sites where greater than this fraction of basecalls have been removed by the mismatch density filter in either sample."/>
-        <param name="snvMaxSpanningDeletionFrac" type="float" value="0.75" label="snvMaxSpanningDeletionFrac" help="Somatic SNV calls are filtered at sites where greater than this fraction of overlapping reads contain deletions which span the SNV call site."/>
-        <param name="indelMaxRefRepeat" type="integer" value="8" label="indelMaxRefRepeat" help="Somatic indel calls are filtered if they represent an expansion or contraction of a repeated pattern with a repeat count greater than indelMaxRefRepeat in the reference (ie. if indelMaxRefRepeat is 8, then the indel is filtered when it is an expansion/contraction of a homopolymer longer than 8 bases, a dinucleotide repeat longer than 16 bases, etc.)"/>
-        <param name="indelMaxWindowFilteredBasecallFrac" type="float" value="0.3" label="indelMaxWindowFilteredBasecallFrac" help="Somatic indel calls are filtered if greater than this fraction of basecalls in a window extending 50 bases to each side of an indel's call position have been removed by the mismatch density filter."/>
-        <param name="indelMaxIntHpolLength" type="integer" value="14" label="indelMaxIntHpolLength" help="Somatic indels are filtered if they overlap ’interrupted homopolymers’ greater than this length. The term 'interrupted homopolymer' is used to indicate the longest homopolymer which can be found intersecting or adjacent to the called indel when a single non-homopolymer base is allowed."/>
-        <param name="maxInputDepth" type="integer" value="10000" label="maxInputDepth" help="strelka will not accept input reads above this depth (they will be skipped until the depth drops below this value). Set this value &lt;= 0 to disable this feature. Using this filter will bound memory usage given extremely high depth input, but may be problematic in high-depth targeted sequencing applications."/>
-        <conditional name="extra_arguments">
-	  <param name="extra_arguments_switch" type="select" label="Do you Want to add extraStrelkaArguments?">
-            <option value="No" selected="true">No</option>
-            <option value="Yes">Yes</option>
-          </param>
-          <when value="No">
-            <!-- do nothing -->
-          </when>
-          <when value="Yes"> 
-	    <param name="extraStrelkaArguments" type="text" value="" label="extraStrelkaArguments" help="Additional arguments passed to strelka."/>
-          </when>
-        </conditional>
-      </when>
-    </conditional>  
-      <param name="conf_file_check" type="boolean" label="output conf file" checked="False" help="Show configuration file on history"/>
-      <param name="output1_file_check" type="boolean" label="passed snvs(filtred)" checked="True" help="Show filtred snvs"/>     
-      <param name="output2_file_check" type="boolean" label="passed indels(filtred)" checked="True" help="Show filtred indels"/>
-      <param name="output3_file_check" type="boolean" label="all snvs" checked="True" help="Show snvs"/>
-      <param name="output4_file_check" type="boolean" label="all indels" checked="True" help="Show indels"/>
-      <param name="output5_file_check" type="boolean" label="Show normal realigned bam" help="only if isWriteRealignedBam option is checked" checked="False"/>
-      <param name="output6_file_check" type="boolean" label="Show tumor realigned bam" help="only if isWriteRealignedBam option is checked" checked="False"/>
-
-  </inputs>
-
-  <outputs>
-    <data format="vcf" name="output1_vcf" label="${tool.name} on ${on_string}(passed.somatic.snvs.vcf)" from_work_dir="StrelkaAnalysis/results/passed.somatic.snvs.vcf">
-      <filter>output1_file_check == True</filter>
-    </data>
-    <data format="vcf" name="output2_vcf" label="${tool.name} on ${on_string}(passed.somatic.indels.vcf)" from_work_dir="StrelkaAnalysis/results/passed.somatic.indels.vcf">
-      <filter>output2_file_check == True</filter>
-    </data>
-    <data format="vcf" name="output3_vcf" label="${tool.name} on ${on_string}(all.somatic.snvs.vcf)" from_work_dir="StrelkaAnalysis/results/all.somatic.snvs.vcf">
-      <filter>output3_file_check == True</filter>
-    </data>
-    <data format="vcf" name="output4_vcf" label="${tool.name} on ${on_string}(all.somatic.indels.vcf)" from_work_dir="StrelkaAnalysis/results/all.somatic.indels.vcf">
-      <filter>output4_file_check == True</filter>
-    </data>
-    <data format="tabular" name="conf_file.ini" label="conf_file.ini" from_work_dir="StrelkaAnalysis/config.ini">
-      <filter>conf_file_check == True</filter>
-    </data>
-    <data format="bam" name="output5_bam" label="${tool.name} on ${on_string}(normal.realigned.bam)" from_work_dir="StrelkaAnalysis/realigned/normal.realigned.bam">
-      <filter>output5_file_check == True</filter>
-    </data>
-    <data format="bam" name="output6_bam" label="${tool.name} on ${on_string}(tumor.realigned.bam)" from_work_dir="StrelkaAnalysis/realigned/tumor.realigned.bam">
-      <filter>output6_file_check == True</filter>
-    </data>
-  </outputs>
-
-  <tests>
-    <test>
-      <param name="normalBam" ftype="bam" value="NA12891_dupmark_chr20_region.bam"/>
-      <param name="tumorBam" ftype="bam" value="NA12892_dupmark_chr20_region.bam"/>
-      <param name="refFile" ftype="fasta" value="chr20_860k_only.fa"/>
-      <param name="configuration_switch" value="Default"/>
-      <output name="output1_vcf" file="passed.somatic.snvs.vcf"/>
-      <output name="output2_vcf" file="passed.somatic.indels.vcf"/>
-      <output name="output3_vcf" file="all.somatic.snvs.vcf"/>
-      <output name="output4_vcf" file="all.somatic.indels.vcf"/>
-    </test>
-  </tests>
-
-  <help>
-Strelka, a method for somatic SNV and small indel detection from sequencing data of matched tumor-normal samples.
-You can see more information at : https://sites.google.com/site/strelkasomaticvariantcaller.
-  </help>
-
+<tool id="strelka" name="Strelka" version="1.0.1">
+  <!-- Made by Gregoire Seguin-Henry for geviteam in 2014 -->
+  
+  <macros>
+    <import>macro_main.xml</import>
+    <import>macro_inputs.xml</import>
+     <!--<import>macro_configuration.xml</import>
+    <import>macro_customConfiguration.xml</import>
+    <import>macro_extraStrelkaArguments.xml</import>-->
+    <import>macro_outputs.xml</import>
+    <import>macro_tests.xml</import>
+    <import>macro_help.xml</import>
+  </macros>
+  
+  <expand macro="main"/>
+  <expand macro="inputs"/>
+  <expand macro="outputs"/>
+  <expand macro="tests"/>
+  <expand macro="help"/>
+  
 </tool>
--- a/strelka_wrapper.py	Wed Oct 15 15:47:03 2014 +0200
+++ b/strelka_wrapper.py	Thu Nov 27 10:31:58 2014 +0100
@@ -20,9 +20,23 @@
 def _create_config(args, config_path):
     conf_file = open(config_path, "w")
     conf_file.write("[user]\n")
-    for option in args:
-        if not option in ["tumorBam", "normalBam", "refFile", "configFile", "scriptPath"] and args[option]!=None:
-    	    conf_file.write("%s=%s\n" % (option, args[option]))
+    args2 = vars(args)
+    for option in args2:
+        if not option in ["tumorBam", "normalBam", "refFile", "configFile", "scriptPath", "a", "b", "c", "d", "e", "extraStrelkaArguments"] and args2[option]!=None:
+	    conf_file.write("%s=%s\n" % (option, args2[option]))
+    if args.extraStrelkaArguments == "yes":
+    	conf_file.write("extraStrelkaArguments=")
+   	if args.a:
+            conf_file.write("--ignore-conflicting-read-names ")
+    	if args.b != None:
+            conf_file.write("-used-allele-count-min-qscore %s " % (args.b))
+    	if args.c != None:
+            conf_file.write("--candidate-indel-input-vcf %s " % (args.c))
+    	if args.d != None:
+            conf_file.write("--force-output-vcf %s " % (args.d))
+    	if args.e != None:
+            conf_file.write("-min-small-candidate-indel-read-frac %s " % (args.e))
+    	conf_file.write("\n")
     conf_file.close()
 
 def my_Popen(cmd, prefix_for_stderr_name, tmp_dir, msg_error):
@@ -60,10 +74,10 @@
     #Manage options
     print(os.environ['PATH'])
     parser = argparse.ArgumentParser()                                             
-    parser.add_argument( '-t', '--tumorBam', help='path to tumor bam file', required = False )
-    parser.add_argument( '-n', '--normalBam', help='', required = False )   
-    parser.add_argument( '-r', '--refFile', help='', required = False )
-    parser.add_argument( '-c', '--configFile', help='', required = False )
+    parser.add_argument( '--tumorBam', help='path to tumor bam file', required = False )
+    parser.add_argument( '--normalBam', help='', required = False )   
+    parser.add_argument( '--refFile', help='', required = False )
+    parser.add_argument( '--configFile', help='', required = False )
     parser.add_argument( '--depthFilterMultiple', help='', required = False )
     parser.add_argument( '--snvMaxFilteredBasecallFrac', help='', required = False )
     parser.add_argument( '--snvMaxSpanningDeletionFrac', help='', required = False )
@@ -85,6 +99,11 @@
     parser.add_argument( '--isSkipDepthFilters', help='', required = False )
     parser.add_argument( '--maxInputDepth', help='', required = False )
     parser.add_argument( '--scriptPath', help='', required = False )
+    parser.add_argument( '-a', action="store_true", help='', required = False )
+    parser.add_argument( '-b', help='', required = False )
+    parser.add_argument( '-c', help='', required = False )
+    parser.add_argument( '-d', help='', required = False )
+    parser.add_argument( '-e', help='', required = False )
     args = parser.parse_args()
 
     root_dir= args.scriptPath
@@ -114,7 +133,7 @@
     
     #creating config file if needed
     if args.configFile == "Custom":
-    	_create_config(vars(args), config_ini)
+    	_create_config(args, config_ini)
     elif args.configFile in ["strelka_config_bwa_default.ini", "strelka_config_isaac_default.ini", "strelka_config_eland_default.ini"]:
         cmdbash="cp %s %s" % (root_dir + "/lib/" + args.configFile, config_ini)
         my_Popen(cmdbash, "copy_default_file_err", tmp_dir, "Error during the copy of default config file, maybe it was removed")
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/strelkarecovery.xml	Thu Nov 27 10:31:58 2014 +0100
@@ -0,0 +1,208 @@
+<tool id="strelka" name="Strelka" version="1.0.1">
+  <!-- Made by Gregoire Seguin-Henry for geviteam in 2014 -->
+  <description>Strelka</description>
+  <requirements>
+    <requirement type="set_environment">SCRIPT_PATH_STRELKA</requirement>
+    <requirement type="package" version="0.1.18">samtools</requirement>
+    <requirement type="package" version="0.1.11">vcftools</requirement>
+  </requirements>
+  <command interpreter="python">strelka_wrapper.py --tumorBam $tumorBam --normalBam $normalBam 
+   --scriptPath				\$SCRIPT_PATH_STRELKA
+   #if $genomeSource.refGenomeSource == "history":
+  	--refFile "${genomeSource.ownFile}"
+   #else:
+  	--refFile "${genomeSource.index.fields.path}"
+   #end if   
+
+   #if $configuration.configuration_switch == 'Default for Bwa':
+	--configFile 				strelka_config_bwa_default.ini
+   #else if $configuration.configuration_switch == 'Default for Isaac':
+        --configFile				strelka_config_isaac_default.ini
+   #else if $configuration.configuration_switch == 'Default for Eland':
+        --configFile				strelka_config_eland_default.ini
+   #else if $configuration.configuration_switch == 'Path':
+        --configFile				$configuration.configFile
+   #else:
+        --configFile				Custom
+        --depthFilterMultiple 			$configuration.depthFilterMultiple
+        --snvMaxFilteredBasecallFrac		$configuration.snvMaxFilteredBasecallFrac
+        --snvMaxSpanningDeletionFrac 		$configuration.snvMaxSpanningDeletionFrac
+        --indelMaxRefRepeat			$configuration.indelMaxRefRepeat
+        --indelMaxWindowFilteredBasecallFrac	$configuration.indelMaxWindowFilteredBasecallFrac
+        --indelMaxIntHpolLength			$configuration.indelMaxIntHpolLength
+        --ssnvPrior				$configuration.ssnvPrior
+        --sindelPrior				$configuration.sindelPrior
+        --ssnvNoise				$configuration.ssnvNoise
+        --sindelNoise				$configuration.sindelNoise
+        --ssnvNoiseStrandBiasFrac		$configuration.ssnvNoiseStrandBiasFrac
+        --minTier1Mapq				$configuration.minTier1Mapq
+        --minTier2Mapq				$configuration.minTier2Mapq
+        --ssnvQuality_LowerBound		$configuration.ssnvQuality_LowerBound
+        --sindelQuality_LowerBound		$configuration.sindelQuality_LowerBound
+        --isWriteRealignedBam			$configuration.isWriteRealignedBam
+        --binSize 				$configuration.binSize
+        --isSkipDepthFilters			$configuration.isSkipDepthFilters
+        --maxInputDepth 			$configuration.maxInputDepth
+        #if $configuration.extra_arguments.extra_arguments_switch == 'Yes':
+	      --extraStrelkaArguments 		yes
+	      #if $configuration.extra_arguments.a:
+		-a
+	      #end if
+	      #if 'b' in $configuration.extra_arguments.extraArgumentsChoice.extra_choice:
+        	-b $configuration.extra_arguments.extraArgumentsChoice.b
+       	      #end if
+	      #if 'c' in $configuration.extra_arguments.extraArgumentsChoice.extra_choice:
+		-c $configuration.extra_arguments.extraArgumentsChoice.c
+	      #end if
+	      #if 'd' in $configuration.extra_arguments.extraArgumentsChoice.extra_choice:
+		-d $configuration.extra_arguments.extraArgumentsChoice.d
+	      #end if
+	      #if 'e' in $configuration.extra_arguments.extraArgumentsChoice.extra_choice:
+ 		-e $configuration.extra_arguments.extraArgumentsChoice.e
+ 	      #end if
+        #end if
+   #end if
+        
+   </command>
+
+   <inputs>
+	<param format="bam" name="tumorBam" type="data" label="Tumor bam file"/>
+        <param format="bam" name="normalBam" type="data" label="Normal bam file"/>
+
+    <conditional name="genomeSource">
+      <param name="refGenomeSource" type="select" label="Choose the reference genome">
+      	<option value="cached">Built-in genome</option>
+	<option value="history">use a genome (fasta format) from history</option>
+      </param>
+      <when value="cached">
+	<param name="index" type="select" label="Select a built-in reference genome" help="This list contains genomes cached at this Galaxy instance. If your genome of interest is not present here request it by using 'Help' link at the top of Galaxy interface or use the 'Use a genome (fasta format) from my history' option of the 'Select Reference Genome' dropdown.">
+	  <options from_data_table="all_fasta"/>
+	</param>
+      </when>
+      <when value="history">
+        <param format="fasta" name="ownFile" type="data" metadata_name="dbkey" label="Using reference file" help="This option works best for relatively small genomes. If you are working with large human-sized genomes, send request to Galaxy team for adding your reference to this Galaxy instance by using 'Help' link at the top of Galaxy interface."/>
+      </when>
+    </conditional>
+    <conditional name="configuration">
+      <param name="configuration_switch" type="select" label="how do you want to configure strelka">
+        <option value="Default for Bwa" selected="true">Default for Bwa</option>
+        <option value="Default for Eland">Default for Eland</option>
+        <option value="Default for Isaac">Default for Isaac</option>
+	<option value="Path">Use a config file</option>
+        <option value="Custom">Custom</option>
+      </param>
+      <when value="Default">
+        <!-- do nothing -->
+      </when>
+      <when value="Path">
+        <param format="ini" name="configFile" type="data" label="config file"/>
+      </when>
+      <when value="Custom">
+        <param name="binSize" type="integer" value="25000000" label="binSize" help="Jobs are parallelized over segments of the reference genome no larger than this size:"/>
+        <param name="minTier1Mapq" type="integer" value="20" min="0" max="40" help="between 0 and 40, minimum MAPQ score for PE reads at tier1:" label="minTier1Mapq" />
+        <param name="minTier2Mapq" type="integer" value="5" min="0" max="5" help="between 0 and 5, minimum MAPQ score for PE and SE reads at tier2:" label="minTier2Mapq" />
+        <param name="isWriteRealignedBam" type="boolean" checked="false" truevalue="1" falsevalue="0" label="isWriteRealignedBam" help="Optionally write out read alignments which were altered during the realignment step. At the completion of the workflow run, the realigned reads can be found in:"/>
+        <param name="ssnvPrior" type="float" value="0.000001" label="ssnvPrior" help="prior probability of a somatic snv or indel"/>
+        <param name="sindelPrior" type="float" value="0.000001" label="sindelPrior" help="prior probability of a somatic snv or indel"/>
+        <param name="ssnvNoise" type="float" value="0.0000005" label="ssnvNoise" help="probability of an snv or indel noise allele NB: in the calling model a noise allele is shared in tumor and normal samples, but occurs at any frequency."/>
+        <param name="sindelNoise" type="float" value="0.000001" label="sindelNoise" help="probability of an snv or indel noise allele NB: in the calling model a noise allele is shared in tumor and normal samples, but occurs at any frequency."/>
+        <param name="ssnvNoiseStrandBiasFrac" type="float" value="0.5" label="ssnvNoiseStrandBiasFrac" help="Fraction of snv noise attributed to strand-bias. It is not recommended to change this setting. However, if it is essential to turn the strand bias penalization off, the following is recommended: Assuming the current value of ssnvNoiseStrandBiasFrac is 0.5,
+ (1) set ssnvNoiseStrandBiasFrac = 0
+ (2) divide the current ssnvNoise value by 2"/>
+        <param name="ssnvQuality_LowerBound" type="integer" value="15" label="ssnvQuality_LowerBound" help="Somatic quality score (QSS_NT, NT=ref) below which somatic SNVs are marked as filtered:"/>
+        <param name="sindelQuality_LowerBound" type="integer" value="30" label="sindelQuality_LowerBound" help="Somatic quality score (QSI_NT, NT=ref) below which somatic indels are marked as filtered:"/>
+        <param name="isSkipDepthFilters" type="integer" value="1" label="isSkipDepthFilters" help="isSkipDepthFilters should be set to 1 to skip depth filtration for whole exome or other targeted sequencing data"/>
+        <param name="depthFilterMultiple" type="float" value="3.0" label="depthFilterMultiple" help="If the depth filter is not skipped, all variants which occur at a depth greater than depthFilterMultiple*chromosome mean depth will be filtered out."/>
+        <param name="snvMaxFilteredBasecallFrac" type="float" value="0.4" label="snvMaxFilteredBasecallFrac" help="Somatic SNV calls are filtered at sites where greater than this fraction of basecalls have been removed by the mismatch density filter in either sample."/>
+        <param name="snvMaxSpanningDeletionFrac" type="float" value="0.75" label="snvMaxSpanningDeletionFrac" help="Somatic SNV calls are filtered at sites where greater than this fraction of overlapping reads contain deletions which span the SNV call site."/>
+        <param name="indelMaxRefRepeat" type="integer" value="8" label="indelMaxRefRepeat" help="Somatic indel calls are filtered if they represent an expansion or contraction of a repeated pattern with a repeat count greater than indelMaxRefRepeat in the reference (ie. if indelMaxRefRepeat is 8, then the indel is filtered when it is an expansion/contraction of a homopolymer longer than 8 bases, a dinucleotide repeat longer than 16 bases, etc.)"/>
+        <param name="indelMaxWindowFilteredBasecallFrac" type="float" value="0.3" label="indelMaxWindowFilteredBasecallFrac" help="Somatic indel calls are filtered if greater than this fraction of basecalls in a window extending 50 bases to each side of an indel's call position have been removed by the mismatch density filter."/>
+        <param name="indelMaxIntHpolLength" type="integer" value="14" label="indelMaxIntHpolLength" help="Somatic indels are filtered if they overlap ’interrupted homopolymers’ greater than this length. The term 'interrupted homopolymer' is used to indicate the longest homopolymer which can be found intersecting or adjacent to the called indel when a single non-homopolymer base is allowed."/>
+        <param name="maxInputDepth" type="integer" value="10000" label="maxInputDepth" help="strelka will not accept input reads above this depth (they will be skipped until the depth drops below this value). Set this value &lt;= 0 to disable this feature. Using this filter will bound memory usage given extremely high depth input, but may be problematic in high-depth targeted sequencing applications."/>
+        <conditional name="extra_arguments">
+	  <param name="extra_arguments_switch" type="select" label="Do you Want to add extraStrelkaArguments?">
+            <option value="No" selected="true">No</option>
+            <option value="Yes">Yes</option>
+          </param>
+          <when value="No">
+            <!-- do nothing -->
+          </when>
+          <when value="Yes"> 
+	    <param name="a" type="boolean" value="" label="--ignore-conflicting-read-names" help="Do not report an error if two input reads share the same QNAME and read number"/>
+	    <conditional name="extraArgumentsChoice">
+		<param name="extra_choice" type="select" multiple="true" label="choice">
+		    <option value="b" selected="true">-used-allele-count-min-qscore</option>
+		    <option value="c">--candidate-indel-input-vcf</option>
+		    <option value="d">--force-output-vcf</option>
+		    <option value="e">-min-small-candidate-indel-read-frac</option>
+		</param>
+	  	<when value="b">
+	    	    <param name="b" type="text" value="arg" label="-used-allele-count-min-qscore arg" help="Filter the allele counts printed to the somatic VCF output to correspond to bases with quality score >= arg"/>
+		</when>
+		<when value="c">
+		    <param name="c" type="text" value="indels.vcf.gz" label="--candidate-indel-input-vcf indels.vcf.gz" help="Add candidate indels from the specified vcf file. Option can be provided multiple times to combine evidence from multiple vcf files.Input Vcf files must be bgzip compressed and tabix indexed. Any vcf records besides simple indels should be ignored (in theory), although complex SVs/symbolic alleles have not been tested and may cause the method to fail."/>
+		</when>
+		<when value="d">
+		    <param name="d" type="text" value="variants.vcf.gz" label="--force-output-vcf variants.vcf.gz" help="For each SNV or indel in the vcf file, strelka will output an SNV or indel in the 'all.somatic.*.vc' files, even if the QSS_NT score is zero. This can be useful to extract depth and allele counts at sites across a series of samples.Input Vcf files must be bgzip compressed and tabix indexed. Any vcf records besides SNVs and simple indels should be ignored (in theory), although complex SVs/symbolic alleles have not been tested and may cause the method to fail."/>
+		</when>
+		<when value="e">
+		    <param name="e" type="text" value="arg" label="-min-small-candidate-indel-read-frac arg" help="For small indels (no more than 4 bases), unless at least this fraction of intersecting reads contain the small indel in at least one sample, it cannot become a candidate for realignment and indel calling. A read is counted only if it passes the mapping score threshold. (default: 0.1)"/>
+		</when>
+	     </conditional>
+          </when>
+        </conditional>
+      </when>
+    </conditional>  
+      <param name="conf_file_check" type="boolean" label="output conf file" checked="False" help="Show configuration file on history"/>
+      <param name="output1_file_check" type="boolean" label="passed snvs(filtred)" checked="True" help="Show filtred snvs"/>     
+      <param name="output2_file_check" type="boolean" label="passed indels(filtred)" checked="True" help="Show filtred indels"/>
+      <param name="output3_file_check" type="boolean" label="all snvs" checked="True" help="Show snvs"/>
+      <param name="output4_file_check" type="boolean" label="all indels" checked="True" help="Show indels"/>
+      <param name="output5_file_check" type="boolean" label="Show normal realigned bam" help="only if isWriteRealignedBam option is checked" checked="False"/>
+      <param name="output6_file_check" type="boolean" label="Show tumor realigned bam" help="only if isWriteRealignedBam option is checked" checked="False"/>
+
+  </inputs>
+
+  <outputs>
+    <data format="vcf" name="output1_vcf" label="${tool.name} on ${on_string}(passed.somatic.snvs.vcf)" from_work_dir="StrelkaAnalysis/results/passed.somatic.snvs.vcf">
+      <filter>output1_file_check == True</filter>
+    </data>
+    <data format="vcf" name="output2_vcf" label="${tool.name} on ${on_string}(passed.somatic.indels.vcf)" from_work_dir="StrelkaAnalysis/results/passed.somatic.indels.vcf">
+      <filter>output2_file_check == True</filter>
+    </data>
+    <data format="vcf" name="output3_vcf" label="${tool.name} on ${on_string}(all.somatic.snvs.vcf)" from_work_dir="StrelkaAnalysis/results/all.somatic.snvs.vcf">
+      <filter>output3_file_check == True</filter>
+    </data>
+    <data format="vcf" name="output4_vcf" label="${tool.name} on ${on_string}(all.somatic.indels.vcf)" from_work_dir="StrelkaAnalysis/results/all.somatic.indels.vcf">
+      <filter>output4_file_check == True</filter>
+    </data>
+    <data format="tabular" name="conf_file.ini" label="conf_file.ini" from_work_dir="StrelkaAnalysis/config.ini">
+      <filter>conf_file_check == True</filter>
+    </data>
+    <data format="bam" name="output5_bam" label="${tool.name} on ${on_string}(normal.realigned.bam)" from_work_dir="StrelkaAnalysis/realigned/normal.realigned.bam">
+      <filter>output5_file_check == True</filter>
+    </data>
+    <data format="bam" name="output6_bam" label="${tool.name} on ${on_string}(tumor.realigned.bam)" from_work_dir="StrelkaAnalysis/realigned/tumor.realigned.bam">
+      <filter>output6_file_check == True</filter>
+    </data>
+  </outputs>
+
+  <tests>
+    <test>
+      <param name="normalBam" ftype="bam" value="NA12891_dupmark_chr20_region.bam"/>
+      <param name="tumorBam" ftype="bam" value="NA12892_dupmark_chr20_region.bam"/>
+      <param name="refFile" ftype="fasta" value="chr20_860k_only.fa"/>
+      <param name="configuration_switch" value="Default"/>
+      <output name="output1_vcf" file="passed.somatic.snvs.vcf"/>
+      <output name="output2_vcf" file="passed.somatic.indels.vcf"/>
+      <output name="output3_vcf" file="all.somatic.snvs.vcf"/>
+      <output name="output4_vcf" file="all.somatic.indels.vcf"/>
+    </test>
+  </tests>
+
+  <help>
+Strelka, a method for somatic SNV and small indel detection from sequencing data of matched tumor-normal samples.
+You can see more information at : https://sites.google.com/site/strelkasomaticvariantcaller.
+  </help>
+
+</tool>