Mercurial > repos > anton > vcffilter
changeset 0:c56b2e440fce draft
Uploaded
author | anton |
---|---|
date | Mon, 14 Apr 2014 10:06:14 -0400 |
parents | |
children | e5dd21db760b |
files | test-data/vcffilter-test1.vcf test-data/vcflib.vcf tool_dependencies.xml vcffilter.xml |
diffstat | 4 files changed, 124 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/vcffilter-test1.vcf Mon Apr 14 10:06:14 2014 -0400 @@ -0,0 +1,26 @@ +##fileformat=VCFv4.0 +##fileDate=20090805 +##source=myImputationProgramV3.1 +##reference=1000GenomesPilot-NCBI36 +##phasing=partial +##filter="DP > 10" +##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of Samples With Data"> +##INFO=<ID=AN,Number=1,Type=Integer,Description="Total number of alleles in called genotypes"> +##INFO=<ID=AC,Number=.,Type=Integer,Description="Allele count in genotypes, for each ALT allele, in the same order as listed"> +##INFO=<ID=DP,Number=1,Type=Integer,Description="Total Depth"> +##INFO=<ID=AF,Number=.,Type=Float,Description="Allele Frequency"> +##INFO=<ID=AA,Number=1,Type=String,Description="Ancestral Allele"> +##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP membership, build 129"> +##INFO=<ID=H2,Number=0,Type=Flag,Description="HapMap2 membership"> +##FILTER=<ID=q10,Description="Quality below 10"> +##FILTER=<ID=s50,Description="Less than 50% of samples have data"> +##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype"> +##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality"> +##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth"> +##FORMAT=<ID=HQ,Number=2,Type=Integer,Description="Haplotype Quality"> +##ALT=<ID=DEL:ME:ALU,Description="Deletion of ALU element"> +##ALT=<ID=CNV,Description="Copy number variable region"> +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA00001 NA00002 NA00003 +20 14370 rs6054257 G A 29 PASS AF=0.5;DP=14;NS=3;DB;H2 GT:GQ:DP:HQ 0|0:48:1:51,51 1|0:48:8:51,51 1/1:43:5:.,. +20 17330 . T A 3 q10 AF=0.017;DP=11;NS=3 GT:GQ:DP:HQ 0|0:49:3:58,50 0|1:3:5:65,3 0/0:41:3:.,. +20 1230237 . T . 47 PASS AA=T;DP=13;NS=3 GT:GQ:DP:HQ 0|0:54:.:56,60 0|0:48:4:51,51 0/0:61:2:.,.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/vcflib.vcf Mon Apr 14 10:06:14 2014 -0400 @@ -0,0 +1,31 @@ +##fileformat=VCFv4.0 +##fileDate=20090805 +##source=myImputationProgramV3.1 +##reference=1000GenomesPilot-NCBI36 +##phasing=partial +##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of Samples With Data"> +##INFO=<ID=AN,Number=1,Type=Integer,Description="Total number of alleles in called genotypes"> +##INFO=<ID=AC,Number=.,Type=Integer,Description="Allele count in genotypes, for each ALT allele, in the same order as listed"> +##INFO=<ID=DP,Number=1,Type=Integer,Description="Total Depth"> +##INFO=<ID=AF,Number=.,Type=Float,Description="Allele Frequency"> +##INFO=<ID=AA,Number=1,Type=String,Description="Ancestral Allele"> +##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP membership, build 129"> +##INFO=<ID=H2,Number=0,Type=Flag,Description="HapMap2 membership"> +##FILTER=<ID=q10,Description="Quality below 10"> +##FILTER=<ID=s50,Description="Less than 50% of samples have data"> +##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype"> +##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality"> +##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth"> +##FORMAT=<ID=HQ,Number=2,Type=Integer,Description="Haplotype Quality"> +##ALT=<ID=DEL:ME:ALU,Description="Deletion of ALU element"> +##ALT=<ID=CNV,Description="Copy number variable region"> +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA00001 NA00002 NA00003 +19 111 . A C 9.6 . . GT:HQ 0|0:10,10 0|0:10,10 0/1:3,3 +19 112 . A G 10 . . GT:HQ 0|0:10,10 0|0:10,10 0/1:3,3 +20 14370 rs6054257 G A 29 PASS NS=3;DP=14;AF=0.5;DB;H2 GT:GQ:DP:HQ 0|0:48:1:51,51 1|0:48:8:51,51 1/1:43:5:.,. +20 17330 . T A 3 q10 NS=3;DP=11;AF=0.017 GT:GQ:DP:HQ 0|0:49:3:58,50 0|1:3:5:65,3 0/0:41:3:.,. +20 1110696 rs6040355 A G,T 67 PASS NS=2;DP=10;AF=0.333,0.667;AA=T;DB GT:GQ:DP:HQ 1|2:21:6:23,27 2|1:2:0:18,2 2/2:35:4:.,. +20 1230237 . T . 47 PASS NS=3;DP=13;AA=T GT:GQ:DP:HQ 0|0:54:.:56,60 0|0:48:4:51,51 0/0:61:2:.,. +20 1234567 microsat1 G GA,GAC 50 PASS NS=3;DP=9;AA=G;AN=6;AC=3,1 GT:GQ:DP 0/1:.:4 0/2:17:2 1/1:40:3 +20 1235237 . T . . . . GT 0/0 0|0 ./. +X 10 rsTest AC A,ATG 10 PASS . GT 0 0/1 0|2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_dependencies.xml Mon Apr 14 10:06:14 2014 -0400 @@ -0,0 +1,6 @@ +<?xml version="1.0"?> +<tool_dependency> + <package name="vcflib" version="586c5ae5d57a38dae6b32ea831fb1f7cfa14c9bd"> + <repository changeset_revision="3d515e915297" name="package_vcflib" owner="anton" toolshed="http://testtoolshed.g2.bx.psu.edu" /> + </package> +</tool_dependency>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vcffilter.xml Mon Apr 14 10:06:14 2014 -0400 @@ -0,0 +1,61 @@ +<tool id="vcffilter" name="VCFfilter:" version="0.0.1"> +<requirements> + <requirement type="package" version="586c5ae5d57a38dae6b32ea831fb1f7cfa14c9bd">vcflib</requirement> +</requirements> + <description>filter VCF data in a variety of attributes</description> + <command>vcffilter ${filterList} "${input}" > "${out_file1}"</command> + <inputs> + <param name="filterList" size="40" type="text" value="-f "DP > 10"" label="Specify filterting expression" help="See explanation of filtering options below"> + <sanitizer> + <valid initial="string.printable"> + <remove value="'"/> + </valid> + <mapping initial="none"> + <add source="'" target="__sq__"/> + </mapping> + </sanitizer> + </param> + <param format="vcf" name="input" type="data" label="From"/> + </inputs> + <outputs> + <data format="vcf" name="out_file1" /> + </outputs> +<tests> + <test> + <param name="filterList" value="-f "DP > 10""/> + <param name="input" value="vcflib.vcf"/> + <output name="out_file1" file="vcffilter-test1.vcf"/> + </test> +</tests> + <help> + +VCFfilter is a part of VCFlib toolkit developed by Erik Garrison (https://github.com/ekg/vcflib). + +You can specify the following option the **Specify filtering expression** box in any combination:: + + -f, --info-filter specifies a filter to apply to the info fields of records, removes alleles which do not pass the filter + -g, --genotype-filter specifies a filter to apply to the genotype fields of records + -s, --filter-sites filter entire records, not just alleles + -t, --tag-pass tag vcf records as positively filtered with this tag, print all records + -F, --tag-fail tag vcf records as negatively filtered with this tag, print all records + -A, --append-filter append the existing filter tag, don't just replace it + -a, --allele-tag apply -t on a per-allele basis. adds or sets the corresponding INFO field tag + -v, --invert inverts the filter, e.g. grep -v + -o, --or use logical OR instead of AND to combine filters + +Filters are specified in the form {ID} {operator} {value}:: + + -f "DP > 10" # for info fields + -g "GT = 1|1" # for genotype fields + -f "CpG" # for 'flag' fields + +Operators can be any of: =, !, <, >, pipe, & + +Any number of filters may be specified. They are combined via logical AND +unless --or is specified on the command line. + +For convenience, you can specify "QUAL" to refer to the quality of the site, even +though it does not appear in the INFO fields. + +</help> +</tool>