4
|
1 <tool id="gatk2_unified_genotyper" name="Unified Genotyper" version="@VERSION@.0">
|
0
|
2 <description>SNP and indel caller</description>
|
|
3 <expand macro="requirements" />
|
|
4 <macros>
|
|
5 <import>gatk2_macros.xml</import>
|
|
6 </macros>
|
|
7 <command interpreter="python">
|
|
8 gatk2_wrapper.py
|
|
9 --stdout "${output_log}"
|
|
10 #for $i, $input_bam in enumerate( $reference_source.input_bams ):
|
|
11 -d "-I" "${input_bam.input_bam}" "${input_bam.input_bam.ext}" "gatk_input_${i}"
|
|
12 #if str( $input_bam.input_bam.metadata.bam_index ) != "None":
|
|
13 -d "" "${input_bam.input_bam.metadata.bam_index}" "bam_index" "gatk_input_${i}" ##hardcode galaxy ext type as bam_index
|
|
14 #end if
|
|
15 #end for
|
|
16 -p '
|
|
17 @JAR_PATH@
|
|
18 -T "UnifiedGenotyper"
|
|
19 @THREADS@
|
|
20 --out "${output_vcf}"
|
|
21 --metrics_file "${output_metrics}"
|
|
22 \$GATK2_SITE_OPTIONS
|
|
23
|
|
24 ## according to http://www.broadinstitute.org/gatk/guide/article?id=1975
|
3
|
25 --num_cpu_threads_per_data_thread 1
|
0
|
26
|
|
27 #if $reference_source.reference_source_selector != "history":
|
|
28 -R "${reference_source.ref_file.fields.path}"
|
|
29 #end if
|
|
30 --genotype_likelihoods_model "${genotype_likelihoods_model}"
|
|
31 --standard_min_confidence_threshold_for_calling "${standard_min_confidence_threshold_for_calling}"
|
|
32 --standard_min_confidence_threshold_for_emitting "${standard_min_confidence_threshold_for_emitting}"
|
|
33 '
|
2
|
34 @DBSNP_OPTIONS@
|
|
35
|
0
|
36 #include source=$standard_gatk_options#
|
|
37 ##start analysis specific options
|
|
38 #if $analysis_param_type.analysis_param_type_selector == "advanced":
|
|
39 -p '
|
|
40 --heterozygosity "${analysis_param_type.heterozygosity}"
|
|
41 --pcr_error_rate "${analysis_param_type.pcr_error_rate}"
|
|
42 --genotyping_mode "${analysis_param_type.genotyping_mode_type.genotyping_mode}"
|
|
43 #if str( $analysis_param_type.genotyping_mode_type.genotyping_mode ) == 'GENOTYPE_GIVEN_ALLELES':
|
|
44 --alleles "${analysis_param_type.genotyping_mode_type.input_alleles_rod}"
|
|
45 #end if
|
|
46 --output_mode "${analysis_param_type.output_mode}"
|
|
47 ${analysis_param_type.compute_SLOD}
|
|
48 --min_base_quality_score "${analysis_param_type.min_base_quality_score}"
|
|
49 --max_deletion_fraction "${analysis_param_type.max_deletion_fraction}"
|
|
50 --max_alternate_alleles "${analysis_param_type.max_alternate_alleles}"
|
|
51 --min_indel_count_for_genotyping "${analysis_param_type.min_indel_count_for_genotyping}"
|
|
52 --indel_heterozygosity "${analysis_param_type.indel_heterozygosity}"
|
|
53 --indelGapContinuationPenalty "${analysis_param_type.indelGapContinuationPenalty}"
|
|
54 --indelGapOpenPenalty "${analysis_param_type.indelGapOpenPenalty}"
|
|
55 --indelHaplotypeSize "${analysis_param_type.indelHaplotypeSize}"
|
|
56 ${analysis_param_type.doContextDependentGapPenalties}
|
|
57 #if str( $analysis_param_type.annotation ) != "None":
|
|
58 #for $annotation in str( $analysis_param_type.annotation.fields.gatk_value ).split( ','):
|
|
59 --annotation "${annotation}"
|
|
60 #end for
|
|
61 #end if
|
|
62 #for $additional_annotation in $analysis_param_type.additional_annotations:
|
|
63 --annotation "${additional_annotation.additional_annotation_name}"
|
|
64 #end for
|
|
65 #if str( $analysis_param_type.group ) != "None":
|
|
66 #for $group in str( $analysis_param_type.group ).split( ','):
|
|
67 --group "${group}"
|
|
68 #end for
|
|
69 #end if
|
|
70 #if str( $analysis_param_type.exclude_annotations ) != "None":
|
|
71 #for $annotation in str( $analysis_param_type.exclude_annotations.fields.gatk_value ).split( ','):
|
|
72 --excludeAnnotation "${annotation}"
|
|
73 #end for
|
|
74 #end if
|
|
75 #if str( $analysis_param_type.sample_ploidy ) != '':
|
|
76 --sample_ploidy "$analysis_param_type.sample_ploidy"
|
|
77 #end if
|
|
78 '
|
|
79 ## #if str( $analysis_param_type.snpEff_rod_bind_type.snpEff_rod_bind_type_selector ) == 'set_snpEff':
|
|
80 ## -p '--annotation "SnpEff"'
|
|
81 ## -d "--snpEffFile:${analysis_param_type.snpEff_rod_bind_type.snpEff_rod_name},%(file_type)s" "${analysis_param_type.snpEff_rod_bind_type.snpEff_input_rod}" "${analysis_param_type.snpEff_rod_bind_type.snpEff_input_rod.ext}" "input_snpEff_${analysis_param_type.snpEff_rod_bind_type.snpEff_rod_name}"
|
|
82 ## #else:
|
|
83 ## -p '--excludeAnnotation "SnpEff"'
|
|
84 ## #end if
|
|
85 #end if
|
|
86 </command>
|
|
87 <inputs>
|
|
88 <conditional name="reference_source">
|
|
89 <expand macro="reference_source_selector_param" />
|
|
90 <when value="cached">
|
|
91 <repeat name="input_bams" title="BAM file" min="1" help="-I,--input_file &lt;input_file&gt;">
|
|
92 <param name="input_bam" type="data" format="bam" label="BAM file">
|
|
93 <validator type="unspecified_build" />
|
|
94 <validator type="dataset_metadata_in_data_table" table_name="gatk2_picard_indexes" metadata_name="dbkey" metadata_column="dbkey" message="Sequences are not currently available for the specified build." /> <!-- fixme!!! this needs to be a select -->
|
|
95 </param>
|
|
96 </repeat>
|
|
97 <param name="ref_file" type="select" label="Using reference genome" help="-R,--reference_sequence &lt;reference_sequence&gt;">
|
|
98 <options from_data_table="gatk2_picard_indexes">
|
|
99 <!-- <filter type="data_meta" key="dbkey" ref="input_bam" column="dbkey"/> does not yet work in a repeat...-->
|
|
100 </options>
|
|
101 <validator type="no_options" message="A built-in reference genome is not available for the build associated with the selected input file"/>
|
|
102 </param>
|
|
103 </when>
|
|
104 <when value="history"> <!-- FIX ME!!!! -->
|
|
105 <repeat name="input_bams" title="BAM file" min="1" help="-I,--input_file &lt;input_file&gt;">
|
|
106 <param name="input_bam" type="data" format="bam" label="BAM file" >
|
|
107 </param>
|
|
108 </repeat>
|
|
109 <param name="ref_file" type="data" format="fasta" label="Using reference file" help="-R,--reference_sequence &lt;reference_sequence&gt;" />
|
|
110 </when>
|
|
111 </conditional>
|
2
|
112 <expand macro="dbsnp_param" />
|
0
|
113
|
|
114 <param name="genotype_likelihoods_model" type="select" label="Genotype likelihoods calculation model to employ" help="-glm,--genotype_likelihoods_model &lt;genotype_likelihoods_model&gt;">
|
|
115 <option value="BOTH" selected="True">BOTH</option>
|
|
116 <option value="SNP">SNP</option>
|
|
117 <option value="INDEL">INDEL</option>
|
|
118 </param>
|
|
119
|
|
120 <param name="standard_min_confidence_threshold_for_calling" type="float" value="30.0" label="The minimum phred-scaled confidence threshold at which variants not at 'trigger' track sites should be called" help="-stand_call_conf,--standard_min_confidence_threshold_for_calling &lt;standard_min_confidence_threshold_for_calling&gt;" />
|
|
121 <param name="standard_min_confidence_threshold_for_emitting" type="float" value="30.0" label="The minimum phred-scaled confidence threshold at which variants not at 'trigger' track sites should be emitted (and filtered if less than the calling threshold)" help="-stand_emit_conf,--standard_min_confidence_threshold_for_emitting &lt;standard_min_confidence_threshold_for_emitting&gt;" />
|
|
122
|
|
123
|
|
124 <expand macro="gatk_param_type_conditional" />
|
|
125
|
|
126 <expand macro="analysis_type_conditional">
|
|
127 <param name="heterozygosity" type="float" value="1e-3" label="Heterozygosity value used to compute prior likelihoods for any locus" help="-hets,--heterozygosity &lt;heterozygosity&gt;" />
|
|
128 <param name="pcr_error_rate" type="float" value="1e-4" label="The PCR error rate to be used for computing fragment-based likelihoods" help="-pcr_error,--pcr_error_rate &lt;pcr_error_rate&gt;" />
|
|
129 <conditional name="genotyping_mode_type">
|
|
130 <param name="genotyping_mode" type="select" label="How to determine the alternate allele to use for genotyping" help="-gt_mode,--genotyping_mode &lt;genotyping_mode&gt;">
|
|
131 <option value="DISCOVERY" selected="True">DISCOVERY</option>
|
|
132 <option value="GENOTYPE_GIVEN_ALLELES">GENOTYPE_GIVEN_ALLELES</option>
|
|
133 </param>
|
|
134 <when value="DISCOVERY">
|
|
135 <!-- Do nothing here -->
|
|
136 </when>
|
|
137 <when value="GENOTYPE_GIVEN_ALLELES">
|
|
138 <param name="input_alleles_rod" type="data" format="vcf" label="Alleles ROD file" help="-alleles,--alleles &lt;alleles&gt;" />
|
|
139 </when>
|
|
140 </conditional>
|
|
141 <param name="output_mode" type="select" label="Should we output confident genotypes (i.e. including ref calls) or just the variants?" help="-out_mode,--output_mode &lt;output_mode&gt;">
|
|
142 <option value="EMIT_VARIANTS_ONLY" selected="True">EMIT_VARIANTS_ONLY</option>
|
|
143 <option value="EMIT_ALL_CONFIDENT_SITES">EMIT_ALL_CONFIDENT_SITES</option>
|
|
144 <option value="EMIT_ALL_SITES">EMIT_ALL_SITES</option>
|
|
145 </param>
|
|
146 <param name="compute_SLOD" type="boolean" truevalue="--computeSLOD" falsevalue="" label="Compute the SLOD" help="--computeSLOD" />
|
|
147 <param name="min_base_quality_score" type="integer" value="17" label="Minimum base quality required to consider a base for calling" help="-mbq,--min_base_quality_score &lt;min_base_quality_score&gt;" />
|
|
148 <param name="max_deletion_fraction" type="float" value="0.05" label="Maximum fraction of reads with deletions spanning this locus for it to be callable" help="to disable, set to < 0 or > 1 (-deletions,--max_deletion_fraction &lt;max_deletion_fraction&gt;)" />
|
|
149 <param name="max_alternate_alleles" type="integer" value="6" label="Maximum number of alternate alleles to genotype" help="-maxAlleles,--max_alternate_alleles &lt;max_alternate_alleles&gt;" />
|
|
150 <param name="min_indel_count_for_genotyping" type="integer" value="5" label="Minimum number of consensus indels required to trigger genotyping run" help="-minIndelCnt,--min_indel_count_for_genotyping &lt;min_indel_count_for_genotyping&gt;" />
|
|
151 <param name="indel_heterozygosity" type="float" value="0.000125" label="Heterozygosity for indel calling" help="1.0/8000==0.000125 (-indelHeterozygosity,--indel_heterozygosity &lt;indel_heterozygosity&gt;)"/>
|
2
|
152 <param name="indelGapContinuationPenalty" type="integer" value="10" label="Indel gap continuation penalty" help="As Phred-scaled probability, i.e. 30 => 10^-30/10 (--indelGapContinuationPenalty)">
|
|
153 <validator type="in_range" message="value between 0 and 255" min="0" max="255" />
|
0
|
154 </param>
|
2
|
155 <param name="indelGapOpenPenalty" type="integer" value="45" label="Indel gap open penalty" help="As Phred-scaled probability, i.e. 30 => 10^-30/10 (--indelGapOpenPenalty)">
|
|
156 <validator type="in_range" message="value between 0 and 255" min="0" max="255" />
|
0
|
157 </param>
|
|
158 <!-- indelHaplotypeSize - Gone in GATK 2.4? -->
|
|
159 <param name="indelHaplotypeSize" type="integer" value="80" label="Indel haplotype size" help="--indelHaplotypeSize" />
|
|
160 <param name="doContextDependentGapPenalties" type="boolean" truevalue="--doContextDependentGapPenalties" falsevalue="" label="Vary gap penalties by context" help="--doContextDependentGapPenalties" />
|
|
161 <param name="annotation" type="select" multiple="True" display="checkboxes" label="Annotation Types" help="-A,--annotation &lt;annotation&gt;">
|
|
162 <!-- load the available annotations from an external configuration file, since additional ones can be added to local installs -->
|
|
163 <options from_data_table="gatk2_annotations">
|
|
164 <filter type="multiple_splitter" column="tools_valid_for" separator=","/>
|
|
165 <filter type="static_value" value="UnifiedGenotyper" column="tools_valid_for"/>
|
|
166 </options>
|
|
167 </param>
|
|
168 <repeat name="additional_annotations" title="Additional annotation" help="-A,--annotation &lt;annotation&gt;">
|
|
169 <param name="additional_annotation_name" type="text" value="" label="Annotation name" />
|
|
170 </repeat>
|
|
171 <!--
|
|
172 <conditional name="snpEff_rod_bind_type">
|
|
173 <param name="snpEff_rod_bind_type_selector" type="select" label="Provide a snpEff reference-ordered data file">
|
|
174 <option value="set_snpEff">Set snpEff</option>
|
|
175 <option value="exclude_snpEff" selected="True">Don't set snpEff</option>
|
|
176 </param>
|
|
177 <when value="exclude_snpEff">
|
|
178 </when>
|
|
179 <when value="set_snpEff">
|
|
180 <param name="snpEff_input_rod" type="data" format="vcf" label="ROD file" />
|
|
181 <param name="snpEff_rod_name" type="hidden" value="snpEff" label="ROD Name"/>
|
|
182 </when>
|
|
183 </conditional>
|
|
184 -->
|
|
185 <param name="group" type="select" multiple="True" display="checkboxes" label="Annotation Interfaces/Groups" help="-G,--group &lt;group&gt;">
|
|
186 <option value="RodRequiringAnnotation">RodRequiringAnnotation</option>
|
|
187 <option value="Standard">Standard</option>
|
|
188 <option value="Experimental">Experimental</option>
|
|
189 <option value="WorkInProgress">WorkInProgress</option>
|
|
190 <option value="RankSumTest">RankSumTest</option>
|
|
191 <!-- <option value="none">none</option> -->
|
|
192 </param>
|
|
193 <!-- <param name="family_string" type="text" value="" label="Family String"/> -->
|
|
194 <param name="exclude_annotations" type="select" multiple="True" display="checkboxes" label="Annotations to exclude" help="-XA,--excludeAnnotation &lt;excludeAnnotation&gt;" >
|
|
195 <!-- load the available annotations from an external configuration file, since additional ones can be added to local installs -->
|
|
196 <options from_data_table="gatk2_annotations">
|
|
197 <filter type="multiple_splitter" column="tools_valid_for" separator=","/>
|
|
198 <filter type="static_value" value="UnifiedGenotyper" column="tools_valid_for"/>
|
|
199 </options>
|
|
200 </param>
|
4
|
201 <param name="sample_ploidy" type="integer" value="2" label="Ploidy (number of chromosomes) per sample. For pooled data, set to (Number of samples in each pool * Sample Ploidy)" help="-ploidy,--sample_ploidy" />
|
0
|
202 </expand>
|
|
203 </inputs>
|
|
204 <outputs>
|
|
205 <data format="vcf" name="output_vcf" label="${tool.name} on ${on_string} (VCF)" />
|
|
206 <data format="txt" name="output_metrics" label="${tool.name} on ${on_string} (metrics)" />
|
|
207 <data format="txt" name="output_log" label="${tool.name} on ${on_string} (log)" />
|
|
208 </outputs>
|
|
209 <trackster_conf/>
|
|
210 <tests>
|
|
211 <test>
|
|
212 <param name="reference_source_selector" value="history" />
|
|
213 <param name="ref_file" value="phiX.fasta" ftype="fasta" />
|
|
214 <param name="input_bam" value="gatk/gatk_table_recalibration/gatk_table_recalibration_out_1.bam" ftype="bam" />
|
2
|
215 <param name="dbsnp_rod_bind_type_selector" value="set_dbsnp" />
|
|
216 <param name="dbsnp_input_rod" value="gatk/fake_phiX_variant_locations.vcf" ftype="vcf" />
|
|
217 <param name="dbsnp_rod_name" value="dbsnp" />
|
0
|
218 <param name="standard_min_confidence_threshold_for_calling" value="0" />
|
|
219 <param name="standard_min_confidence_threshold_for_emitting" value="4" />
|
|
220 <param name="gatk_param_type_selector" value="basic" />
|
|
221 <param name="analysis_param_type_selector" value="advanced" />
|
|
222 <param name="genotype_likelihoods_model" value="BOTH" />
|
|
223 <param name="heterozygosity" value="0.001" />
|
|
224 <param name="pcr_error_rate" value="0.0001" />
|
|
225 <param name="genotyping_mode" value="DISCOVERY" />
|
|
226 <param name="output_mode" value="EMIT_ALL_CONFIDENT_SITES" />
|
|
227 <param name="compute_SLOD" />
|
|
228 <param name="min_base_quality_score" value="17" />
|
|
229 <param name="max_deletion_fraction" value="-1" />
|
|
230 <param name="min_indel_count_for_genotyping" value="2" />
|
|
231 <param name="indel_heterozygosity" value="0.000125" />
|
|
232 <param name="indelGapContinuationPenalty" value="10" />
|
|
233 <param name="indelGapOpenPenalty" value="3" />
|
|
234 <param name="indelHaplotypeSize" value="80" />
|
|
235 <param name="doContextDependentGapPenalties" />
|
|
236 <!-- <param name="annotation" value="" />
|
|
237 <param name="group" value="" /> -->
|
|
238 <output name="output_vcf" file="gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.vcf" lines_diff="4" />
|
|
239 <output name="output_metrics" file="gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.metrics" />
|
|
240 <output name="output_log" file="gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.log.contains" compare="contains" />
|
|
241 </test>
|
|
242 </tests>
|
|
243 <help>
|
|
244 **What it does**
|
|
245
|
|
246 A variant caller which unifies the approaches of several disparate callers. Works for single-sample and multi-sample data. The user can choose from several different incorporated calculation models.
|
|
247
|
|
248 For more information on the GATK Unified Genotyper, see this `tool specific page <http://www.broadinstitute.org/gatk/gatkdocs/org_broadinstitute_sting_gatk_walkers_genotyper_UnifiedGenotyper.html>`_.
|
|
249
|
|
250 To learn about best practices for variant detection using GATK, see this `overview <http://www.broadinstitute.org/gatk/guide/topic?name=best-practices>`_.
|
|
251
|
|
252 If you encounter errors, please view the `GATK FAQ <http://www.broadinstitute.org/gatk/guide/topic?name=faqs>`_.
|
|
253
|
|
254 ------
|
|
255
|
|
256 **Inputs**
|
|
257
|
|
258 GenomeAnalysisTK: UnifiedGenotyper accepts an aligned BAM input file.
|
|
259
|
|
260
|
|
261 **Outputs**
|
|
262
|
|
263 The output is in VCF format.
|
|
264
|
|
265
|
|
266 Go `here <http://www.broadinstitute.org/gatk/guide/topic?name=intro>`_ for details on GATK file formats.
|
|
267
|
|
268 -------
|
|
269
|
|
270 **Settings**::
|
|
271
|
|
272 genotype_likelihoods_model Genotype likelihoods calculation model to employ -- BOTH is the default option, while INDEL is also available for calling indels and SNP is available for calling SNPs only (SNP|INDEL|BOTH)
|
|
273 heterozygosity Heterozygosity value used to compute prior likelihoods for any locus
|
|
274 pcr_error_rate The PCR error rate to be used for computing fragment-based likelihoods
|
|
275 genotyping_mode Should we output confident genotypes (i.e. including ref calls) or just the variants? (DISCOVERY|GENOTYPE_GIVEN_ALLELES)
|
|
276 output_mode Should we output confident genotypes (i.e. including ref calls) or just the variants? (EMIT_VARIANTS_ONLY|EMIT_ALL_CONFIDENT_SITES|EMIT_ALL_SITES)
|
|
277 standard_min_confidence_threshold_for_calling The minimum phred-scaled confidence threshold at which variants not at 'trigger' track sites should be called
|
|
278 standard_min_confidence_threshold_for_emitting The minimum phred-scaled confidence threshold at which variants not at 'trigger' track sites should be emitted (and filtered if less than the calling threshold)
|
|
279 noSLOD If provided, we will not calculate the SLOD
|
|
280 min_base_quality_score Minimum base quality required to consider a base for calling
|
|
281 max_deletion_fraction Maximum fraction of reads with deletions spanning this locus for it to be callable [to disable, set to < 0 or > 1; default:0.05]
|
|
282 min_indel_count_for_genotyping Minimum number of consensus indels required to trigger genotyping run
|
|
283 indel_heterozygosity Heterozygosity for indel calling
|
|
284 indelGapContinuationPenalty Indel gap continuation penalty
|
|
285 indelGapOpenPenalty Indel gap open penalty
|
|
286 indelHaplotypeSize Indel haplotype size
|
|
287 doContextDependentGapPenalties Vary gap penalties by context
|
|
288 indel_recal_file Filename for the input covariates table recalibration .csv file - EXPERIMENTAL, DO NO USE
|
|
289 indelDebug Output indel debug info
|
|
290 out File to which variants should be written
|
|
291 annotation One or more specific annotations to apply to variant calls
|
|
292 group One or more classes/groups of annotations to apply to variant calls
|
|
293
|
|
294 @CITATION_SECTION@
|
|
295 </help>
|
4
|
296 <expand macro="citations" />
|
0
|
297 </tool>
|