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.

Why is BaseRecalibrator so slow - not using all threads?

drchriscoledrchriscole Member Posts: 16


I'm running BaseRecalibrator on a full lane of HiSeq. I set the -nct switch to 8, but I see that the average load is <1. Why is this so? Doesn't the BaseRecalibrator use threads properly?

I've seen this thread on how to speed up the process by downsampling. Is this a better option considering I have >200M reads?

BTW I'm using version 2.2-8 - do newer versions implement -num_threads?

I would really love to reduce the runtime from 36hrs.

Many thanks.


  • drchriscoledrchriscole Member Posts: 16

    After a bit of investigating of parameters I've used the -dfrac 0.05 and -dt ALL_READS options to get my runtime down to ~3hrs.

    However, the low amount of CPU load is still a concern.

  • Geraldine_VdAuweraGeraldine_VdAuwera Cambridge, MAMember, Administrator, Broadie Posts: 11,421 admin

    You should definitely use the latest version to take advantage of recent improvements that have been made at many levels of the GATK -- such as the revamped downsampling engine which is less biased than the previous implementation.

    BaseRecalibrator does not support the use of data threads (-nt), only cpu threads (-nct) which you're already using. I can't say why you would see a smaller cpu load than expected; the tool itself uses cpu threads just fine in our hands. Some people have platform or filesystem-related issues getting multithreading to work properly, but that's not something we can do anything about at the moment.

    Geraldine Van der Auwera, PhD

  • Mark_DePristoMark_DePristo Broad InstituteMember Posts: 153 admin

    Definitely use the latest GATK. But it's possible that your system's IO cannot handle the input / output requirements in some way, as you can quickly bottleneck on getting the data or writing it out for 8x throughout. Does the problem persist with the lastest GATK and with a local BAM file?

    Mark A. DePristo, Ph.D.
    Co-Director, Medical and Population Genetics
    Broad Institute of MIT and Harvard

  • drchriscoledrchriscole Member Posts: 16

    Thanks for the replies.

    I've monitored the process with top and I can't see any I/O waiting - it flicks between running and idling - but that might be too blunt a tool?

    I'll try a newer version and see how things progress.

Sign In or Register to comment.