0
|
1 <tool id="vcf_filter" name="Filter" version="1.0.0">
|
|
2 <description>a VCF file</description>
|
|
3 <command interpreter="python">
|
|
4 vcfPytools.py
|
|
5 filter
|
|
6 --in=$input1
|
|
7 --out=$output1
|
|
8 --quality=$quality
|
|
9 #for $i in $info_filter:
|
|
10 --info ${i.info}
|
|
11 #end for
|
|
12 $remove_genotypes
|
|
13 $mark_as_pass
|
|
14 </command>
|
|
15 <inputs>
|
|
16 <param name="input1" label="VCF file" type="data" format="vcf" />
|
|
17 <param name="quality" label="Filter by quality" type="integer" value='' help="Filter out SNPs with qualities lower than selected value" />
|
|
18 <repeat name="info_filter" title="Filter based on entries in the info string">
|
|
19 <param name="info" label="Filter" type="text" value='' help='This option takes three values: the info string tag, the cutoff value and whether to filter out those records with less than (lt) or greater than (gt) this value. For example: DP 10 lt ' />
|
|
20 </repeat>
|
|
21 <param name="remove_genotypes" label="Remove the genotype strings" type="boolean" truevalue="--remove-genotypes" falsevalue="" checked="False" />
|
|
22 <param name="mark_as_pass" label="Mark all records as having passed filters" type="boolean" truevalue="--mark-as-pass" falsevalue="" checked="False" />
|
|
23 </inputs>
|
|
24 <tests>
|
|
25 <test>
|
|
26 <param name="input1" value="test.small.vcf" ftype="vcf" />
|
|
27 <param name="quality" value="9" />
|
|
28 <param name="info" value="NS 360 gt"/>
|
|
29 <param name="remove_genotypes" value="" />
|
|
30 <param name="mark_as_pass" value="" />
|
|
31 <output name="output" file="test_filter_quality_9_NS_360_gt.vcf" lines_diff="6" ftype="vcf" />
|
|
32 </test>
|
|
33 <test>
|
|
34 <param name="input1" value="test.small.vcf" ftype="vcf" />
|
|
35 <param name="quality" value="9" />
|
|
36 <param name="info" value="DP 2000 lt"/>
|
|
37 <param name="remove_genotypes" value="" />
|
|
38 <param name="mark_as_pass" value="" />
|
|
39 <output name="output" file="test_filter_quality_9_DP_2000_lt.vcf" lines_diff="6" ftype="vcf" />
|
|
40 </test>
|
|
41 </tests>
|
|
42 <outputs>
|
|
43 <data format="vcf" name="output1" label="${tool.name} ${on_string}" />
|
|
44 </outputs>
|
|
45 <help>
|
|
46
|
|
47 **What it does**
|
|
48
|
|
49 This tool uses vcfPytools_' filter command
|
|
50
|
|
51 .. _vcfPytools: https://github.com/AlistairNWard/vcfPytools
|
|
52
|
|
53 Quality option will check the variant quality for each record and if it is below the defined value, the filter field will be populated with the filter entry Q[value].
|
|
54
|
|
55 Any value in the info string can be used for filtering by using the 'Filter by info' option. This option takes three values: the info string tag, the cutoff value and whether to filter out those records with less than (lt) or greater than (gt) this value. For example:
|
|
56
|
|
57 DP 10 lt
|
|
58
|
|
59 would filter out all varianta with a depth (DP) less than 10 and the filter field would be populated with DP10.
|
|
60
|
|
61 This option can be defined as many times as required.
|
|
62
|
|
63 </help>
|
|
64 </tool>
|