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!

Powered by Vanilla. Made with Bootstrap.
GATK 3.7 is here! Be sure to read the Version Highlights and optionally the full Release Notes.
Register now for the upcoming GATK Best Practices workshop, Feb 20-22 in Leuven, Belgium. Open to all comers! More info and signup at http://bit.ly/2i4mGxz

Java version with QUEUE.

userNameuserName Member Posts: 11
edited October 2013 in Ask the GATK team

Hi team,

I have Java 1.6 installed in my system. I know that GATK works now with Java 1.7, but I work in a shared system and I can not change the default java version so I downloaded Java 1.7 and I work asigning the java version at the call:

If I run:

/jre1.7.0/bin/java -Djava.io.tmpdir=tmp -jar Queue.jar --help

works fine, but if I try:

/jre1.7.0/bin/java -Djava.io.tmpdir=tmp -jar Queue.jar -S myScala.file ....

I get the following error:

DEBUG 13:42:50,953 FunctionEdge - Starting: /Qscripts > 'java' '-Xmx2048m' '-XX:+UseParallelOldGC' '-XX:ParallelGCThreads=4' '-XX:GCTimeLimit=50' '-XX:GCHeapFreeLimit=10' '-Djava.io.tmpdir=/Qscripts/tmp' '-cp' 'Queue.jar' 'org.broadinstitute.sting.gatk.CommandLineGATK' '-T' 'HaplotypeCaller' '-I' '/resources/exampleBAM.bam' '-R' '/resources/exampleFASTA.fasta' '-nct' '1' '-o' '/raw1.vcf' '-hets' '0.005'
INFO 13:42:50,954 FunctionEdge - Output written to /raw1.vcf.out
DEBUG 13:42:50,954 IOUtils - Deleted /raw1.vcf.out
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.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.broadinstitute.sting.gatk.CommandLineGATK. Program will exit.

Seems like if HaplotypeCaller call java again and use the default java in the system, that is Java 1.6

Can I change the "java" version parameter?

Thanks in advance,

Tagged:

Best Answer

Answers

  • pdexheimerpdexheimer Member, Dev Posts: 543 ✭✭✭✭

    What if you manipulate your PATH environment variable? Put the 1.7 JRE first, and maybe even remove the entry for 1.6. It's also pretty hack-ish, but might be simpler than rebuilding Queue

  • userNameuserName Member Posts: 11
    edited October 2013

    Thank you very much for your answers, Johan and pdexheimer. Finally I have solved it.

    First, I tried with the pdexheimer way. I add the jre 1.7 to PATH variable and bashrc so if I did:

    $: java -version

    The output: "java version "1.7.0"" (instead java version "1.6.0")

    and for:

    $: which java

    I obtained: "myPath/jre1.7.0/bin"

    I thought that I had solved the problem but when I tried:

    $: java -Djava.io.tmpdir=tmp -jar Queue.jar -S myScala.file ....

    I get the version java error (Exception in thread "main" java.lang.UnsupportedClassVersionError: org/broadinstitute/sting/gatk/CommandLineGATK : Unsupported major.minor version 51.0). I'm not sure why...

    So I tried the Johan solution. I found where the call was:

    gatk-protected-master/public/scala/src/org/broadinstitute/sting/queue/function/JavaCommandLineFunction.scala

    I just change : "def commandLine = required("java") + javaOpts + javaExecutable" by

    "def commandLine = required("/myApps/jre1.7.0/bin/java") + javaOpts + javaExecutable"

    I rebuilded Queue and now is working fine.

    Regards,

Sign In or Register to comment.