The current GATK version is 3.8-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!

Get notifications!

You can opt in to receive email notifications, for example when your questions get answered or when there are new announcements, by following the instructions given here.

Got a problem?

1. Search using the upper-right search box, e.g. using the error message.
2. Try the latest version of tools.
3. Include tool and Java versions.
4. Tell us whether you are following GATK Best Practices.
5. Include relevant details, e.g. platform, DNA- or RNA-Seq, WES (+capture kit) or WGS (PCR-free or PCR+), paired- or single-end, read length, expected average coverage, somatic data, etc.
6. For tool errors, include the error stacktrace as well as the exact command.
7. For format issues, include the result of running ValidateSamFile for BAMs or ValidateVariants for VCFs.
8. For weird results, include an illustrative example, e.g. attach IGV screenshots according to Article#5484.
9. For a seeming variant that is uncalled, include results of following Article#1235.

Did we ask for a bug report?

Then follow instructions in Article#1894.

Formatting tip!

Wrap blocks of code, error messages and BAM/VCF snippets--especially content with hashes (#)--with lines with three backticks ( ``` ) each to make a code block as demonstrated here.

Jump to another community
Download the latest Picard release at
GATK version 4.beta.3 (i.e. the third beta release) is out. See the GATK4 beta page for download and details.

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

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

    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

    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

    @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

    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

    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 Cambridge, MAMember, Administrator, Broadie

    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.

  • dheerajdheeraj luxembourgMember

    Ok, great thanks a lot :D

Sign In or Register to comment.