view strelka.xml @ 19:bddc6981a6a7

change version
author mini
date Wed, 15 Oct 2014 15:30:28 +0200
parents 3c10d88b55ad
children 1c8dcda28be7
line wrap: on
line source

<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>