broadinstitute / Drop-seq

Java tools for analyzing Drop-seq data

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Errors that occur with create_Drop-seq_reference_metadata.sh

daliziya opened this issue · comments

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

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

commented

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
commented

Hi @daliziya ,

A few requests before we can help you:

  • If you have multiple problems, submit a separate issue for each problem.
  • Use release 3.0.1
  • Show the command line you invoked.

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?

(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

commented

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

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.

commented

@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