Oshlack / JAFFA

JAFFA is a multi-step pipeline that takes either raw RNA-Seq reads, or pre-assembled transcripts, then searches for gene fusions
https://github.com/Oshlack/JAFFA/wiki
Other
87 stars 21 forks source link

Java and Groovy error while first time using JAFFA version 2.3 #91

Open hkoseoglu opened 1 year ago

hkoseoglu commented 1 year ago

Dear JAFFA Developer,

I encountered a java.lang.ExceptionInInitializerError with the following stack trace:

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:109) at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:131) Caused by: groovy.lang.MissingMethodException: No signature of method: static java.util.logging.Logger.getLogger() is applicable for argument types: (java.lang.String) values: [bpipe.Runner] at groovy.lang.MetaClassImpl.invokeStaticMissingMethod(MetaClassImpl.java:1500) at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1486) at org.codehaus.groovy.runtime.callsite.StaticMetaClassSite.call(StaticMetaClassSite.java:53) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) at bpipe.Runner.<clinit>(Runner.groovy:52) ... 6 more I used this code to use JAFFA:

./tools/bin/bpipe run JAFFA_assembly.groovy example/MiSeqSim_1.fastq.gz example/MiSeqSim_2.fastq.gz

Versionf of java and groovy

groovy --version Groovy Version: 4.0.11 JVM: 17.0.6 Vendor: Private Build OS: Linux

java --version openjdk 17.0.6 2023-01-17 OpenJDK Runtime Environment (build 17.0.6+10-Ubuntu-0ubuntu120.04.1) OpenJDK 64-Bit Server VM (build 17.0.6+10-Ubuntu-0ubuntu120.04.1, mixed mode, sharing)

I believe this error is related to a missing method in the java.util.logging.Logger class being called with an argument of type java.lang.String in the bpipe.Runner class. Can you please provide guidance on how to resolve this issue?

Thank you for your attention. Huseyin

nadiadavidson commented 1 year ago

Hi Huseyin,

Sorry for the very slow reply to this message! I've only just seen it now.

This looks like an issue related to bpipe, so I think your best option might be to try to install bpipe manually (see https://docs.bpipe.org/) until you know it is working and then run JAFFA like:

run JAFFA_assembly.groovy example/MiSeqSim_1.fastq.gz example/MiSeqSim_2.fastq.gz If this fails you may be able to get some assistance from the bpipe author, @ssadedin Cheers, Nadia.
ssadedin commented 1 year ago

hi @hkoseoglu unfortunately this problem is related to Java version 17. Older versions of Bpipe require Java 8 or older, newer versions can run with Java 11. Could you try installing one of those versions and seeing if that helps?

RDorney commented 10 months ago

Hello, I have run into a similar issue with JAFFAL. And found the above solutions work also solve this issue :)

/opt/JAFFA-version-2.3/tools/bin/bpipe run -n 1 -p exclude="NoSupport,PotentialReadThrough" -p jaffa_output="jaf
fal_results_SGNex_MCF/" /opt/JAFFA-version-2.3/JAFFAL.groovy SGNex_MCF7_cDNA_replicate1_run3.fastq.gz

Java HotSpot(TM) 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
java.lang.ExceptionInInitializerError
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:109)
        at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:131)
Caused by: groovy.lang.MissingMethodException: No signature of method: static java.util.logging.Logger.getLogger() is applicable for argument types: (java.lang.String) values: [bpipe.Runner]
        at groovy.lang.MetaClassImpl.invokeStaticMissingMethod(MetaClassImpl.java:1500)
        at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1486)
        at org.codehaus.groovy.runtime.callsite.StaticMetaClassSite.call(StaticMetaClassSite.java:53)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
        at bpipe.Runner.<clinit>(Runner.groovy:52)
        ... 6 more