comparison strelka.xml @ 0:88141dfd5db1 draft

Uploaded
author morinlab
date Thu, 18 Aug 2016 19:34:55 -0400
parents
children 9c9f2706c5e1
comparison
equal deleted inserted replaced
-1:000000000000 0:88141dfd5db1
1 <tool id="strelka" name="Strelka" version="1.0.14">
2 <description>
3 detects somatic SNVs and small indels in tumour/normal pairs
4 </description>
5 <macros>
6 <import>citations.xml</import>
7 </macros>
8 <requirements>
9 <requirement type="set_environment">STRELKA_INSTALL_DIR</requirement>
10 <requirement type="set_environment">STRELKA_REPOSITORY_DIR</requirement>
11 </requirements>
12 <command detect_errors="aggressive">
13
14 <!-- LINK BAM INDEX -->
15 ln -s $normal normal.bam;
16 ln -s $normal.metadata.bam_index normal.bam.bai;
17 ln -s $tumour tumour.bam;
18 ln -s $tumour.metadata.bam_index tumour.bam.bai;
19
20 <!-- CREATE CONFIG FILE -->
21 touch config.ini;
22 #if #depthfilters == "genome":
23 echo "isSkipDepthFilters = 0" >> config.ini;
24 echo "maxInputDepth = 10000" >> config.ini;
25 echo "depthFilterMultiple = 3.0" >> config.ini;
26 #elif #depthfilters == "exome":
27 echo "isSkipDepthFilters = 1" >> config.ini;
28 echo "maxInputDepth = 10000" >> config.ini;
29 echo "depthFilterMultiple = 3.0" >> config.ini;
30 #elif #depthfilters == "targeted":
31 echo "isSkipDepthFilters = 1" >> config.ini;
32 echo "maxInputDepth = 10000" >> config.ini;
33 echo "depthFilterMultiple = 3.0" >> config.ini;
34 #else:
35 echo "isSkipDepthFilters = "$isSkipDepthFilters >> config.ini;
36 echo "maxInputDepth = "$maxInputDepth >> config.ini;
37 echo "depthFilterMultiple = "$depthFilterMultiple >> config.ini;
38 #end if
39 echo "snvMaxFilteredBasecallFrac = "$advancedsettings.snvMaxFilteredBasecallFrac >> config.ini;
40 echo "snvMaxSpanningDeletionFrac = "$advancedsettings.snvMaxSpanningDeletionFrac >> config.ini;
41 echo "indelMaxRefRepeat = "$advancedsettings.indelMaxRefRepeat >> config.ini;
42 echo "indelMaxWindowFilteredBasecallFrac = "$advancedsettings.indelMaxWindowFilteredBasecallFrac >> config.ini;
43 echo "indelMaxIntHpolLength = "$advancedsettings.indelMaxIntHpolLength >> config.ini;
44 echo "ssnvPrior = "$advancedsettings.ssnvPrior >> config.ini;
45 echo "sindelPrior = "$advancedsettings.sindelPrior >> config.ini;
46 echo "ssnvNoise = "$advancedsettings.ssnvNoise >> config.ini;
47 echo "sindelNoise = "$advancedsettings.sindelNoise >> config.ini;
48 echo "ssnvNoiseStrandBiasFrac = "$advancedsettings.ssnvNoiseStrandBiasFrac >> config.ini;
49 echo "minTier1Mapq = "$advancedsettings.minTier1Mapq >> config.ini;
50 echo "minTier2Mapq = "$advancedsettings.minTier2Mapq >> config.ini;
51 echo "ssnvQuality_LowerBound = "$advancedsettings.ssnvQuality_LowerBound >> config.ini;
52 echo "sindelQuality_LowerBound = "$advancedsettings.sindelQuality_LowerBound >> config.ini;
53 echo "isWriteRealignedBam = 0" >> config.ini;
54 echo "binSize = 25000000" >> config.ini;
55 echo "extraStrelkaArguments = " >> config.ini;
56
57 <!-- INDEX GENOME IF HISTORY -->
58 #if $reference_source == "history":
59 ln -s $reference_source.ref_file ref.fa;
60 samtools faidx ref.fa;
61 #end if
62
63 <!-- CREATE ORIGINAL STRELKA MAKEFILE -->
64 \$STRELKA_INSTALL_DIR/bin/configureStrelkaWorkflow.pl
65 --normal \$(pwd)/normal.bam
66 --tumor \$(pwd)/tumour.bam
67 #if $reference_source == "history":
68 --ref ref.fa
69 #else:
70 --ref ${reference_source.ref_file.fields.path}
71 #end if
72 --config \$(pwd)/config.ini
73
74 #if $interval_file
75
76 <!-- CREATE SUB-MAKEFILE IF PARALLELISM TURNED ON -->
77 cp ./strelkaAnalysis/Makefile ./;
78
79 \$REPOSITORY_STRELKA_DIR/parse_strelka_makefile.py
80 --makefile Makefile
81 --chrom \$(cat $interval_file | cut -f1)
82 --output ./strelkaAnalysis/Makefile;
83
84 #end if
85
86 <!-- RUN STRELKA -->
87 cd strelkaAnalysis;
88 make -j \${GALAXY_SLOTS:-1};
89
90 #if $interval_file
91
92 <!-- OUTPUT FOR PARALLEL OPTION - TO BE MERGED -->
93 cat ./chromosomes/\$(cat $interval_file | cut -f1)/all.somatic.snvs.vcf > $snvs;
94 cat ./chromosomes/\$(cat $interval_file | cut -f1)/all.somatic.indels.vcf > $indels;
95
96 #else
97
98 <!-- OUTPUT FOR NORMAL OPTION - ALREADY MERGED -->
99 cat ./results/all.somatic.snvs.vcf > $snvs;
100 cat ./results/all.somatic.indels.vcf > $indels;
101
102 #end if
103 </command>
104 <inputs>
105 <conditional name="reference_source">
106 <param label="Choose the source for the reference genome" name="reference_source_selector" type="select">
107 <option value="cached">Use a built-in genome</option>
108 <option value="history">Use a genome from the history</option>
109 </param>
110 <when value="cached">
111 <param label="Reference Genome File" name="ref_file" type="select" >
112 <options from_data_table="fasta_indexes" />
113 </param>
114 </when>
115 <when value="history">
116 <param label="Reference Genome File" name="ref_file" type="data" format="fasta" />
117 </when>
118 </conditional>
119 <param type="data" format="bam" name="normal" label="Normal Alignment File" />
120 <param type="data" format="bam" name="tumour" label="Tumour Alignment File" />
121 <param type="data" format="txt" optional="true" name="interval_file" label="Chromosomes" help="Restrict SNV calls to the following list of chromosomes (one per line)" />
122 <conditional type="depthfilters">
123 <param type="select" name="seqType" label="What Type of Sequencing?">
124 <option value="genome" selected="true">Whole Genome</option>
125 <option value="exome">Exome</option>
126 <option value="targeted">Targeted</option>
127 <option value="other">What are you hiding from me?</option>
128 </param>
129 <when value="other">
130 <param name="isSkipDepthFilters" type="boolean" label="Skip Reads Above Depth Threshold?" help="Should we skip reads if they exist above the chromosome average depth multiplied by the Depth Filter Multiple? Should only be true for Whole Genome Sequencing." checked="true" truevalue="0" falsevalue="1"/>
131 <param name="depthFilterMultiple" type="float" label="Depth Filter Multiple" value="3.0"/>
132 <param name="maxInputDepth" type="integer" label="Max Input Depth" value="10000" help="The upper bound on input depth to load into memory. This filter should not occur with Deep Targeted Sequencing but should occur with Exome or Whole Genome Sequencing. Set to 0 to turn off" min="0"/>
133 </when>
134 </conditional>
135 <section name="advancedsettings" title="Advanced Settings" expanded="False">
136 <param type="float" name="snvMaxFilteredBasecallFrac" value="0.4" label="SNV Max Filtered Basecall Fraction" help="Filter SNV calls when greater than this fraction of basecalls have been removed by a mismatch density filter in either sample."/>
137 <param type="float" name="snvMaxSpanningDeletionFrac" value="0.75" label="SNV Max Spanning Deletion Fraction" help="Filter SNV calls at sites where greater than this fraction of overlapping reads contain deletions which span the SNV call site."/>
138 <param type="integer" name="indelMaxRefRepeat" value="8" label="Indel Max Reference Homopolymer Length" help="Filter Indel calls if they represent an expansion or contraction of a repeated pattern with a repeat count greater than this value in the reference."/>
139 <param type="float" name="indelMaxWindowFilteredBasecallFrac" value="0.3" label="Indel Max Window Filtered Basecall Fraction" help="Filter Indel calls if greater than this fraction of basecalls in a window extending 50 bases to each side of the indel's call positions have been removed by the mismatch density filter."/>
140 <param type="integer" name="indelMaxIntHpolLength" value="14" label="Indel Max Interrupted Homopolymers Length" help="Filter Indel calls if the longest homopolymer which can be found intersecting or adjacent to the called indel when a single non-homopolymer base is allowed is greater than this length."/>
141 <param type="float" name="ssnvPrior" value="0.000001" label="SNV Prior Probability"/>
142 <param type="float" name="sindelPrior" value="0.000001" label="Indel Prior Probability"/>
143 <param type="float" name="ssnvNoise" value="0.0000005" label="SNV Noise Probability"/>
144 <param type="float" name="sindelNoise" value="0.000001" label="Indel Noise Probability"/>
145 <param type="float" name="ssnvNoiseStrandBiasFrac" value="0.5" label="SNV Noise Fraction Attributed to Strand Bias"/>
146 <param type="integer" name="minTier1Mapq" value="20" label="Min Tier1 Mapping Quality"/>
147 <param type="integer" name="minTier2Mapq" value="5" label="Min Tier2 Mapping Quality"/>
148 <param type="integer" name="ssnvQuality_LowerBound" value="15" label="SNV Quality Score Lower Bound"/>
149 <param type="integer" name="sindelQuality_LowerBound" value="30" label="Indel Quality Score Lower Bound"/>
150 </section>
151 </inputs>
152 <outputs>
153 <data format="vcf" name="snvs" label="Strelka SNVs"/>
154 <data format="vcf" name="indels" label="Strelka indels"/>
155 </outputs>
156 <tests>
157 <test>
158 <param name="normal" value="test.normal.bam"/>
159 <param name="tumour" value="test.tumour.bam"/>
160 <param name="reference_source" value="history"/>
161 <param name="ref_file" value="test.fa"/>
162 <output name="snvs" ftype="vcf" file="somatic.all.somatic.snvs.vcf" lines_diff="2"/>
163 <output name="indels" ftype="vcf" file="somatic.all.somatic.indels.vcf" lines_diff="2"/>
164 </test>
165 </tests>
166 <help>
167
168 This tool generates VCF files by calling Strelka, a Somatic Nucleotide Variant Caller, on Tumour Normal Pairs.
169
170 </help>
171 <citations>
172 <expand macro="morinlab_citation"/>
173 <expand macro="galaxy_citation"/>
174 <expand macro="strelka_citation"/>
175 </citations>
176 </tool>