We’re moving the GATK website, docs and forum to a new platform. Read the full story and breakdown of key changes on this blog.
If you happen to see a question you know the answer to, please do chime in and help your fellow community members. We encourage our fourm members to be more involved, jump in and help out your fellow researchers with their questions. GATK forum is a community forum and helping each other with using GATK tools and research is the cornerstone of our success as a genomics research community.We appreciate your help!
Test-drive the GATK tools and Best Practices pipelines on Terra
Check out this blog post to learn how you can get started with GATK and try out the pipelines in preconfigured workspaces (with a user-friendly interface!) without having to install anything.
Java version issues
As documented here, GATK requires a particular major version of Java. If you try to run it with any other version, you'll get an error that will include this line:
Unsupported major.minor version
To sidestep this sort of problem entirely, we recommend using the Docker container system, if that's an option on your infrastructure, because that takes care of all software requirements and dependencies for you. You can check out a tutorial on using GATK through Docker here. But if that's not an option for you, read on.
- Checking your Java version
- Upgrading your version of Java
- Selecting between different versions of Java on the same system
1. Checking your Java version
You can check your Java version by opening your terminal application and running the following command:
The bit of the output that we care about here is the line that says something like
java version "1.8.0_65".
2. Upgrading your version of Java
Depending on your operating system this can be more or less painful. Generally it's a matter of going to either the Oracle website or the OpenJDK website and picking the distribution that matches our version requirements and your operating system. To find this, Google is your friend. Then follow the instructions provided by Oracle or OpenJDK.
The most common problem we see people run into is that on MacOSX, if you get the Oracle JRE (Java Runtime Environment) package, installing the new Java version doesn't automatically make it available to run in the terminal -- and depending on versions we've had a tough time figuring out out to address that. However, we find that if you get the JDK (Java Development Kit) package instead, everything works right away. So get that package, and don't be put off by the "Development Kit" bit in the name; there's no difference from the end-user perspective.
3. Selecting between different versions of Java on the same system
Yes, it is possible to have several different versions of Java installed on your system! There are several ways to manage this; here's a way to do it that we find reasonably straightforward.
Let's say your system is set up to use Java 1.8 by default, but for some reason (to replicate an old analysis?) you need to run an older version of GATK that requires Java 1.7. Well, you can specify which version of Java you want to invoke by doing this:
You may need to change the orange part in the command, which should refer to the specific version of java you have installed on your machine (version and update). To find that, navigate to the folder where you installed the JDK. Under the “JavaVirtualMachines” folder, you should find JDK folders that name the specific version and update.