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!

Did you remember to?

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!

Surround blocks of code, error messages and BAM/VCF snippets--especially content with hashes (#)--with lines with three backticks ( ``` ) each to make a code block.
Powered by Vanilla. Made with Bootstrap.
Picard 2.9.0 is now available. Download and read release notes here.
GATK 3.7 is here! Be sure to read the Version Highlights and optionally the full Release Notes.

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: 544 ✭✭✭✭

    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 Cambridge, MAMember, Administrator, Broadie Posts: 11,413 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.