It's finally summer here in New England -- time for cave-dwelling developers to hit the beach and do the lobster dance (those of us who don't tan well anyway). We leave you with a new version of the GATK that includes a new(ish) plotting tool, some more performance improvements to the callers, a lot of feature tweaks and quite a few bug fixes. Be sure to check out the full list in the 2.6 Release Notes.

Highlights are below as usual, enjoy. There's one thing that we need to point out with particular emphasis: we have moved to Java 7, so you may need to update your system's Java version. Full explanation at the end of this document because it's a little long, but be sure to read it.

New(ish) plotting tool for Base Recalibration results

GATK old-timers may remember a tool called AnalyzeCovariates, which was part of the BQSR process in 1.x versions, many moons ago. Well, we've resurrected it to take over the plotting functionality of the BaseRecalibrator, to make it easier and faster to plot and compare the results of base recalibration. This also prevents issues with plot generation in scatter-gather mode. We'll update our docs on the BQSR workflow in the next few days, but in the meantime you can find full details of how to use this tool here.

HaplotypeCaller now so sensitive, it cries at the movies

We know you don't want to miss a single true variant, so for this release, we've put a lot of effort into making the HaplotypeCaller more sensitive. And it's paying off: in our tests, the HaplotypeCaller is now more sensitive than the UnifiedGenotyper for calling both SNPs and indels when run over whole genome datasets.

[graph to illustrate, coming soon]

UnifiedGenotyper: not out of the race yet

You might think all our focus is on improving the HaplotypeCaller these days; you would be wrong. The UnifiedGenotyper is still essential for calling large numbers of samples together, for dealing with exotic ploidies, and for calling pooled samples. So we've given it a turbo boost that makes it go twice as fast for calling indels on multiple samples.

The key change here is the updated Hidden Markov Model used by the UG. You can see on the graph that as the number of exomes being called jointly increases, the new HMM keeps runtimes down significantly compared to the old HMM.

Version tracking in the VCF header

Don’t you hate it when you go back to a VCF you generated some months ago, and you have no idea which version of GATK you used at the time? (And yes, versions matter. Sometimes a lot.) We sure do, so we added a function to add the GATK version number in the header of the VCFs generated by GATK.

Migration to Java 7

Speaking of software versions... As you probably know, the GATK runs on Java -- specifically, until now, version 6 of the Runtime Environment (which translates to version 1.6 if you ask java -version at the command prompt). But the Java language has been evolving under our feet; version 7 has been out and stable for some time now, and version 8 is on the horizon. We were happy as clams with Java 6… but now, newer computers with recent OS versions ship with Java 7, and on MacOS X once you update the system it is difficult to go back to using Java 6. And since Java 7 is not fully backwards compatible, people have been running into version problems.

So, we have made the difficult but necessary decision to follow the tide, and migrate the GATK to Java 7. Starting with this release, GATK will now require Java 7 to run. If you try to run with Java 6, you will probably get an error like this:

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/broadinstitute/sting/gatk/CommandLineGATK : Unsupported major.minor version 51.0

If you're not sure what version of Java you are currently using, you can find out very easily by typing the following command:

java -version

which should return something like this:

java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)

If not, you'll need to update your java version. If you have any difficulty doing this, please don’t ask us in the forum -- you’ll get much better, faster help if you ask your local IT department.

Return to top

mike on 24 Jun 2013

Hi, It seems that the new release has bug: if I run the following, I got error java -Xmx2g -jar /opt/nasapps/development/gatk/2.6-4/bin/GenomeAnalysisTK.jar -T RealignerTargetCreator -h Exception in thread "main" java.lang.UnsupportedClassVersionError: org/broadinstitute/sting/gatk/CommandLineGATK : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass( at at at$000( at$ at Method) at at java.lang.ClassLoader.loadClass( at sun.misc.Launcher$AppClassLoader.loadClass( at java.lang.ClassLoader.loadClass( Could not find the main class: org.broadinstitute.sting.gatk.CommandLineGATK. Program will exit. But if I run: java -Xmx2g -cp /opt/nasapps/development/gatk/2.6-4/bin/GenomeAnalysisTK.jar -help, which seem fine. then I run the following: java -Xmx2g -cp /opt/nasapps/development/gatk/2.6-4/bin/GenomeAnalysisTK.jar -T RealignerTargetCreator -h Unrecognized option: -T Could not create the Java virtual machine. Either way, I can not use the new build 2.6-4. Could you check on that Thanks Mike

mike on 24 Jun 2013

just additional info, if I used an old version, I can perfectly run the following without error: java -Xmx2g -jar /opt/nasapps/development/gatk/2.5-2/bin/GenomeAnalysisTK.jar -T RealignerTargetCreator -h Thx, Mike

Geraldine_VdAuwera on 24 Jun 2013

@mike, that's the error you get when you have an older java version. Please see the text of the announcement relating to the Java version upgrade.

mike on 24 Jun 2013

Hi, Geraldine: Thanks a lot for pointing that out. Yes, with Java 7, it works! Thanks again and best Mike

karthisivaraman on 24 Jun 2013

I am in a quandry. I use Mac OS X 10.6.8, with Java 1.6.0_51. Unfortunately, I cannot upgrade to Java 7, since there is some compatibility issue. Also unfortunately, I cannot run GATK 2.6 because it won't run with Java 1.6. Is there a legacy version that I can access to run in my mac? Even GATK 1.6 should do. Or an archived copy of GATK-lite? Thanks.

Geraldine_VdAuwera on 24 Jun 2013

You can get the 2.5 version from our [github repository](, but you'll have to build from source. Are you sure you can't upgrade your MacOS and Java? As time goes on you will not be able to use any of the new improvements, and we won't be able to provide support for running an old version.

chrismit on 24 Jun 2013

So, is there anywhere the false negative rate and false positive rates for the HaplotypeCaller are listed? I don't need a graph, but some ballpark number would be appreciated.

Geraldine_VdAuwera on 24 Jun 2013

I don't have the numbers on hand but I'll try to dig them up on Monday. You'll be happy to hear that starting with the next release (2.7) we will systematically issue the numbers for every new version.

Waqas on 24 Jun 2013

I am using the latest version of java and GATK but I am still getting error, It will be highly appreciated if you please help me in sorting out this error . Thanks java version "1.7.0_121" OpenJDK Runtime Environment (IcedTea 2.6.8) (7u121-2.6.8-1ubuntu0.14.04.3) OpenJDK 64-Bit Server VM (build 24.121-b00, mixed mode) asd@asd-Inspiron-5521:~$ java -jar /usr/bin/GenomeAnalysisTK.jar --help Exception in thread "main" java.lang.UnsupportedClassVersionError: org/broadinstitute/gatk/engine/CommandLineGATK : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass( at at at$100( at$ at$ at Method) at at java.lang.ClassLoader.loadClass( at sun.misc.Launcher$AppClassLoader.loadClass( at java.lang.ClassLoader.loadClass( at sun.launcher.LauncherHelper.checkAndLoadMain(

Geraldine_VdAuwera on 24 Jun 2013

The latest version of Java is 1.8, not 1.7. Upgrading your Java will fix this.

- Recent posts

- Upcoming events

See Events calendar for full list and dates

- Recent events

See Events calendar for full list and dates

- Follow us on Twitter

GATK Dev Team


@davemc528 No, we don’t trim reads in any of our short read pipelines. Happy to discuss in more detail and point yo…
13 Dec 19
@HollyMcQueary In general that sounds appropriate, though this might be worth discussing in more detail in our supp…
11 Dec 19
@FanBoyShi For this kind of question we'd prefer you post in the forum so we can troubleshoot in detail -- but if…
8 Dec 19
RT @seandavis12: Calling Somatic SNVs and Indels with Mutect2
3 Dec 19
Couldn’t have said it better
3 Dec 19

- Our favorite tweets from others

@CBIB_UNAB @gatk_dev @TerraBioApp This project is the product of ongoing collaborations with @SGWilliams1980 and…
28 Oct 19
Si estas en #SOIBIO+10, acércate del poster 48! I will be talking about my latest research at @CBIB_UNAB looking i…
28 Oct 19
After the Gatk workshop, I can only say thanks to @gatk_dev and @broadinstitute for their great effort to create a…
25 Oct 19
Hoy termina el GATK Workshop que nuestra Área de Bioinformática Clínica ha organizado en el centro de simulación cl…
25 Oct 19

See more of our favorite tweets...