The current GATK version is 3.7-0
Examples: Monday, today, last week, Mar 26, 3/26/04

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Powered by Vanilla. Made with Bootstrap.
GATK 3.7 is here! Be sure to read the Version Highlights and optionally the full Release Notes.
Register now for the upcoming GATK Best Practices workshop, Feb 20-22 in Leuven, Belgium. Open to all comers! More info and signup at

GATK - HaplotypeCaller is so slow, is this normal??

rcholicrcholic DenverMember Posts: 68

I have 15 exome-seq samples, and have been using BWA-PiCard-GATK pipeline to do the variant calling. I did not realize GATK is so slow until I have to analyze this large number of samples. In this HaplotypeCaller step, each sample seems to take at least 2 days (48+ hours). Is this normal is there's something I did wrong? Below is my command, is there anything wrong or GATK-HaplotypeCaller is known this slooooow?

java -Xmx10g -Djava.awt.headless=true -jar
/Library/Java/Extensions/GenomeAnalysisTK.jar \
-T HaplotypeCaller \
-minPruning 3 \
-dcov 10 \
-R ./GATK_ref/hg19.fasta \
-I ./GATK/BQSR/sample1_realign.recal.compressed.bam \
-o ./GATK/VQSR/sample1_realign.raw.snps_indels.vcf

Is there anything I did wrong with this command? or anything I can change to make it run faster? I am using GATK 2.5 by the way. thanks!


Best Answer


  • pdexheimerpdexheimer Member, Dev Posts: 543 ✭✭✭✭

    You probably should review the Best Practices, but here are my initial thoughts:

    1. dcov is way too low to be useful
    2. Barring some crazy experimental design, you want to do joint calling
    3. You want to restrict analysis to your exome regions.

    Those points, especially 2 and 3, will dramatically speed things up. If it's still too slow, look into Queue. My largest project to date was ~400 samples, which I jointly called with HaplotypeCaller in about four days

  • rcholicrcholic DenverMember Posts: 68

    Thanks for the answer. What's your recommendation for dcov? and how to do joint calling and restrict analysis to exome regions? If you have some quick answers for the parameter settings, that'll be great. If no, I'll spend some time reading the documentation. thanks again

  • rcholicrcholic DenverMember Posts: 68

    @Geraldine_VdAuwera said:
    rcholic, reading the documentation is always a good idea, and the first thing you should start with :)

    But here's a couple of tips to save you some time: for restricting an analysis to specific regions (as in the exome case), look for the -L engine argument here. It is super useful. For joint calling, just pass all your bams at the same time; the easiest way is to make a text file containing the list of bams (one filepath per line) and pass that list file with the -I argument.

    Thanks Geraldine. I've read the documentation, especially on the "-L/--intervals" part. I still have questions what to pass to the "-L". How do I tell it to scan the exome region only? Can I use the intervals files from my run of "GATK - RealignerTargetCreator"? or where can I get a human-exome file (bed format)?

  • rcholicrcholic DenverMember Posts: 68

    I've downloaded the all captured human exome from UCSC website (hg19-based), and feed it to the "-L" parameter, will see how the run goes. Thanks a lot for the help!

  • dheerajdheeraj luxembourgMember Posts: 12

    I am analyzing 2000 exome samples. I am at generating gVCF files using haplotype caller according to best practices and now I have realized that adding -L option saves time and reduces the number false positives. So, can I just add -L option while genotyping in the later stages or is it too late already. Running everything again will take too long time. Please provide me some suggestions. Thank you very much in advance. Hoping for an early reply :)

  • Geraldine_VdAuweraGeraldine_VdAuwera Administrator, Dev Posts: 11,130 admin

    Hi @dheeraj,

    In theory it is better to use an exome targets list for base recalibration too but if you didn't and the results (recal plots) looked reasonable, I don't think you need to reprocess everything. You can proceed with variant discovery and genotyping using your exome intervals, yes. Just be sure that you process all samples in the same way to avoid batch effects.

    Geraldine Van der Auwera, PhD

  • dheerajdheeraj luxembourgMember Posts: 12

    Ok, great thanks a lot :D

Sign In or Register to comment.