broadinstitute / Drop-seq

Java tools for analyzing Drop-seq data
MIT License
119 stars 34 forks source link

Errors that occur with create_Drop-seq_reference_metadata.sh #433

Open daliziya opened 1 month ago

daliziya commented 1 month ago

bash create_Drop-seq_reference_metadata.sh \ -n Homo_sapiens_genome_annotation \ -r /mnt/d/linux/ceshi/hg38.fa \ -s Human \ -g /mnt/d/linux/ceshi/hg38.gtf \ -o /mnt/d/linux/ceshi Error: Unable to initialize main class picard.cmdline.PicardCommandLine Caused by: java.lang.NoClassDefFoundError: org/broadinstitute/barclay/argparser/CommandLineProgramProperties ERROR: non-zero exit status 1 executing java -Xmx4g -Djava.io.tmpdir=/mnt/d/linux -jar ./lib/picard-3.1.0.jar NormalizeFasta INPUT=/mnt/d/linux/ceshi/hg38.fa OUTPUT=/mnt/d/linux/ceshi/Homo_sapiens_genome_annotation.fasta

daliziya commented 1 month ago

An error occurs when the version used is dropseq-3.0.0 [Thu Jul 11 15:39:16 CST 2024] picard.sam.CreateSequenceDictionary done. Elapsed time: 0.32 minutes. Runtime.totalMemory()=1046478848 ./FilterGtf: 40: Syntax error: "(" unexpected ERROR: non-zero exit status 2 executing ./FilterGtf GTF=/mnt/d/linux/ceshi/hg38.gtf SEQUENCE_DICTIONARY=/mnt/d/linux/ceshi/Homo_sapiens_genome_annotation.dict OUTPUT=/mnt/d/linux/ceshi/Homo_sapiens_genome_annotation.gtf

alecw commented 1 month ago

Hi @daliziya ,

I'm a little confused. Your second comment seems to indicate that you got past the first problem. What did you do to fix the first problem?

Anyway, a few thoughts:

daliziya commented 1 month ago

I didn't solve the first issue, it still occurs after running, it's just that I can run the program with dropseq3.0.0, plus I'm using Java21. If you can, please provide me with a copy of the sample data for me to try and run.thank you.

------------------ 原始邮件 ------------------ 发件人: "broadinstitute/Drop-seq" @.>; 发送时间: 2024年7月11日(星期四) 晚上10:17 @.>; @.**@.>; 主题: Re: [broadinstitute/Drop-seq] Errors that occur with create_Drop-seq_reference_metadata.sh (Issue #433)

Hi @daliziya ,

I'm a little confused. Your second comment seems to indicate that you got past the first problem. What did you do to fix the first problem?

Anyway, a few thoughts:

Confirm that you're using Java 21, by running java --version

Upgrade to dropseq-3.0.1, in which there are many changes to make the shell script more robust.

The scripts are meant to be run with sh, not bash. It probably doesn't matter, but instead of starting your command with bash create_Drop-seq_reference_metadata.sh, start it with .bash create_Drop-seq_reference_metadata.sh

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

alecw commented 1 month ago

Hi @daliziya ,

A few requests before we can help you:

In your first comment, it seems like you got an with the first step of the script, NormalizeFasta. In your second comment, it seems like the second step, CreateSequenceDictionary, has succeeded. If you didn't solve the problem with NormalizeFasta, how did you get to the second step?

daliziya commented 1 month ago

(base) liguojian@DESKTOP-G69UAF2:/mnt/d/linux/dropseq-3.0.1$ bash create_Drop-seq_reference_metadata.sh \

-n mm_genome_annotation   \
-r /mnt/d/linux/ceshi1/GRCm39.fna   \
-s mm    \
-g /mnt/d/linux/ceshi1/GRCm39.gtf   \
-o  /mnt/d/linux/ceshi1

Error: Unable to initialize main class picard.cmdline.PicardCommandLine Caused by: java.lang.NoClassDefFoundError: org/broadinstitute/barclay/argparser/CommandLineProgramProperties ERROR: non-zero exit status 1 executing java -Xmx4g -Djava.io.tmpdir=/mnt/d/linux -jar ./lib/picard-3.1.0.jar NormalizeFasta INPUT=/mnt/d/linux/ceshi1/GRCm39.fna OUTPUT=/mnt/d/linux/ceshi1/mm_genome_annotation.fasta

alecw commented 1 month ago

Hi @daliziya ,

I've been able to reproduce this problem with dropseq-3.0.1. However, I cannot reproduce with dropseq.3.0.0, so I'm a little puzzled. We switched from a "fat" picard jar in release 3.0.1. Anyway, I'm going to fix this and push out a new release.

@mschilli87 , do you have any thoughts on this? It's hard to see how the scripts could have worked at all to run Picard programs in release 3.0.1.

Regards, Alec

mschilli87 commented 1 month ago

No idea right away. But if you have a reproducer and a known good and bad tag, you should be able to bisect it to a specific commmit, no? I'd be happy to help tracking this down but I am not sure I understand what exactly is going wrong.

alecw commented 1 month ago

@mschilli87 The issue is that picard.jar no longer has all the dependent classes in it, so those need to be on the classpath.

@daliziya Please try new release and let me know how it goes.

-Alec