changeset 0:0cc081cd3992 draft

Uploaded
author elixir-it
date Thu, 28 Jun 2018 05:58:45 -0400
parents
children fbfc333f3eec
files mutect2.xml
diffstat 1 files changed, 312 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mutect2.xml	Thu Jun 28 05:58:45 2018 -0400
@@ -0,0 +1,312 @@
+ <tool id="mutect2" name="MuTect2" version="3.8">
+  <description>somatic SNP and indel caller</description>
+  <macros>
+    <import>mutect2_macros_add_loc.xml</import>
+  </macros>
+  <requirements>
+    <requirement type="package" version="3.8" >gatk</requirement>
+    <requirement type="package" version="2.7.1" >picard</requirement>
+    <requirement type="package" version="1.7" >samtools</requirement>
+  </requirements>
+  <command>
+    <![CDATA[
+      ##creation of .bai the -@ option is used to allocate additional threads
+      samtools index -@ \${GALAXY_SLOTS:-4} $input1 &&
+      samtools index -@ \${GALAXY_SLOTS:-4} $input2 &&
+
+      ## TODO creation of symlinks because mutect2 want the extensions of the file
+      ln -s $input1 tumor.bam &&
+      ln -s $input2 normal.bam &&
+      ln -s $input1".bai" tumor.bam.bai &&
+      ln -s $input2".bai" normal.bam.bai &&
+      #if $reference_source == "history"
+      ln -s $reference genome.fa &&
+      ln -s $reference".fai" genome.fa.fai
+      #end if
+      #if $list
+      ln -s $list position.bed &&
+      #end if
+      #if $dbSNP
+      ln -s $dbSNP dbSNP.vcf &&
+      #end if
+      #if $cosmic
+      ln -s $cosmic cosmic.vcf &&
+      #end if
+      #if $alleles
+      ln -s $alleles alleles.vcf
+      #end if
+
+      ##TODO creation of .dict file of the genome required by mutect2 to run
+      #if $reference_source == "history"
+      java -jar \$CONDA_DEFAULT_ENV/share/picard-2.7.1-2/picard.jar CreateSequenceDictionary R= genome.fa O= genome.dict 2>$log
+      #end if
+
+      ##TODO gatk-register take the GenomeAnalysisTK-3.8-0-ge9d806836.tar.bz2 unzip it
+      ##and move the .jar file to \$CONDA_DEFAULT_ENV/opt/gatk-3.8/ then the mutect2 command is runned
+      gatk3-register \$_CONDA_DIR/../GenomeAnalysisTK-3.8-0-ge9d806836.tar.bz2 2>$log ;
+      java -jar \$CONDA_DEFAULT_ENV/opt/gatk-3.8/GenomeAnalysisTK.jar -nct \${GALAXY_SLOTS:-4} -T MuTect2 -I:tumor tumor.bam  -I:normal normal.bam  -o $output
+      #if $reference_source == "history"
+      -R genome.fa
+      #else
+      -R $reference_source.ref_file.fields.path
+      #end if
+      ## TODO advanced inputs section if the optional inputs are present their options are added to the command
+        #if $dbSNP
+        --dbsnp dbSNP.vcf
+        #end if
+        #if $cosmic
+      --cosmic cosmic.vcf
+        #end if
+        #if $list
+      -L position.bed
+        #end if
+        #if $alleles
+        --alleles alleles.vcf
+        #end if
+
+      ##TODO advanced options section if the options inputs are different from the default value the option is added to the command
+
+      #if str($advanced.advanced_parameters) =="show":
+        #if $advanced.heterozygosity != "0.001"
+          --heterozygosity  $advanced.heterozygosity
+        #end if
+        #if $advanced.heterozygosity_stdev != "0.01"
+          --heterozygosity_stdev $advanced.heterozygosity_stdev
+        #end if
+        #if  $advanced.indel_heterozygosity != "1.25E-4"
+        --indel_heterozygosity $advanced.indel_heterozygosity
+        #end if
+        #if $advanced.initial_normal_lod != "0.5"
+          --initial_normal_lod $advanced.initial_normal_lod
+        #end if
+        #if $advanced.initial_tumor_lod != "4.0"
+          --initial_tumor_lod $advanced.initial_tumor_lod
+        #end if
+        #if $advanced.max_alt_allele_in_normal_fraction != "0.03"
+          --max_alt_allele_in_normal_fraction $advanced.max_alt_allele_in_normal_fraction
+        #end if
+        #if $advanced.max_alt_alleles_in_normal_count != "1"
+          --max_alt_alleles_in_normal_count $advanced.max_alt_alleles_in_normal_count
+        #end if
+        #if $advanced.max_alt_alleles_in_normal_qscore_sum != "20"
+          --max_alt_alleles_in_normal_qscore_sum $advanced.max_alt_alleles_in_normal_qscore_sum
+        #end if
+        #if $advanced.maxReadsInRegionPerSample != "1000"
+          --maxReadsInRegionPerSample $advanced.maxReadsInRegionPerSample
+        #end if
+        #if $advanced.min_base_quality_score != "10"
+          --min_base_quality_score $advanced.min_base_quality_score
+        #end if
+        #if $advanced.minReadsPerAlignmentStart != "5"
+          --minReadsPerAlignmentStart $advanced.minReadsPerAlignmentStart
+        #end if
+        #if $advanced.normal_lod != "2.2"
+          --normal_lod $advanced.normal_lod
+        #end if
+        #if $advanced.pir_mad_threshold != "3.0"
+          --pir_mad_threshold $advanced.pir_mad_threshold
+        #end if
+        #if $advanced.pir_median_threshold != "10.0"
+          --pir_median_threshold $advanced.pir_median_threshold
+        #end if
+        #if $advanced.power_constant_qscore != "30"
+          --power_constant_qscore $advanced.power_constant_qscore
+        #end if
+        #if $advanced.sample_ploidy != "2"
+          --sample_ploidy $advanced.sample_ploidy
+        #end if
+        #if $advanced.standard_min_confidence_threshold_for_calling != "10.0"
+          --standard_min_confidence_threshold_for_calling $advanced.standard_min_confidence_threshold_for_calling
+        #end if
+        #if $advanced.tumor_lod != "6.3"
+          --tumor_lod $advanced.tumor_lod
+        #end if
+        #if $advanced.contamination_fraction_to_filter != "0.0"
+          --contamination_fraction_to_filter $contamination_fraction_to_filter
+        #end if
+        #if $advanced.dbsnp_normal_lod != "5.5"
+          --dbsnp_normal_lod $dbsnp_normal_lod
+        #end if
+        #if $advanced.debug_read_name != ""
+         --debug_read_name $debug_read_name
+        #end if
+        #if $advanced.genotyping_mode != "DISCOVERY"
+          --genotyping_mode $genotyping_mode
+        #end if
+        #if $advanced.group
+      --group  $advanced.group
+        #end if
+      #end if
+
+      ##TODO output section --> if the option string == "yes" the optional output is added
+        #if str($optional_out1.outFile1) =="yes"
+          --activeRegionOut $activeRegionOut_output
+        #end if
+        #if str($optional_out2.outFile2) =="yes"
+          --activityProfileOut $activityProfileOut_output
+        #end if
+        #if str($optional_out3.outFile3) =="yes"
+          --graphOutput $graphOutput_output
+        #end if
+        #if str($optional_out4.outFile4) =="yes"
+          --bamOutput $bamOutput_output
+        #end if
+      ##TODO the standard error is redirected to the log file
+      2> $log
+                  ]]></command>
+  <inputs>
+    <expand macro="reference_loc"/>
+    <param format="bam" name="input1" type="data" label="tumor bam" help="bamfile"/>
+    <param format="bam" name="input2" type="data" label="normal bam" help="bamfile"/>
+    <param format="vcf" name="dbSNP" type="data" optional="true" label="dbsnp file.vcf" help="vcf file"/>
+    <param format="vcf" name="cosmic" type="data" optional="true" label="cosmic file.vcf" help="vcf file"/>
+    <param format="bed" name="list" type="data" optional="true" label="position list" help="bed file"/>
+    <param format="vcf" name="alleles" type="data" optional="true" label="set of alleles use in genotyping" help="vcf file"/>
+    <conditional name="advanced">
+      <param name="advanced_parameters" type="select" label="advanced_parameters">
+        <option value="hide" selected="true">Hide</option>
+        <option value="show">Show</option>
+      </param>
+      <when value="hide"/>
+      <when value="show">
+        <param name="heterozygosity" type="float" optional="true" value="0.001"  help="Heterozygosity value used to compute prior likelihoods for any locus" />
+	      <param name="heterozygosity_stdev" type="float" optional="true" value="0.01" help="Standard deviation of eterozygosity for SNP and indel calling"/>
+        <param name="indel_heterozygosity" type="text" value="1.25E-4" optional="true"  help="Heterozygosity for indel calling" />
+        <param name="initial_normal_lod" type="float" optional="true" value="0.5" help="Initial LOD threshold for calling normal variant"  />
+        <param name="initial_tumor_lod" type="float" optional="true" value="4.0"  help="Initial LOD threshold for calling tumor variant" />
+        <param name="max_alt_allele_in_normal_fraction" type="float" optional="true" value="0.03"  help="Threshold for maximum alternate allele fraction in normal" />
+        <param name="max_alt_alleles_in_normal_count" type="text" optional="true" value="1" help="Threshold for maximum alternate allele counts in normal"  />
+        <param name="max_alt_alleles_in_normal_qscore_sum" type="text" optional="true" value="20"  help="Threshold for maximum alternate allele quality score sum in normal" />
+        <param name="maxReadsInRegionPerSample" type="text" optional="true" value="1000"  help="Maximum reads in an active region" />
+        <param name="min_base_quality_score" type="text" size="2" optional="true" value="10"  help="Minimum base quality required to consider a base for calling" />
+        <param name="minReadsPerAlignmentStart" type="text" optional="true" value="5"  help="Minimum number of reads sharing the same alignment start for each genomic location in an active region" />
+        <param name="normal_lod" type="float" optional="true" value="2.2"  help="LOD threshold for calling normal non-germline" />
+        <param name="pir_mad_threshold" type="float" optional="true" value="3.0" help="threshold for clustered read position artifact MAD"  />
+        <param name="pir_median_threshold" type="float" optional="true" value="10.0" help="threshold for clustered read position artifact median"  />
+        <param name="power_constant_qscore" type="text" optional="true" value="30" help="Phred scale quality score constant to use in power calculations"  />
+        <param name="sample_ploidy" type="text" optional="true" value="2"  help="ploidy per sample" />
+        <param name="standard_min_confidence_threshold_for_calling" type="float" optional="true" value="10.0"  help="The minimum phred-scaled confidence threshold at which variants should be called" />
+        <param name="tumor_lod" type="float" optional="true" value="6.3"  help="LOD threshold for calling tumor variant" />
+        <param name="contamination_fraction_to_filter" type="float" optional="true" value="0.0"  help="Fraction of contamination to aggressively remove" />
+        <param name="dbsnp_normal_lod" type="float" optional="true" value="5.5" help="LOD threshold for calling normal non-variant at dbsnp sites"  />
+        <param name="debug_read_name" type="text" optional="true" value="" help="trace this read name through the calling process"  />
+        <param name="genotyping_mode" type="select" optional="true" help="Specifies how to determine the alternate alleles to use for genotyping"  >
+          <option value="DISCOVERY" selected="true">DISCOVERY</option>
+          <option value="GENOTYPE_GIVEN_ALLELES">GENOTYPE_GIVEN_ALLELES</option>
+        </param>
+        <param name="group" type="text"  optional="true" help="one or more classes, groups of annotation to apply to variant call" />
+      </when>
+    </conditional>
+    <conditional name="optional_out1">
+      <param name="outFile1" type="select" label="activeRegionOut">
+        <option value="no" selected="true">no</option>
+        <option value="yes">yes</option>
+      </param>
+      <when value="no"/>
+      <when value="yes"/>
+    </conditional>
+    <conditional name="optional_out2">
+      <param name="outFile2" type="select" label="activityprofileOut">
+        <option value="no" selected="true">no</option>
+        <option value="yes">yes</option>
+      </param>
+      <when value="no"/>
+      <when value="yes"/>
+    </conditional>
+    <conditional name="optional_out3">
+      <param name="outFile3" type="select" label="graphOutput">
+        <option value="no" selected="true">no</option>
+        <option value="yes">yes</option>
+      </param>
+      <when value="no"/>
+      <when value="yes"/>
+    </conditional>
+    <conditional name="optional_out4">
+      <param name="outFile4" type="select" label="Bamoutput">
+        <option value="no" selected="true">no</option>
+        <option value="yes">yes</option>
+      </param>
+      <when value="no"/>
+      <when value="yes"/>
+    </conditional>
+  </inputs>
+  <outputs>
+    <data format="vcf" name="output" label="${tool.name} on ${on_string}"/>
+    <data format="txt" name="log" label="${tool.name} on ${on_string} :log"/>
+    <data format="txt" name="activeRegionOut_output" optional="true" label="${tool.name} on ${on_string} :activeRegionOut">
+      <filter>optional_out1['outFile1'] == 'yes'</filter>
+    </data>
+    <data format="txt" name="activityProfileOut_output" label="${tool.name} on ${on_string} :activityProfileOut">
+      <filter>optional_out2['outFile2'] == 'yes'</filter>
+    </data>
+    <data format="txt" name="graphOutput_output" label="${tool.name} on ${on_string} :graphOutput">
+      <filter>optional_out3['outFile3'] == 'yes'</filter>
+    </data>
+    <data format="txt" name="bamOutput_output" label="${tool.name} on ${on_string} :bamOutput">
+      <filter>optional_out4['outFile4'] == 'yes'</filter>
+    </data>
+  </outputs>
+  <tests>
+      <test>
+	<conditional name="reference_source">
+          <param name="reference_source_selector" value="history"/>
+          <param name="ref_file" value="test_fasta.fa"/>
+          </conditional>
+          <param name="input1" value="mutect2_test_tumoral2.bam" />
+          <param name="input2" value="mutect2_test_normal2.bam" />
+      </test>
+  </tests>
+  <help>
+    **IMPORTANT** to get the wrapper ready to start the admin user have to download gatk GATK 3.8-0-ge9d806836 from the broadinstitute site https://software.broadinstitute.org/gatk/download/archive and then move it in the conda_prefix folder
+    the path of the conda_prefix is written in the galaxy.ini(or .yml) file
+
+    MuTect2 is a somatic SNP and indel caller that combines the DREAM challenge-winning somatic genotyping engine of the original MuTect (Cibulskis et al., 2013) with the assembly-based machinery of HaplotypeCaller.
+    Galaxy wrapper for MuTect2 implements most but not all options available through the command line. Supported options are described below.
+
+       **Optional Inputs**
+
+          + --alleles none Set of alleles to use in genotyping
+          + --cosmic [] VCF file of COSMIC sites
+          + --dbsnp none dbSNP file
+          + --activityProfileOut NA Output the raw activity profile results in IGV format
+          + --graphOutput NA Write debug assembly graph information to this file
+
+       **Optional Parameters**
+
+          + --contamination_fraction_to_filter 0.0 Fraction of contamination to aggressively remove
+          + --dbsnp_normal_lod 5.5 LOD threshold for calling normal non-variant at dbsnp sites
+          + --debug_read_name NA trace this read name through the calling process
+          + --genotyping_mode DISCOVERY Specifies how to determine the alternate alleles to use for genotyping
+          + --group [] One or more classes/groups of annotations to apply to variant calls
+          + --heterozygosity 0.001 Heterozygosity value used to compute prior likelihoods for any locus
+          + --heterozygosity_stdev 0.01 Standard deviation of eterozygosity for SNP and indel calling
+          + --indel_heterozygosity 1.25E-4 Heterozygosity for indel calling
+          + --initial_normal_lod 0.5 Initial LOD threshold for calling normal variant
+          + --initial_tumor_lod 4.0 Initial LOD threshold for calling tumor variant
+          + --max_alt_allele_in_normal_fraction 0.03 Threshold for maximum alternate allele fraction in normal
+          + --max_alt_alleles_in_normal_count 1 Threshold for maximum alternate allele counts in normal
+          + --max_alt_alleles_in_normal_qscore_sum 20 Threshold for maximum alternate allele quality score sum in normal
+          + --maxReadsInRegionPerSample 1000 Maximum reads in an active region
+          + --min_base_quality_score 10 Minimum base quality required to consider a base for calling
+          + --minReadsPerAlignmentStart 5 Minimum number of reads sharing the same alignment start for each genomic location in an active region
+          + --normal_lod 2.2 LOD threshold for calling normal non-germline
+          + --pir_mad_threshold 3.0 threshold for clustered read position artifact MAD
+          + --pir_median_threshold 10.0 threshold for clustered read position artifact median
+          + --power_constant_qscore 30 Phred scale quality score constant to use in power calculations
+          + --sample_ploidy 2 Ploidy per sample. For pooled data, set to (Number of samples in each pool * Sample Ploidy).
+          + --standard_min_confidence_threshold_for_calling 10.0 The minimum phred-scaled confidence threshold at which variants should be called
+          + --tumor_lod 6.3 LOD threshold for calling tumor variant
+
+       **Advanced Outputs**
+
+          + --bamOutput
+          + --activeRegionOut
+          + --activityProfileOut
+          + --graphOutput
+
+    more information at https://software.broadinstitute.org/gatk/documentation/tooldocs/3.8-0/org_broadinstitute_gatk_tools_walkers_cancer_m2_MuTect2.php
+    </help>
+    <citations>
+      <citation type="doi">10.1038/nbt.2514</citation>
+    </citations>
+</tool>