7
|
1 <tool id="table_annovar" name="ANNOVAR Annotate VCF" version="0.2">
|
0
|
2 <description>with functional information using ANNOVAR</description>
|
|
3
|
|
4 <requirements>
|
|
5 <requirement type="package">annovar</requirement>
|
5
|
6 <requirement type="set_environment">SCRIPT_PATH</requirement>
|
0
|
7 </requirements>
|
|
8
|
|
9 <command>
|
|
10 ## Convert VCF to AV input format.
|
7
|
11 #if str($out_format) == "tabular":
|
|
12 convert2annovar.pl -format vcf4 -includeinfo ${input} > input.avinput ;
|
|
13 #set tab_anno_input = "input.avinput"
|
|
14 #else:
|
|
15 #set tab_anno_input = $input
|
|
16 #end if
|
0
|
17
|
7
|
18 ## Variant annotation; make sure to include entry in indexes table for build database.
|
0
|
19
|
|
20 #set protocol = []
|
|
21 #set operation = []
|
|
22
|
|
23 ## Add gene annotations.
|
|
24 #if $gene_anns:
|
|
25 #silent protocol.append( str( $gene_anns ) )
|
|
26 #silent operation.append( ','.join( ['g' for t in range( str($gene_anns).count(',') + 1 )] ) )
|
|
27 #end if
|
|
28
|
|
29 ## Add regions.
|
|
30 #if $regions:
|
|
31 #silent protocol.append( str( $regions ) )
|
|
32 #silent operation.append( ','.join( ['r' for t in range( str($regions).count(',') + 1 )] ) )
|
|
33 #end if
|
|
34
|
|
35 ## Add filters.
|
|
36 #if $filters:
|
|
37 #silent protocol.append( str( $filters ) )
|
|
38 #silent operation.append( ','.join( ['f' for t in range( str($filters).count(',') + 1 )] ) )
|
|
39 #end if
|
|
40
|
|
41 #set protocol = ','.join( $protocol )
|
7
|
42 #set operation = ','.join( $operation )
|
|
43
|
|
44 ## Annotate variants.
|
|
45 table_annovar.pl ${tab_anno_input} ${__get_data_table_entry__('annovar_indexes', 'dbkey', $input.dbkey, 'path')} -protocol ${protocol} -operation ${operation} -nastring '.' -buildver ${input.dbkey} --outfile output
|
0
|
46
|
7
|
47 ## Add option to consume/produce VCF.
|
|
48 #if str($out_format) == "vcf":
|
|
49 --vcfinput
|
|
50 #end if
|
0
|
51
|
7
|
52 ## Post-processing: process annotated table to remove "NA" strings from numerical columns if
|
|
53 ## tabular. Copy to output.
|
|
54 #if str($out_format) == "tabular":
|
|
55 ; cat output.${input.dbkey}_multianno.txt | python \${SCRIPT_PATH}/replace_NA.py > ${output}
|
|
56 #else:
|
|
57 ; cp output.${input.dbkey}_multianno.vcf ${output}
|
|
58 #end if
|
0
|
59 </command>
|
|
60
|
|
61 <inputs>
|
|
62 <param name="input" type="data" format="vcf" metadata_name="dbkey" label="Variants" help="">
|
|
63 <validator type="unspecified_build" />
|
|
64 </param>
|
|
65
|
|
66 <param name="gene_anns" type="select" multiple="True" optional="True" label="Gene Annotations" help="" >
|
|
67 <options from_data_table="annovar_indexes">
|
|
68 <filter type="data_meta" key="dbkey" ref="input" column="1"/>
|
|
69 <filter type="static_value" name="type" value="gene_ann" column="2"/>
|
|
70 </options>
|
|
71 </param>
|
|
72
|
|
73 <param name="regions" type="select" multiple="True" optional="True" label="Annotation Regions" help="" >
|
|
74 <options from_data_table="annovar_indexes">
|
|
75 <filter type="data_meta" key="dbkey" ref="input" column="1"/>
|
|
76 <filter type="static_value" name="type" value="region" column="2"/>
|
|
77 </options>
|
|
78 </param>
|
7
|
79
|
0
|
80 <param name="filters" type="select" multiple="True" label="Annotation Databases" help="" >
|
|
81 <options from_data_table="annovar_indexes">
|
|
82 <filter type="data_meta" key="dbkey" ref="input" column="1"/>
|
|
83 <filter type="static_value" name="type" value="filter" column="2"/>
|
|
84 </options>
|
|
85 </param>
|
7
|
86
|
|
87 <param name="out_format" type="select" label="Output data type">
|
|
88 <option value="vcf">VCF</option>
|
|
89 <option value="tabular">Tabular</option>
|
|
90 </param>
|
|
91
|
0
|
92 </inputs>
|
|
93
|
|
94 <stdio>
|
|
95 <regex match=".*" source="both" level="log" description="tool progress"/>
|
|
96 </stdio>
|
|
97
|
|
98 <outputs>
|
7
|
99 <data name="output" format="tabular">
|
|
100 <change_format>
|
|
101 <when input="out_format" value="vcf" format="vcf"/>
|
|
102 </change_format>
|
|
103 </data>
|
0
|
104 </outputs>
|
|
105
|
|
106 <tests>
|
|
107 </tests>
|
|
108
|
|
109 <help>
|
2
|
110 **What it does**
|
|
111
|
7
|
112 This tool will annotate variants using specified gene annotations, regions, and filtering databases. Input is a VCF dataset, and output is a table of annotations for each variant in the
|
|
113 VCF dataset or a VCF dataset with the annotations in INFO fields.
|
2
|
114
|
|
115 **ANNOVAR Website and Documentation**
|
|
116
|
|
117 Website: http://www.openbioinformatics.org/annovar/
|
|
118
|
|
119 Paper: http://nar.oxfordjournals.org/content/38/16/e164
|
|
120
|
|
121 **Important Usage Note**
|
|
122
|
|
123 ANNOVAR is open-source and free for non-profit use. If you use it for commercial purposes, please contact BIOBASE (info@biobase-international.com) directly for license related issues. Also see http://www.openbioinformatics.org/annovar/annovar_faq.html#license
|
|
124
|
0
|
125 </help>
|
|
126 </tool>
|