Filtering no-calls from VCF file
1
0
Entering edit mode
7.5 years ago
SOHAIL ▴ 400

Hi Everyone,

I want to remove all sites with more than 5% of no-call (./.) among all the samples in my VCF file, could you please guide me how I can do that variant filtration?

Thanks!

ngs vcftools • 3.5k views
ADD COMMENT
1
Entering edit mode
7.5 years ago

using vcffilterjs https://github.com/lindenb/jvarkit/wiki/VCFFilterJS

 java -jar dist/vcffilterjs.jar -e 'var n=0.0;for(var i=0;i< variant.getNSamples();i++ ) { if(variant.getGenotype(i).isNoCall()) n++;} n/ variant.getNSamples() < 0.05'  input.vcf
ADD COMMENT
0
Entering edit mode

Thanks @Pierre.. That worked perfectly fine for me..

However i am curious and interested to use VCFFILTERJS more, Could you please indicate any guideline for writing java scripts expressions particularly for VCFFILTER -e. I have seen some examples but i wanna know about basic functions like: variant.getNSamples() or variant.getGenotype().isNoCall() , etc.

ADD REPLY
1
Entering edit mode

this tools uses a javascript engine (nashorn) that can read the underlying java classes of the htsjdk library like https://samtools.github.io/htsjdk/javadoc/htsjdk/htsjdk/variant/variantcontext/VariantContext.html . It uses a old and well-known java technology called reflection: https://docs.oracle.com/javase/tutorial/reflect/ .

ADD REPLY

Login before adding your answer.

Traffic: 1568 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6