Bug Bulletin: The recent 3.2 release fixes many issues. If you run into a problem, please try the latest version before posting a bug report, as your problem may already have been solved.

Version highlights for GATK release 2.6

Geraldine_VdAuweraGeraldine_VdAuwera Posts: 5,869Administrator, GATK Developer admin
edited June 2013 in Announcements

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.

image

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.

runtimes_new_hmm.png
4400 x 3400 - 425K
Post edited by Geraldine_VdAuwera on

Geraldine Van der Auwera, PhD

Comments

  • mikemike Posts: 103Member

    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(ClassLoader.java:634) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) at java.net.URLClassLoader.access$000(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:212) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 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

  • mikemike Posts: 103Member

    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_VdAuweraGeraldine_VdAuwera Posts: 5,869Administrator, GATK Developer admin

    @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.

    Geraldine Van der Auwera, PhD

  • mikemike Posts: 103Member

    Hi, Geraldine:

    Thanks a lot for pointing that out. Yes, with Java 7, it works!

    Thanks again and best

    Mike

  • karthisivaramankarthisivaraman Posts: 1Member

    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_VdAuweraGeraldine_VdAuwera Posts: 5,869Administrator, GATK Developer admin

    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.

    Geraldine Van der Auwera, PhD

  • chrismitchrismit Posts: 1Member

    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_VdAuweraGeraldine_VdAuwera Posts: 5,869Administrator, GATK Developer admin

    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.

    Geraldine Van der Auwera, PhD

Sign In or Register to comment.