This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Tadpole error with paired end files

Hi all,

I am using Tadpole for error correction before assembly.

I was using the command line: tadpole.sh mode=correct in1=read1.fq in2=read2.fq out1=corrected1.fq out2=corrected2.fq according to Brian's suggestion here: http://seqanswers.com/forums/archive/index.php/t-61445.html

But it gave me error messages and there's no parameter as out1.

Here's the error message: java -ea -Xmx10000g -Xms1g -cp /share/apps/bbmap/35.82/bin/current/ assemble.Tadpole -Xmx10000g -Xms1g mode=correct in1=cleanS1_R1.fastq in2=cleanS1_R2.fastq out1=eccS1_R1.fastq out2=eccS1_R2.fastq k=50 Picked up _JAVA_OPTIONS: -Xmx1g Executing assemble.Tadpole2 [-Xmx10000g, -Xms1g, mode=correct, in1=cleanS1_R1.fastq, in2=cleanS1_R2.fastq, out1=eccS1_R1.fastq, out2=eccS1_R2.fastq, k=50]

Exception in thread "main" java.lang.RuntimeException: Unknown parameter out1=eccS1_R1.fastq at assemble.Tadpole.<init>(Tadpole.java:358) at assemble.Tadpole2.<init>(Tadpole2.java:67) at assemble.Tadpole.makeTadpole(Tadpole.java:78) at assemble.Tadpole.main(Tadpole.java:65)

Should I use tadpole's error correction one by one on the forward and reverse file like: tadpole.sh mode=correct in1=cleanS1_R1.fastq out=eccS1_R1.fastq k=50 tadpole.sh mode=correct in1=cleanS1_R2.fastq out=eccS1_R2.fastq k=50

However Brian said that the result would be inferior in the post at the link above. Any help for troubleshooting this error would be appreciated. Thank you.

Cheers

Alan

assembly next-gen software error

1 answer

At least with tadpole 37.65, I have used

tadpole.sh mode=correct in=read1.fq in2=read2.fq out=ecc-read1.fq out2=ecc-read2.fq

so maybe in later versions of tadpole, in1= has been replaced with in= and out1= has been replaced with out=

Also, you are using -Xmx10000g. Do you really have 10,000GB of RAM? or did you mean -Xmx10000m

Thank you.

I tried your command line and it works but it runs out of memory. This time I tried -Xmx=110g as I have 120gb of RAM.

One thing I don't understand is that there's >100000mb available but it only uses 430mb, then claiming it runs out of memory. Here's the error log:

**Memory: max=104988m, free=81890m, used=430m**

Estimated kmer capacity:    2242069657
java.lang.OutOfMemoryError: Java heap space
    at ukmer.AbstractKmerTableU.allocInt1D(AbstractKmerTableU.java:222)
    at ukmer.HashArrayU1D.resize(HashArrayU1D.java:191)
    at ukmer.HashArrayU1D.incrementAndReturnNumCreated(HashArrayU1D.java:91)
    at ukmer.HashBufferU.dumpBuffer_inner(HashBufferU.java:196)
    at ukmer.HashBufferU.dumpBuffer(HashBufferU.java:168)
    at ukmer.HashBufferU.incrementAndReturnNumCreated(HashBufferU.java:57)
    at ukmer.KmerTableSetU$LoadThread.addKmersToTable(KmerTableSetU.java:551)
    at ukmer.KmerTableSetU$LoadThread.run(KmerTableSetU.java:477)

This program ran out of memory.  Try increasing the -Xmx flag and setting prealloc.

Is it necessary to set prealloc?

Cheers

Alan

Truthfully, I am not sure, but if you have the computing hours to spare, I would try prealloc=t. I didn't use it, but I had allocated -Xmx1400g for the data that I was error correcting. I think by default, all BBMap tools use 85% of the available RAM, so no removing -Xmx might work. Not sure.

Log in to answer this question.