To celebrate the release of GATK 4.0, we are giving away free credits for running the GATK4 Best Practices pipelines in FireCloud, our secure online analysis portal. It’s first come first serve, so sign up now to claim your free credits worth $250. Sponsored by Google Cloud. Learn more at

What is the difference between ApplyRecalibration and ApplyVQSR

I am trying to do quality control for germline SNP & indels in 12 cancer patients. I have completed upto the VariantRecalibrator step. Now I am trying to figure out which tool do I use next ApplyRecalibration or ApplyVQSR. I looked at the documentation of both these functions and they seem to do the same thing. I am looking at this pipeline. Here ApplyVQSR has been used and ApplyRecalibrator function is missing. But in the corresponding documentation ApplyRecalibration has been discussed and ApplyVQSR is missing. I am confused, can somebody explain which one should I be using fpr characterizing germline SNP and indels.

Secondly, I noticed that in the wdl file referenced above, the vcf which is output from the indel mode of ApplyVQSR is being fed into ApplyVQSR snp mode (search for the word " tmp.indel.recalibrated.vcf" in the wdl file). But, I thought snp and indels are evaluated separately. Is this correct?

Thank you.



  • SheilaSheila Broad InstituteMember, Broadie, Moderator

    Hi Robin,

    Sorry for the confusion. ApplyRecalibration is the GATK3 tool and ApplyVQSR is the GATK4 tool for use after VariantRecalibrator. I think the point is to make it easier to distinguish between ApplyBQSR and ApplyVQSR in GATK4 :smile:

    For the ApplyVQSR step in the WDL, I think VariantRecalibrator is run twice (once for SNPs and once for INDELs), then ApplyVQSR is run twice (one for SNPs and once for INDELs). I hope that makes sense.


Sign In or Register to comment.