[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Need some help with bbmap



Hi Pranav,

I admit its even worse for me. :-(

On Tue, Jun 30, 2020 at 12:03:22PM +0530, Pranav Ballaney wrote:
> Hi,
> I was trying to add autopkgtests to bbmap [1] but I'm having some trouble
> getting it to work.
> Here is the command I'm trying to run along with the output (and I've
> attached the input file with this email).
> 
> > bbduk.sh in=SRR1753664_1.min.fastq out=clean1.fq

Please somehow commit your input files.  I simply tried:

  bbduk.sh in=something out=anything

> /usr/bin/bbduk.sh: line 348: /usr/share/bbmap/calcmem: No such file or
> directory
> /usr/bin/bbduk.sh: line 349: setEnvironment: command not found
> /usr/bin/bbduk.sh: line 350: parseXmx: command not found
> /usr/bin/bbduk.sh: line 354: freeRam: command not found
> java -Xmxm -Xmsm -cp /usr/share/java/bbmap.jar jgi.BBDuk
> in=SRR1753664_1.min.fastq out=clean1.fq
> Invalid maximum heap size: -Xmxm
> Error: Could not create the Java Virtual Machine.
> Error: A fatal exception has occurred. Program will exit.
>
> It says that it couldn't find calcmem, which is probably because in
> d/rules, line 30 is commented out.
> 
> # cp -a calcmem.sh $(PKGSHAREDIR)/calcmem # we don't have any name
> space collision when keeping .sh extension
> 
> After uncommenting this and building, this error goes away,

Yep.  I commited this.  Always feel free to push your local changes if
you find some enhancement.

> but I get the
> following error:
> 
> > bbduk.sh in=SRR1753664_1.min.fastq out=clean1.fq
> java -ea -Xmx1110m -Xms1110m -cp /usr/share/java/bbmap.jar jgi.BBDuk
> in=SRR1753664_1.min.fastq out=clean1.fq
> Executing jgi.BBDuk [in=SRR1753664_1.min.fastq, out=clean1.fq]
> Version 38.84
> 
> Warning!  Cannot find primes.txt.gz
> /home/pranav/code/debian-med/bbmap/SRR1753664/file:/usr/share/java/bbmap.jar!/primes.txt.gz
> java.lang.Exception
>         at dna.Data.findPath(Data.java:1246)
>         at dna.Data.findPath(Data.java:1193)
>         at shared.Primes.fetchPrimes(Primes.java:167)
>         at shared.Primes.<clinit>(Primes.java:177)
>         at kmer.ScheduleMaker.<clinit>(ScheduleMaker.java:155)
>         at jgi.BBDuk.<init>(BBDuk.java:984)
>         at jgi.BBDuk.main(BBDuk.java:77)
> Exception in thread "main" java.lang.ExceptionInInitializerError
>         at kmer.ScheduleMaker.<clinit>(ScheduleMaker.java:155)
>         at jgi.BBDuk.<init>(BBDuk.java:984)
>         at jgi.BBDuk.main(BBDuk.java:77)
> Caused by: java.lang.NullPointerException
>         at fileIO.ByteFile.<init>(ByteFile.java:43)
>         at fileIO.ByteFile1.<init>(ByteFile1.java:98)
>         at fileIO.ByteFile1.<init>(ByteFile1.java:94)
>         at shared.Primes.fetchPrimes(Primes.java:169)
>         at shared.Primes.<clinit>(Primes.java:177)
>         ... 3 more
> 
> 
> I tried running the same command using the upstream package, and it works
> fine, so it's certainly some issue with the packaging here.
>
> It appears to have something to do with line 33 in d/rules, where the path
> is being replaced from ".DIR""current/" to the jar file.
> I've never worked with .jar files or Java in general, so I don't know what
> the exclamation mark means here: bbmap.jar!/primes.txt.gz
> Is it trying to find primes.txt.gz inside the jar file? If yes, looking at
> d/rules, it appears that nothing from resources/ in the original package is
> being installed.
> If this is indeed the case, please take a look and let me know how I can
> install these files and update the relevant paths.

I think your analysis is correct.  There is no "proper" build procedure
for this package.  Thus I had to use jh_build to get the JAR assembled.
Obviously the files in resources/ dir are missing but needed to let the
tools work properly.  I checked the jh_build manpage which says that it
is possible to add extra files via JH_JAR_EXTRA environment variable
which I tried in my last commit.  Unfortunately it either does not work
or I did it wrong.  I'd be super happy if you could ask for better advise
at debian-java@lists.debian.org how to really get those files included.

Thanks a lot for spotting this.  It shows again how important all your
work is for Debian Med users.

Kind regards

      Andreas.

> [1] https://salsa.debian.org/med-team/bbmap

-- 
http://fam-tille.de


Reply to: