I received an hg38 VCF file that's had variants imputed with 1000 genomes. I've encountered some issues with the VCF; REF alleles that do not align to a reference genome, ALT alleles that do not appear to be reported anywhere in the literature, and, most recently, variants that flat-out do not align to the human genome (variants on chr19 with bp-pos 100 million+ when the whole chromosome is in the 50 million bp range).

I've worked out hack-y solutions to most of the issues that I've encountered, but this latest one has been an issue for me. I only detected these variants when I ran VEP and it flagged them as not mapping to the genome. As such, I'm more or less removing these variants one at a time using grep -v. I'd like a solution where I can just remove any variants from the vcf that appear to map to regions that do not exist in the human genome. Bonus points if the solution also encompasses some of the other issues I mentioned, although I think I've already found solutions to those. Is there anything out there that does this?

  • 1
    $\begingroup$ "ALT alleles that do not appear to be reported anywhere in the literature": this isn't necessarily a problem, of course. It's entirely likely that you will find novel variants in any real life sample. $\endgroup$ – terdon May 14 '19 at 13:29
  • $\begingroup$ While I do agree with you, I've seen enough issues with the VCF that I'm skeptical of anything 'novel' reported in there. I've taken the conservative route and removed these variants, at least until I can get the original genotyped calls from our collaborator and verify that these calls were truly there. $\endgroup$ – John Rouhana May 14 '19 at 13:34
  • 1
    $\begingroup$ Oh sure, depending on what data you expect it might be an issue. I only pointed out it doesn't have to be one. For example, I work with clinical "real world" samples and I expect several hundred, or thousand novel variants with no frequency data, let alone any mention in the literature. $\endgroup$ – terdon May 14 '19 at 13:38
  • $\begingroup$ I would return this VCF to whoever gave it to you and ask them why the positions on chromosome 19 aren’t anywhere near the reference positions. There is virtually no point in proceeding with any kind of analysis if you don’t even know whether the positions are correct. $\endgroup$ – 4galaxy7 Jun 7 at 21:47

Answer I received on Biostars that appears to work as expected:

bcftools norm -Ob --check-ref wx -f <reference_fasta> <vcf.gz> -o <output_name>

| improve this answer | |
  • 4
    $\begingroup$ I would throw away this VCF. The command line only fixes obvious issues but you can never be sure to fix everything without understanding the error source. Those remaining issues may bite you and lead to false conclusions. $\endgroup$ – user172818 May 14 '19 at 13:11
  • $\begingroup$ While in general I would agree with you, I need the vcf to get started on our analysis. We're working on getting the genotype array calls vcf that does not have the imputed data, and hopefully these issues will not exist in that vcf. $\endgroup$ – John Rouhana May 14 '19 at 13:16
  • 10
    $\begingroup$ That chr19 example indicates something deeply wrong with the VCF. This could be due to inconsistent genome versions or low-level bioinformatics errors. The frequency, the alleles and even the positions could be all messed up. bcftools can't fix these for you. You may need to redo all analyses again. Ignoring the errors is not saving time; it is wasting time. Anyway, it is your call. $\endgroup$ – user172818 May 14 '19 at 13:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.