This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Keep variants with 0% missing in VCF

I want to know if there is a way to keep sites with 0% missing a VCF file.

On vcftools I can do:

vcftools --vcf input_file.vcf --max-missing 1.0 --out output_noMissing

Is there a way to do this with BCFTOOLS as it is much faster?

vcf bcftools

-g, --genotype [^][hom|het|miss] include only sites with one or more homozygous (hom), heterozygous (het) or missing (miss) genotypes. When prefixed with ^, the logic is reversed; thus ^het excludes sites with heterozygous genotypes.

3 answers

$  bcftools view -e 'GT[*]="mis"' input.vcf

This will exclude (-e) sites where any genotype (GT[*]) is missing (="mis").

not tested:

 bcftools view -g  ^miss input.vcf

Another solution:

bcftools filter --include 'AN=2*N_SAMPLES' [VCF/BCF]

[courtesy finswimmer for N_SAMPLES part]

Pierre's, finswimmer's, and this solution all produce the exact same output (tested with diff)

Log in to answer this question.