erhard-lab / gedi

GNU General Public License v3.0
2 stars 1 forks source link

GRAND-SLAM failed with the error java.lang.RuntimeException: Could not run gedi.slam.javapipeline.SlamRates@6b4b98f #11

Closed dhebenstreit closed 4 months ago

dhebenstreit commented 5 months ago

please find the error logs below. the same run works with a small number of samples. trying to run it will all 43 samples produces the error below (some information redacted with '[...]'). also, is there a way to check that the no4su samples have been successfully recognized and processed? thanks for helping, Dan

2024-06-26 11:32:39.132 INFO OS: Linux 3.10.0-514.26.2.el7.x86_64 amd64 2024-06-26 11:32:39.231 INFO Java: OpenJDK 64-Bit Server VM 1.8.0_382-b05 2024-06-26 11:32:39.328 INFO Discovering classes in classpath 2024-06-26 11:32:39.403 INFO Preparing simple class references 2024-06-26 11:32:39.499 INFO Gedi version 1.0.2 (JAR) startup 2024-06-26 11:32:39.501 INFO Command: gedi -e Slam -genomic [...] -prefix [...] -progress -plot -full -D -trim5p 6 -reads files.bamlist 2024-06-26 11:32:39.502 INFO GRAND-SLAM version 2.0.5f 2024-06-26 11:32:39.577 SEVERE Could not load startup FxStartup.class in [...] 2024-06-26 11:32:39.688 INFO Reading oml [...] 2024-06-26 11:32:39.694 INFO Done reading oml [...] WARNING: BAM index file [...] is older than BAM [...] [same warning 28 times] 2024-06-26 11:32:41.271 INFO Reading SNPs... 2024-06-26 11:32:41.291 INFO Read 0 SNPs! 2024-06-26 11:32:41.293 INFO Collecting reads for each gene (Strand: AutoDetect) ... Processed 57078 elements in 21s 627ms (Throughput: 2639.1/sec) 2024-06-26 11:33:04.384 INFO Writing statistics 2024-06-26 11:33:04.819 INFO Running R scripts for plotting Error in $<-.data.frame(*tmp*, Mismatch, value = "->") : replacement has 1 row, data has 0 Calls: $<- -> $<-.data.frame Execution halted Slam Slam is an analysis method for SLAM/scSLAM-seq data.

Error: java.lang.RuntimeException: Could not run gedi.slam.javapipeline.SlamRates@6b4b98f Could not run gedi.slam.javapipeline.SlamRates@6b4b98f If you rerun, either delete the snps file or specify -strandness!

gedi -e Slam

General: -prefix The prefix used for all output files -genomic The indexed GEDI genome. -reads The mapped reads from the SLAM-seq experiment.

Commandline: -progress Show progress -D Verbose output of errors -h Show usage -hh Show verbose usage -hhh Show extra verbose usage -dry Dry run -keep Do not remove temp files

java.lang.RuntimeException: java.lang.RuntimeException: Could not run gedi.slam.javapipeline.SlamRates@6b4b98f at gedi.util.job.schedule.DefaultPetriNetScheduler.run(DefaultPetriNetScheduler.java:223) at gedi.util.program.GediProgram$1.execute(GediProgram.java:375) at gedi.util.program.GediProgram.run(GediProgram.java:210) at executables.Slam.main(Slam.java:46) Caused by: java.lang.RuntimeException: Could not run gedi.slam.javapipeline.SlamRates@6b4b98f at gedi.util.program.GediProgramJob.execute(GediProgramJob.java:63) at gedi.util.program.GediProgramJob.execute(GediProgramJob.java:27) at gedi.util.job.FireTransition.call(FireTransition.java:54) at gedi.util.job.FireTransition.call(FireTransition.java:25) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:750) Caused by: java.lang.RuntimeException: If you rerun, either delete the snps file or specify -strandness! at gedi.slam.javapipeline.SlamRates.execute(SlamRates.java:126) at gedi.util.program.GediProgramJob.execute(GediProgramJob.java:61) ... 7 more

florianerhard commented 5 months ago

Dear Dan,

Caused by: java.lang.RuntimeException: If you rerun, either delete the snps file or specify -strandness!

This means that there are already output files (in particular: a file containing the inferred SNPs) from a previous run, and this version of grandslam then needs the -strandness parameter. However, this looks as if this was not done on purpose (0 SNPs would be unusual), so please check the output folder if it unintentionally already contains output files and delete them.

More importantly: I would suggest to update to the most recent version (from github) Best, Florian

dhebenstreit commented 5 months ago

thanks for your response. i removed existing output files and now get a different error, please see below. i will try updating the version in the near future, but this is not trivial with our shared system etc

Error: java.lang.RuntimeException: Could not run gedi.slam.javapipeline.SlamCollectStatistics@33e36e2f Could not run gedi.slam.javapipeline.SlamCollectStatistics@33e36e2f Exception in parallel iterator thread! Could not read sequence from file /run/media/root/raiddisk2/[...] /run/media/root/raiddisk2/[...].fa (Too many open files)

florianerhard commented 5 months ago

please convert to cit first if you have a lot of bam files: https://github.com/erhard-lab/gedi/wiki/Mapped-reads#creating-a-cit-file-from-bam-files

dhebenstreit commented 4 months ago

thanks, converting to git helped, it got further this time, however it still produced an error:

2024-06-28 10:46:00.681 INFO OS: Linux 3.10.0-514.26.2.el7.x86_64 amd64 2024-06-28 10:46:03.008 INFO Java: OpenJDK 64-Bit Server VM 22.0.1+8-16 2024-06-28 10:46:03.049 INFO Discovering classes in classpath 2024-06-28 10:46:03.069 INFO Preparing simple class references 2024-06-28 10:46:05.863 INFO Gedi version 1.0.2 (JAR) startup 2024-06-28 10:46:05.948 INFO Command: gedi -e Slam -genomic [...] -prefix [...] -progress -plot -full -D -trim5p 6 -reads files.bamlist.cit 2024-06-28 10:46:05.951 INFO GRAND-SLAM version 2.0.5f 2024-06-28 10:46:07.526 SEVERE Could not load startup FxStartup.class in /[...]/GRAND-SLAM_2.0.5f/gedi.jar 2024-06-28 10:46:08.416 INFO Reading oml /[...].oml 2024-06-28 10:46:08.421 INFO Done reading oml /[...].oml 2024-06-28 10:46:24.822 INFO Finding SNPs... Processed 57078 elements in 22m 54s 719ms (Throughput: 41.5/sec) 2024-06-28 11:12:04.116 INFO Auto-Detecting sequencing mode: Sense:78065842 Antisense:372278172 2024-06-28 11:12:04.120 INFO Detected strand-specific sequencing (Antisense) 2024-06-28 11:12:04.182 INFO Reading SNPs... 2024-06-28 11:12:06.603 INFO Read 481027 SNPs! 2024-06-28 11:12:06.605 INFO Collecting reads for each gene (Strand: Antisense) ... Processed 57078 elements in 1h 38m 52s 20ms (Throughput: 9.6/sec) 2024-06-28 13:08:54.249 INFO Writing statistics 2024-06-28 13:08:56.181 INFO Running R scripts for plotting null device 1 null device 1 null device 1 null device 1 2024-06-28 13:09:57.352 INFO Determining linear models using no4sU_S30_sorted 2024-06-28 13:09:57.466 INFO errlm=TA1.7344510462607352 2024-06-28 13:09:57.468 INFO errlm2=TA2.1382468487141786 2024-06-28 13:09:57.468 INFO Estimate conversions for old RNA using linear model TA*1.7344510462607352 for mismatches on exons Slam Slam is an analysis method for SLAM/scSLAM-seq data.

Error: java.lang.RuntimeException: Could not run gedi.slam.javapipeline.SlamRates@5a7a42c8 Could not run gedi.slam.javapipeline.SlamRates@5a7a42c8 Cannot invoke "javax.script.ScriptEngine.createBindings()" because "this.engine" is null

gedi -e Slam

General: -prefix The prefix used for all output files -genomic The indexed GEDI genome. -reads The mapped reads from the SLAM-seq experiment.

Commandline: -progress Show progress -D Verbose output of errors -h Show usage -hh Show verbose usage -hhh Show extra verbose usage -dry Dry run -keep Do not remove temp files

java.lang.RuntimeException: java.lang.RuntimeException: Could not run gedi.slam.javapipeline.SlamRates@5a7a42c8 at gedi.util.job.schedule.DefaultPetriNetScheduler.run(DefaultPetriNetScheduler.java:223) at gedi.util.program.GediProgram$1.execute(GediProgram.java:375) at gedi.util.program.GediProgram.run(GediProgram.java:210) at executables.Slam.main(Slam.java:46) Caused by: java.lang.RuntimeException: Could not run gedi.slam.javapipeline.SlamRates@5a7a42c8 at gedi.util.program.GediProgramJob.execute(GediProgramJob.java:63) at gedi.util.program.GediProgramJob.execute(GediProgramJob.java:27) at gedi.util.job.FireTransition.call(FireTransition.java:54) at gedi.util.job.FireTransition.call(FireTransition.java:25) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1570) Caused by: java.lang.NullPointerException: Cannot invoke "javax.script.ScriptEngine.createBindings()" because "this.engine" is null at gedi.util.nashorn.JS.(JS.java:74) at gedi.slam.javapipeline.SlamRates.estimateOld(SlamRates.java:494) at gedi.slam.javapipeline.SlamRates.execute(SlamRates.java:188) at gedi.util.program.GediProgramJob.execute(GediProgramJob.java:61) ... 7 more

florianerhard commented 4 months ago

Unfortunately, this combination of Java (22) and Gedi (1.0.2) does not work. Please either update Gedi, or use a Java version <15 (which you have in your first comment)! F

dhebenstreit commented 4 months ago

it seems to have worked now, thank you so much, Florian, I appreciate it!