annotate filter_vcf.xml @ 6:74f595df6e51 draft

Uploaded
author ulfschaefer
date Thu, 16 Jun 2016 06:39:51 -0400
parents cb29f95c7b88
children e252b0b9dd99
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
1 <tool id="filter_vcf" name="Filter VCF" version="1.0">
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
2 <description>filters a VCF file</description>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
3 <requirements>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
4 <requirement type="package" version="2.7.10">python</requirement>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
5 <requirement type="package" version="0.6.8dev">pyvcf</requirement>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
6 <requirement type="package" version="3.11">pyyaml</requirement>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
7 <requirement type="package" version="2.0.2">bintrees</requirement>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
8 <requirement type="package" version="1.66">biopython</requirement>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
9 <requirement type="package" version="1.4">matplotlib</requirement>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
10 <requirement type="package" version="0.23.1">cython</requirement>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
11 <requirement type="package" version="1.0">phephenix</requirement>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
12 </requirements>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
13 <stdio>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
14 <!-- Assume anything other than zero is an error -->
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
15 <exit_code range="1:" />
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
16 <exit_code range=":-1" />
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
17 </stdio>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
18 <command interpreter="bash">
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
19 filter_vcf.sh
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
20 $output
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
21 $input
6
74f595df6e51 Uploaded
ulfschaefer
parents: 0
diff changeset
22 $ref_fa
0
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
23 #if str($onlygood) == "false":
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
24 onlygood
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
25 #else
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
26 NOTTHERE
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
27 #end if
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
28 #for $sf in $snp_filter:
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
29 #for $name, $param in $sf.snp_filter_type.iteritems():
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
30 #if $name not in [ "__current_case__", "snp_filter_type_selector" ]:
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
31 ${name}:"${param}"
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
32 #end if
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
33 #end for
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
34 #end for
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
35 </command>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
36
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
37 <inputs>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
38 <param name="input" type="data" format="vcf" label="VCF File to filter" />
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
39
6
74f595df6e51 Uploaded
ulfschaefer
parents: 0
diff changeset
40 <param name="ref_fa" type="data" format="fasta" label="Reference genome fasta file" help="REQUIRED."/>
74f595df6e51 Uploaded
ulfschaefer
parents: 0
diff changeset
41
0
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
42 <repeat name="snp_filter" title="SNP Filter" help="">
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
43 <conditional name="snp_filter_type">
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
44 <param name="snp_filter_type_selector" type="select" label="SNP Filter Type">
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
45 <option value="gq_score_option">GQ score</option>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
46 <option value="dp4_ratio_option">DP4 ratio</option>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
47 <option value="ad_ratio_option">AD ratio</option>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
48 <option value="mq_score_option">MQ score</option>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
49 <option value="min_depth_option">Minimum depth</option>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
50 <option value="uncall_gt_option">Uncall GT</option>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
51 <option value="mq0_ratio_option">MQ0 ratio</option>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
52 <option value="qual_score_option">Quality score</option>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
53 <option value="mq0f_ratio_option">MQ0F ratio</option>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
54 </param>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
55 <when value="gq_score_option">
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
56 <param name="gq_score" type="integer" value="0" label="Minimum GC score" help="Type integer"/>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
57 </when>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
58 <when value="dp4_ratio_option">
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
59 <param name="dp4_ratio" type="float" value="0.9" label="Minimum DP4 ratio" help="Type float"/>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
60 </when>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
61 <when value="ad_ratio_option">
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
62 <param name="ad_ratio" type="float" value="0.9" label="Minimum AD ratio" help="Type float"/>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
63 </when>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
64 <when value="mq_score_option">
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
65 <param name="mq_score" type="integer" value="30" label="Minimum MQ score" help="Type integer"/>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
66 </when>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
67 <when value="min_depth_option">
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
68 <param name="min_depth" type="integer" value="5" label="Minimum depth" help="Type integer"/>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
69 </when>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
70 <when value="uncall_gt_option">
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
71 <param name="uncall_gt" type="text" value="" hidden="True"/>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
72 </when>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
73 <when value="mq0_ratio_option">
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
74 <param name="mq0_ratio" type="float" value="0.05" label="Minimim MQ0 ratio" help="Type float"/>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
75 </when>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
76 <when value="qual_score_option">
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
77 <param name="qual_score" type="integer" value="30" label="Minimim quality score" help="Type integer"/>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
78 </when>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
79 <when value="mq0f_ratio_option">
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
80 <param name="mq0f_ratio" type="float" value="0.05" label="Minimum MQ0F ratio" help="Type float"/>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
81 </when>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
82 </conditional>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
83 </repeat>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
84 <param name="onlygood" type="select" label="Write only good variants to output" help="Write only variants that PASS all filters. ">
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
85 <option value="true" selected="true">Write all</option>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
86 <option value="false">Write only good</option>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
87 </param>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
88 </inputs>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
89
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
90 <outputs>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
91 <data format="vcf" name="output" label="${tool.name} on ${on_string}: filtered VCF" />
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
92 </outputs>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
93 <tests>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
94 <test>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
95 <param name="input" value="test_input.vcf" ftype="vcf" />
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
96 <param name="min_depth" value="100" />
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
97 <output name="output" file="test_output.vcf" ftype="vcf" />
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
98 </test>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
99 </tests>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
100 <help>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
101
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
102 usage: filter_vcf.py [-h] \-\-vcf VCF \-\-filters FILTERS \-\-output OUTPUT
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
103
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
104 optional arguments:
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
105
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
106 -h, \-\-help show this help message and exit
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
107
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
108 \-\-vcf VCF, -v VCF VCF file to (re)filter.
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
109
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
110 \-\-filters FILTERS, -f FILTERS Filter(s) to apply as key:threshold pairs, separated by comma.
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
111
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
112 \-\-output OUTPUT, -o OUTPUT Location for filtered VCF to be written.
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
113
6
74f595df6e51 Uploaded
ulfschaefer
parents: 0
diff changeset
114 \-\-reference REFERENCE, -r REFERENCE mpileup versions 1.3 and before do not output all positions. This is required to fix reference base in VCF.
74f595df6e51 Uploaded
ulfschaefer
parents: 0
diff changeset
115
74f595df6e51 Uploaded
ulfschaefer
parents: 0
diff changeset
116 \-\-only-good Write only variants that PASS all filters (default all variants are written).
74f595df6e51 Uploaded
ulfschaefer
parents: 0
diff changeset
117
0
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
118 </help>
cb29f95c7b88 Uploaded
ulfschaefer
parents:
diff changeset
119 </tool>