GATK 2.3 was released on December 17, 2012. Highlights are listed below. Read the detailed version history overview here:

Base Quality Score Recalibration

  • Soft clipped bases are no longer counted in the delocalized BQSR.
  • The user can now set the maximum allowable cycle with the --maximum_cycle_value argument.

Unified Genotyper

  • Minor (5%) run time improvements to the Unified Genotyper.
  • Fixed bug for the indel model that occurred when long reads (e.g. Sanger) in a pileup led to a read starting after the haplotype.
  • Fixed bug in the exact AF calculation where log10pNonRefByAllele should really be log10pRefByAllele.

Haplotype Caller

  • Fixed the performance of GENOTYPE_GIVEN_ALLELES mode, which often produced incorrect output when passed complex events.
  • Fixed the interaction with the allele biased downsampling (for contamination removal) so that the removed reads are not used for downstream annotations.
  • Implemented minor (5-10%) run time improvements to the Haplotype Caller.
  • Fixed the logic for determining active regions, which was a bit broken when intervals were used in the system.

Variant Annotator

  • The FisherStrand annotation ignores reduced reads (because they are always on the forward strand).
  • Can now be run multi-threaded with -nt argument.

Reduce Reads

  • Fixed bug where sometime the start position of a reduced read was less than 1.
  • ReduceReads now co-reduces bams if they're passed in toghether with multiple -I.

Combine Variants

  • Fixed the case where the PRIORITIZE option is used but no priority list is given.

Phase By Transmission

  • Fixed bug where the AD wasn't being printed correctly in the MV output file.


  • A brand new version of the per site down-sampling functionality has been implemented that works much, much better than the previous version.
  • More efficient initial file seeking at the beginning of the GATK traversal.
  • Fixed the compression of VCF.gz where the output was too big because of unnecessary call to flush().
  • The allele biased downsampling (for contamination removal) has been rewritten to be smarter; also, it no longer aborts if there's a reduced read in the pileup.
  • Added a major performance improvement to the GATK engine that stemmed from a problem with the NanoSchedule timing code.
  • Added checking in the GATK for mis-encoded quality scores.
  • Fixed downsampling in the ReadBackedPileup class.
  • Fixed the parsing of genome locations that contain colons in the contig names (which is allowed by the spec).
  • Made ID an allowable INFO field key in our VCF parsing.
  • Multi-threaded VCF to BCF writing no longer produces an invalid intermediate file that fails on merging.
  • Picard jar remains at version 1.67.1197.
  • Tribble jar updated to version 119.


In the new release for the HaplotypeCaller function does downsampling do anything? Can we still use --enable_experimental_downsampling? What is your recommendation.

Mon 17 Dec 2012


You no longer need to use `--enable_experimental_downsampling` for anything; the experimental downsampling is now the regular downsampling (see Version history/Version highlights for details) and is used by default by all tools that downsample reads.

Mon 17 Dec 2012

At a glance

Follow us on Twitter

GATK Dev Team


@hoffsbeefs Yes, multithreading can explain some marginal differences. For purely deterministic behavior, it should be disabled.
25 Oct 16
@hoffsbeefs Yes it should be deterministic, given same data, same parameters and no multithreading.
25 Oct 16
RT @BroadGenomics: Missed #GATK WKSP at #ASHG16? 10am meet Geraldine at booth 329 - Broad’s GATK Guru @gatk_dev #BroadGenomicsExperts https…
20 Oct 16
RT @NJL_NGS: Broad Institute Workbench workshop now at #ashg16.
19 Oct 16
RT @konradjk: We're rebranding a bit! gnomAD now adds WGS regions, as well as doubling the data depth and increasing diversity (5K ASJ!) #A…
19 Oct 16

Our favorite tweets from others

Had a really nice time in Vancouver at #ASHG16, also known as "The @dgmacarthur Lab Meeting"
24 Oct 16
Real motivation behind gnomAD: all of you have now learnt the proper capitalization of ExAC, and we felt you needed a new challenge. #ASHG16
20 Oct 16
Asked a question, speaker jokes not to edit your BAM header and expect GATK to let you get away with it.
19 Oct 16
My new hobby: finding incomprehensible diagrams on office whiteboards and adding alarming conclusions to them
30 Sep 16
I've easily written my first custom ReadFilter for GATK. The @gatk_dev 's toolkit is a great example of programming.
21 Sep 16
See more of our favorite tweets...
Search blog by tag

ad appistry ashg ashg16 benchmarks best-practices bug bug-fixed cancer cloud cluster cnv commandline commandlinegatk community compute conferences cram cromwell denovo depthofcoverage diagnosetargets error fix forum gatk3 gatk4 genotype genotype-refinement genotypegvcfs google grch38 gvcf haploid haplotypecaller hg38 holiday hts htsjdk ibm java8 job job-offer jobs license meetings mendelianviolations multithreading mutect mutect2 ngs nt outreach pairhmm parallelism patch performance phone-home picard pipeline plans ploidy polyploid poster presentations printreads profile promote release release-notes rnaseq runtime saas script search selectvariants sequencing service slides snow speed status sting support syntax talks team terminology third-party-tools topstory trivia troll tutorial unifiedgenotyper vcf-gz version-highlights versions vqsr wdl webinar workflow workshop