0
|
1 <tool id="vcffilter2" name="VCFfilter:" version="0.0.3">
|
|
2 <description>filter VCF data in a variety of attributes</description>
|
|
3 <macros>
|
|
4 <import>macros.xml</import>
|
|
5 </macros>
|
|
6 <expand macro="requirements">
|
|
7 <requirement type="package" version="0.2.6">tabix</requirement>
|
|
8 </expand>
|
|
9 <expand macro="stdio" />
|
|
10 <command>
|
|
11 <!-- This tools depends on tabix functionality, which is currently distributed with Galaxy itself via a pysam egg -->
|
|
12 ln -s "${input1}" input1.vcf &&
|
|
13 bgzip input1.vcf &&
|
|
14 tabix -p vcf input1.vcf.gz &&
|
|
15 vcffilter ${filterList} input1.vcf.gz > "${out_file1}"
|
|
16 </command>
|
|
17
|
|
18 <inputs>
|
|
19 <param name="filterList" size="40" type="text" value="-f "DP > 10"" label="Specify filterting expression" help="See explanation of filtering options below">
|
|
20 <sanitizer>
|
|
21 <valid initial="string.printable">
|
|
22 <remove value="'"/>
|
|
23 </valid>
|
|
24 <mapping initial="none">
|
|
25 <add source="'" target="__sq__"/>
|
|
26 </mapping>
|
|
27 </sanitizer>
|
|
28 </param>
|
|
29 <param format="vcf" name="input1" type="data" label="VCF dataset to filter">
|
|
30 </param>
|
|
31 </inputs>
|
|
32 <outputs>
|
|
33 <data format="vcf" name="out_file1" />
|
|
34 </outputs>
|
|
35 <tests>
|
|
36 <test>
|
|
37 <param name="filterList" value="-f "DP > 10""/>
|
|
38 <param name="input1" value="vcflib.vcf"/>
|
|
39 <output name="out_file1" file="vcffilter-test1.vcf"/>
|
|
40 </test>
|
|
41 </tests>
|
|
42 <help>
|
|
43
|
|
44 You can specify the following options within the **Specify filtering expression** box in any combination::
|
|
45
|
|
46 -f, --info-filter specifies a filter to apply to the info fields of records, removes alleles which do not pass the filter
|
|
47 -g, --genotype-filter specifies a filter to apply to the genotype fields of records
|
|
48 -s, --filter-sites filter entire records, not just alleles
|
|
49 -t, --tag-pass tag vcf records as positively filtered with this tag, print all records
|
|
50 -F, --tag-fail tag vcf records as negatively filtered with this tag, print all records
|
|
51 -A, --append-filter append the existing filter tag, don't just replace it
|
|
52 -a, --allele-tag apply -t on a per-allele basis. adds or sets the corresponding INFO field tag
|
|
53 -v, --invert inverts the filter, e.g. grep -v
|
|
54 -o, --or use logical OR instead of AND to combine filters
|
|
55 -r, --region specify a region on which to target the filtering (must be used in conjunction with -f or -g)
|
|
56
|
|
57 Filters are specified in the form {ID} {operator} {value}::
|
|
58
|
|
59 -f "DP > 10" # for info fields
|
|
60 -g "GT = 1|1" # for genotype fields
|
|
61 -f "CpG" # for 'flag' fields
|
|
62
|
|
63 Any number of filters may be specified. They are combined via logical AND unless the --or option is specified. For convenience, you can specify "QUAL" to refer to the quality of the site, even though it does not appear in the INFO fields.
|
|
64
|
|
65 Operators can be any of: =, !, <, >, pipe, &
|
|
66
|
|
67
|
|
68 To restrict output to a specific location use the -r option (must be used in conjunction with -g or -f)::
|
|
69
|
|
70 -r chr20:14000-15000 # only output calls between positions 14,000 and 15,000 on chromosome 20
|
|
71 -r chrX # only output call on chromosome X
|
|
72
|
|
73 -----
|
|
74
|
|
75 Vcffilter @IS_PART_OF_VCFLIB@
|
|
76 </help>
|
|
77 <expand macro="citations" />
|
|
78 </tool>
|