UcarLab / PEAS

Code repository for PEAS (Predict Enhancers from ATAC-seq), including feature extraction files and easy to use python script for training enhancer models and predicting enhancers using MLP Neural Networks.
MIT License
9 stars 2 forks source link

ClassNotFoundException: htsjdk.samtools.SamReaderFactory #3

Closed RoseString closed 4 years ago

RoseString commented 4 years ago

Hello,

I've been trying to extract features using PEAS but had some issues. Basically, after the BAM file is sorted, the program ran into 'NoClassDefFoundError' and 'ClassNotFoundException'.

I already built htsjdk and added the jar file (htsjdk/build/libs/htsjdk-2.21.2-9-g709c9f8-SNAPSHOT.jar) to the $CLASSPATH variable, but it still couldn't find htsjdk.samtools.SamReaderFactory package. However, when I tried to import this package in a self-written java script, it was successful.

I also modified the PEASFeatureExtraction.sh script to add this class path explicitly, but it also failed: java -cp /home/bin/htsjdk/build/libs/htsjdk-2.21.2-9-g709c9f8-SNAPSHOT.jar -jar "${jarpath}PEASTools.jar" bamfilter "${prefix}_sorted.bam" "${nfrsize}"

Do you have any ideas what might have caused this issue?

Thank you!

[bam_sort_core] merging from 32 files and 1 in-memory blocks... Exception in thread "main" java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58) Caused by: java.lang.NoClassDefFoundError: htsjdk/samtools/SamReaderFactory at org.jax.peastools.filter.BAMFilter.filterBAM(BAMFilter.java:31) at org.jax.peastools.filter.BAMFilter.main(BAMFilter.java:21) at org.jax.peastools.Main.main(Main.java:49) ... 5 more Caused by: java.lang.ClassNotFoundException: htsjdk.samtools.SamReaderFactory at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 8 more

RoseString commented 4 years ago

This is a compile-time error. Resolved it by adding the htsjdk jar path to the MANIFEST file within the PEASTools jar.