This is a test version of Biostars. For the public version, visit https://www.biostars.org.
AdjList memory error

I'm using abyss 2.0 to assemble a large genome (~1.5 GB). I'm running abyss-pe, but the process dies when the "AdjList" command is launched. I'm pretty sure it's a memory issue because my ".fa" file is too big (8.3G), but not sure how to solve it? Please help!!!

Here's the command that causes trouble:

AdjList -v   -k99 -m50 --dot results/assembly_k99_np12_24Gram_B3G_H3_1Gseq-1.fa >results/assembly_k99_np12_24Gram_B3G_H3_1Gseq-1.dot

and the error message:

Finding overlaps of fewer than k-1 bp...
terminate called after throwing an instance of 'std::bad_alloc'
what():  std::bad_alloc
/bin/bash: line 1: 32487 Aborted                 AdjList -v -k99 -m50 --dot results/assembly_k99_np12_24Gram_B3G_H3_1Gseq-1.fa > results/assembly_k99_np12_24Gram_B3G_H3_
make: *** [results/assembly_k99_np12_24Gram_B3G_H3_1Gseq-1.dot] Error 134
make: *** Deleting file `results/assembly_k99_np12_24Gram_B3G_H3_1Gseq-1.dot'
abyss assembly

Errors due to lack of adequate amount of actual memory can only be solved by finding another machine/resource that has an adequate amount.

In academic interest how much memory does your current machine have?

I have access to up to 4 nodes (2,67 GHz) X 12cores (each core has 8 GB of RAM) on a Unix computer cluster. + in fact I used in this example a kmer value of 99 to reduce memory consumption, even though kmergenie tells me optimum kmer value should be more like 37.

I think it may be the other way - the higher the kmer the more memory you will need, try reducing your k

Please use ADD REPLY/ADD COMMENT when responding to existing posts to keep threads logically organized.

Are you using a job scheduler where each core is limited to 8G? If not technically you should be able to access entire 96G of RAM on node from a single core.

I'm using a job scheduler and talked to my sysadmin to manage to have access to all 96G RAM and now it works! Thank you!

0 answers

No answers yet.

Log in to answer this question.