Thank you...what threshold would you recommend for average coverage 30x? Which of the parameters are most important? As a mathematician, I would use only QUAL (likelihood) as a measure, even without depth, but is it OK?
I would like to use GATK to obtain the distribution of variants, but I have some calls with low support, for example, I do not trust a call that tells me that it was founded in 2 reads. I can use simple coverage-based filter (say, depth for more than 20 bases is good and less is bad), but I am sure that more efficient strategies exist (that takes into account qualities of this base in reads, etc). Could you tell me how to filter low-quality variants?
It is not for variant calling so I do not care about impact and (I guess) can not use snpSift. I do not need really high accuracy, I just want my distribution of genome-wide variants to be noise-free.
I know that it looks like a newbie question but it is. I am completely new in variant calling.
2 answers
The correct parameters are dependent upon your sample (species? haploid/diploid? individual/pooled?) and your experimental objective (is sensitivity more/less important than specificity? are the variants germ line or somatic?). Also, is there a way to independently validate the results, to fine-tune the parameters?
GATK offers guidelines for best practices using truth sets (here) or hard filters (here).
Personally, I use FreeBayes instead of GATK, followed by Heng Li's strategy of filtering low-complexity and high-coverage regions (here), then a depth of three independent reads (after removing duplicates), and finally filter against a blacklist if available. For my application, it strikes the appropriate balance between sensitivity and specificity. YMMV.
Dear All,
I am having similar problem in determining the appropriate filtering criteria for the snps depth and quality. I am just a beginner in using vcftools for snps call filtering.How do i translate the hard filters below using vcftools: that is
QualByDepth (QD) 2.0
FisherStrand (FS) 60.0
RMSMappingQuality (MQ) 40.0
MappingQualityRankSumTest (MQRankSum) -12.5
ReadPosRankSumTest (ReadPosRankSum) -8.0
StrandOddsRatio (SOR) 3.0
is this standard filter criteria for any vcf file format? If I am to use vcftools how do I specify the flag options?
Yes, thanks, but that's not what I want to do. I would like to find a strategy for removal of low-quality variants, depth of coverage seems too rough to be really efficient. For example, coverage 40 to ref allele and 5 to alternative will pass this filter, but together with low quality of bases of alternative allele it may indicate false positive.
Using GATK you can use the SelectVarient filter and like this
java -jar GenomeAnalysisTK.jar \
-T SelectVariants \
-R reference.fasta \
-V input.vcf \
-o output.vcf \
-select "QUAL > 10"
Or which ever number threshold you want.
Thank you...the problem is that I do not know the threshold that I want =( also I have a huge amount of data and would like to filter variants on-line (so do not even put unreliable results to the resulting vcf file after first GATK lunch)...I know that I want too much, but it would save a lot of memory and time...especially this re-writing from input.vcf to output.vcf.
I am also interested in finding such a strategy. Were you able to find one?
Log in to answer this question.
Hello How and with what scripts can I apply the following filters in a file that includes all variants of the genome? Please explain in detail
Variants with phred-scaled scores below 20 and variants with genotypic qualities (GQ) of less than 20, SNPs within 5 bp of an indel, indels within 10 bp of each other, variants with a depth of coverage below 33% or more than twice mean genome coverage of the alignment
NO. This is not an appropriate way to ask for help - you are demanding help, which makes no one want to give you their time. Also, you've added your question as an answer to a 8 year old question - why did you do that? Did you familiarize yourself with the etiquette of the forum then create your post or just added your post with no regard for the proper way to do anything here?
I'm moving your post to a comment for the moment.