0
|
1 <tool id="gatk_variant_annotator" name="Variant Annotator" version="0.0.5">
|
|
2 <description></description>
|
|
3 <requirements>
|
|
4 <requirement type="package" version="1.4">gatk</requirement>
|
|
5 <requirement type="package" version="0.1.18">samtools</requirement>
|
|
6 </requirements>
|
|
7 <macros>
|
|
8 <import>gatk_macros.xml</import>
|
|
9 </macros>
|
|
10 <command interpreter="python">gatk_wrapper.py
|
|
11 --max_jvm_heap_fraction "1"
|
|
12 --stdout "${output_log}"
|
|
13 #if str( $reference_source.input_bam ) != "None":
|
|
14 -d "-I" "${reference_source.input_bam}" "${reference_source.input_bam.ext}" "gatk_input"
|
|
15 #if str( $reference_source.input_bam.metadata.bam_index ) != "None":
|
|
16 -d "" "${reference_source.input_bam.metadata.bam_index}" "bam_index" "gatk_input" ##hardcode galaxy ext type as bam_index
|
|
17 #end if
|
|
18 #end if
|
|
19 -d "--variant" "${reference_source.input_variant}" "${reference_source.input_variant.ext}" "input_variant"
|
|
20 -p 'java
|
|
21 -jar "\$JAVA_JAR_PATH/GenomeAnalysisTK.jar"
|
|
22 ##--list
|
|
23 -T "VariantAnnotator"
|
|
24 ##--num_threads 4 ##hard coded, for now
|
|
25 -et "NO_ET" ##ET no phone home
|
|
26 ##-log "${output_log}" ##don't use this to log to file, instead directly capture stdout
|
|
27 #if $reference_source.reference_source_selector != "history":
|
|
28 -R "${reference_source.ref_file.fields.path}"
|
|
29 #end if
|
|
30 -o "${output_vcf}"
|
|
31 #if str( $annotations_type.annotations_type_selector ) == "use_all_annotations":
|
|
32 --useAllAnnotations
|
|
33 #else:
|
|
34 #if $annotations_type.annotations:
|
|
35 #for $annotation in str( $annotations_type.annotations.fields.gatk_value ).split( ',' ):
|
|
36 --annotation "${annotation}"
|
|
37 #end for
|
|
38 #end if
|
|
39 #end if
|
|
40 #if $exclude_annotations:
|
|
41 #for $annotation in str( $exclude_annotations.fields.gatk_value ).split( ',' ):
|
|
42 --excludeAnnotation "${annotation}"
|
|
43 #end for
|
|
44 #end if
|
|
45 #for $additional_annotation in $additional_annotations:
|
|
46 --annotation "${additional_annotation.additional_annotation_name}"
|
|
47 #end for
|
|
48 '
|
|
49 #if $reference_source.input_variant_bti:
|
|
50 -d "--intervals" "${reference_source.input_variant}" "${reference_source.input_variant.ext}" "input_variant_bti"
|
|
51 #end if
|
|
52
|
|
53 #for $rod_binding in $comp_rod_bind:
|
|
54 -d "--comp:${rod_binding.comp_rod_name},%(file_type)s" "${rod_binding.comp_input_rod}" "${rod_binding.comp_input_rod.ext}" "input_comp_${rod_binding.comp_rod_name}"
|
|
55 #end for
|
|
56
|
|
57 #if str( $dbsnp_rod_bind_type.dbsnp_rod_bind_type_selector ) == 'set_dbsnp':
|
|
58 -d "--dbsnp:${dbsnp_rod_bind_type.dbsnp_rod_name},%(file_type)s" "${dbsnp_rod_bind_type.dbsnp_input_rod}" "${dbsnp_rod_bind_type.dbsnp_input_rod.ext}" "input_dbsnp_${dbsnp_rod_bind_type.dbsnp_rod_name}"
|
|
59 #end if
|
|
60
|
|
61
|
|
62 #for $rod_binding in $resource_rod_bind:
|
|
63 -d "--resource:${rod_binding.resource_rod_name},%(file_type)s" "${rod_binding.resource_input_rod}" "${rod_binding.resource_input_rod.ext}" "input_resource_${rod_binding.resource_rod_name}"
|
|
64 #end for
|
|
65
|
|
66 #if str( $snpEff_rod_bind_type.snpEff_rod_bind_type_selector ) == 'set_snpEff':
|
|
67 -p '--annotation "SnpEff"'
|
|
68 -d "--snpEffFile:${snpEff_rod_bind_type.snpEff_rod_name},%(file_type)s" "${snpEff_rod_bind_type.snpEff_input_rod}" "${snpEff_rod_bind_type.snpEff_input_rod.ext}" "input_snpEff_${snpEff_rod_bind_type.snpEff_rod_name}"
|
|
69 #else:
|
|
70 -p '--excludeAnnotation "SnpEff"'
|
|
71 #end if
|
|
72
|
|
73 #for $expression in $expressions:
|
|
74 -p '--expression "${expression.expression}"'
|
|
75 #end for
|
|
76
|
|
77 #include source=$standard_gatk_options#
|
|
78
|
|
79 -p '
|
|
80 #if str( $annotation_group ) != "None":
|
|
81 #for $group in str( $annotation_group ).split( ',' ):
|
|
82 --group "${group}"
|
|
83 #end for
|
|
84 #end if
|
|
85 #if str( $family_string ) != "":
|
|
86 --family_string "${family_string}"
|
|
87 #end if
|
|
88 --MendelViolationGenotypeQualityThreshold "${mendel_violation_genotype_quality_threshold}"
|
|
89 '
|
|
90 </command>
|
|
91 <inputs>
|
|
92 <conditional name="reference_source">
|
|
93 <expand macro="reference_source_selector_param" />
|
|
94 <when value="cached">
|
|
95 <param name="input_variant" type="data" format="vcf" label="Variant file to annotate" help="-V,--variant &lt;variant&gt;"/>
|
|
96 <param name="input_variant_bti" type="boolean" truevalue="-BTI variant" falsevalue="" label="Increase efficiency for small variant files." help="--intervals"/>
|
|
97 <param name="input_bam" type="data" format="bam" label="BAM file" optional="True" help="Not needed for all annotations. (-I,--input_file &lt;input_file&gt;)" >
|
|
98 <validator type="unspecified_build" />
|
|
99 <validator type="dataset_metadata_in_data_table" table_name="gatk_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 -->
|
|
100 </param>
|
|
101 <param name="ref_file" type="select" label="Using reference genome" help="-R,--reference_sequence &lt;reference_sequence&gt;">
|
|
102 <options from_data_table="gatk_picard_indexes">
|
|
103 <filter type="data_meta" key="dbkey" ref="input_variant" column="dbkey"/>
|
|
104 </options>
|
|
105 <validator type="no_options" message="A built-in reference genome is not available for the build associated with the selected input file"/>
|
|
106 </param>
|
|
107 </when>
|
|
108 <when value="history"> <!-- FIX ME!!!! -->
|
|
109 <param name="input_variant" type="data" format="vcf" label="Variant file to annotate" help="-V,--variant &lt;variant&gt;"/>
|
|
110 <param name="input_variant_bti" type="boolean" truevalue="-BTI variant" falsevalue="" label="Increase efficiency for small variant files." help="--intervals"/>
|
|
111 <param name="input_bam" type="data" format="bam" label="BAM file" optional="True" help="Not needed for all annotations. (-I,--input_file &lt;input_file&gt;)" >
|
|
112 </param>
|
|
113 <param name="ref_file" type="data" format="fasta" label="Using reference file" help="-R,--reference_sequence &lt;reference_sequence&gt;" />
|
|
114 </when>
|
|
115 </conditional>
|
|
116 <conditional name="annotations_type">
|
|
117 <param name="annotations_type_selector" type="select" label="Use all possible annotations">
|
|
118 <option value="use_all_annotations">Use all</option>
|
|
119 <option value="choose" selected="True">Use selected</option>
|
|
120 </param>
|
|
121 <when value="use_all_annotations">
|
|
122 <!-- no extra options here -->
|
|
123 </when>
|
|
124 <when value="choose">
|
|
125 <param name="annotations" type="select" multiple="True" display="checkboxes" label="Annotations to apply" help="-A,--annotation &lt;annotation&gt;" >
|
|
126 <!-- load the available annotations from an external configuration file, since additional ones can be added to local installs -->
|
|
127 <options from_data_table="gatk_annotations">
|
|
128 <filter type="multiple_splitter" column="tools_valid_for" separator=","/>
|
|
129 <filter type="static_value" value="VariantAnnotator" column="tools_valid_for"/>
|
|
130 </options>
|
|
131 </param>
|
|
132 </when>
|
|
133 </conditional>
|
|
134
|
|
135 <repeat name="additional_annotations" title="Additional annotation" help="-A,--annotation &lt;annotation&gt;">
|
|
136 <param name="additional_annotation_name" type="text" value="" label="Annotation name" />
|
|
137 </repeat>
|
|
138
|
|
139 <repeat name="comp_rod_bind" title="Binding for reference-ordered comparison data" help="-comp,--comp &lt;comp&gt;">
|
|
140 <param name="comp_input_rod" type="data" format="vcf" label="ROD file" />
|
|
141 <param name="comp_rod_name" type="text" value="Unnamed" label="ROD Name"/>
|
|
142 </repeat>
|
|
143
|
|
144 <conditional name="dbsnp_rod_bind_type">
|
|
145 <param name="dbsnp_rod_bind_type_selector" type="select" label="Provide a dbSNP reference-ordered data file" help="-D,--dbsnp &lt;dbsnp&gt;">
|
|
146 <option value="set_dbsnp" selected="True">Set dbSNP</option>
|
|
147 <option value="exclude_dbsnp">Don't set dbSNP</option>
|
|
148 </param>
|
|
149 <when value="exclude_dbsnp">
|
|
150 <!-- Do nothing here -->
|
|
151 </when>
|
|
152 <when value="set_dbsnp">
|
|
153 <param name="dbsnp_input_rod" type="data" format="vcf" label="ROD file" />
|
|
154 <param name="dbsnp_rod_name" type="hidden" value="dbsnp" label="ROD Name"/>
|
|
155 </when>
|
|
156 </conditional>
|
|
157
|
|
158 <repeat name="resource_rod_bind" title="Binding for reference-ordered resource data" help="-resource,--resource &lt;resource&gt;">
|
|
159 <param name="resource_input_rod" type="data" format="vcf" label="ROD file" />
|
|
160 <param name="resource_rod_name" type="text" value="Unnamed" label="ROD Name"/>
|
|
161 </repeat>
|
|
162
|
|
163 <conditional name="snpEff_rod_bind_type">
|
|
164 <param name="snpEff_rod_bind_type_selector" type="select" label="Provide a snpEff reference-ordered data file" help="-snpEffFile,--snpEffFile &lt;snpEffFile&gt;">
|
|
165 <option value="set_snpEff">Set snpEff</option>
|
|
166 <option value="exclude_snpEff" selected="True">Don't set snpEff</option>
|
|
167 </param>
|
|
168 <when value="exclude_snpEff">
|
|
169 <!-- Do nothing here -->
|
|
170 </when>
|
|
171 <when value="set_snpEff">
|
|
172 <param name="snpEff_input_rod" type="data" format="vcf" label="ROD file" />
|
|
173 <param name="snpEff_rod_name" type="hidden" value="snpEff" label="ROD Name"/>
|
|
174 </when>
|
|
175 </conditional>
|
|
176
|
|
177 <repeat name="expressions" title="Expression" help="-E,--expression &lt;expression&gt;">
|
|
178 <param name="expression" type="text" value="" label="Expression"/>
|
|
179 </repeat>
|
|
180
|
|
181 <expand macro="gatk_param_type_conditional" />
|
|
182
|
|
183 <param name="annotation_group" type="select" multiple="True" display="checkboxes" label="annotation interfaces/groups to apply to variant calls" help="-G,--group &lt;group&gt;">
|
|
184 <option value="RodRequiringAnnotation">RodRequiringAnnotation</option>
|
|
185 <option value="Standard">Standard</option>
|
|
186 <option value="Experimental">Experimental</option>
|
|
187 <option value="WorkInProgress">WorkInProgress</option>
|
|
188 <option value="RankSumTest">RankSumTest</option>
|
|
189 </param>
|
|
190 <param name="family_string" type="text" value="" label="Family String" help="--family_string"/>
|
|
191 <param name="mendel_violation_genotype_quality_threshold" type="float" value="0.0" label="genotype quality treshold in order to annotate mendelian violation ratio." help="-mvq,--MendelViolationGenotypeQualityThreshold &lt;MendelViolationGenotypeQualityThreshold&gt;"/>
|
|
192 <param name="exclude_annotations" type="select" multiple="True" display="checkboxes" label="Annotations to exclude" help="-XA,--excludeAnnotation &lt;excludeAnnotation&gt;" >
|
|
193 <!-- load the available annotations from an external configuration file, since additional ones can be added to local installs -->
|
|
194 <options from_data_table="gatk_annotations">
|
|
195 <filter type="multiple_splitter" column="tools_valid_for" separator=","/>
|
|
196 <filter type="static_value" value="VariantAnnotator" column="tools_valid_for"/>
|
|
197 </options>
|
|
198 </param>
|
|
199
|
|
200 </inputs>
|
|
201 <outputs>
|
|
202 <data format="vcf" name="output_vcf" label="${tool.name} on ${on_string} (Variant File)" />
|
|
203 <data format="txt" name="output_log" label="${tool.name} on ${on_string} (log)" />
|
|
204 </outputs>
|
|
205 <tests>
|
|
206 <test>
|
|
207 <param name="reference_source_selector" value="history" />
|
|
208 <param name="ref_file" value="phiX.fasta" ftype="fasta" />
|
|
209 <param name="input_bam" value="gatk/gatk_table_recalibration/gatk_table_recalibration_out_1.bam" ftype="bam" />
|
|
210 <param name="input_variant" value="gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.vcf" ftype="vcf" />
|
|
211 <param name="input_variant_bti" />
|
|
212 <param name="annotations_type_selector" value="choose" />
|
|
213 <param name="annotations" value="AlleleBalance,BaseQualityRankSumTest,DepthOfCoverage,HomopolymerRun,MappingQualityRankSumTest,MappingQualityZero,QualByDepth,RMSMappingQuality,SpanningDeletions,HaplotypeScore" />
|
|
214 <param name="additional_annotations" value="0" />
|
|
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="snpEff_rod_bind_type_selector" value="exclude_snpEff" />
|
|
218 <param name="gatk_param_type_selector" value="basic" />
|
|
219 <output name="output_vcf" file="gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.vcf" lines_diff="4" />
|
|
220 <output name="output_log" file="gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.log.contains" compare="contains" />
|
|
221 <param name="comp_rod_bind" value="0" />
|
|
222 <param name="resource_rod_bind" value="0" />
|
|
223 <param name="expressions" value="0" />
|
|
224 <!-- <param name="annotation_group" /> -->
|
|
225 </test>
|
|
226 </tests>
|
|
227 <help>
|
|
228 **What it does**
|
|
229
|
|
230 Annotates variant calls with context information. Users can specify which of the available annotations to use.
|
|
231
|
|
232 For more information on using the VariantAnnotator, see this `tool specific page <http://www.broadinstitute.org/gsa/wiki/index.php/VariantAnnotator>`_.
|
|
233
|
|
234 To learn about best practices for variant detection using GATK, see this `overview <http://www.broadinstitute.org/gsa/wiki/index.php/Best_Practice_Variant_Detection_with_the_GATK_v3>`_.
|
|
235
|
|
236 If you encounter errors, please view the `GATK FAQ <http://www.broadinstitute.org/gsa/wiki/index.php/Frequently_Asked_Questions>`_.
|
|
237
|
|
238 ------
|
|
239
|
|
240
|
|
241 **Inputs**
|
|
242
|
|
243 GenomeAnalysisTK: VariantAnnotator accepts a variant input file.
|
|
244
|
|
245
|
|
246 **Outputs**
|
|
247
|
|
248 The output is in VCF format.
|
|
249
|
|
250
|
|
251 Go `here <http://www.broadinstitute.org/gsa/wiki/index.php/Input_files_for_the_GATK>`_ for details on GATK file formats.
|
|
252
|
|
253 -------
|
|
254
|
|
255 **Settings**::
|
|
256
|
|
257
|
|
258 sampleName The sample (NA-ID) corresponding to the variant input (for non-VCF input only)
|
|
259 annotation One or more specific annotations to apply to variant calls
|
|
260 group One or more classes/groups of annotations to apply to variant calls
|
|
261 expression One or more specific expressions to apply to variant calls; see documentation for more details
|
|
262 useAllAnnotations Use all possible annotations (not for the faint of heart)
|
|
263
|
|
264 @CITATION_SECTION@
|
|
265 </help>
|
|
266 </tool>
|