- Windows 10
- Running in Terminal
I'm working on a non-model organism. I concatenated two samples raw reads (larval and adult), and used Galaxy Trinity to assemble the concatenated forward and reverse strands.
I then ran kallisto index on the fasta file (~107,500 KB)
kallisto index -i I.f_concat_Trinity_assembled.index I.f_concat_Trinity_assembled.fasta
This generates a file (size 1,186,659 KB) with the following log
[build] loading fasta file I.fasciola_109A1_67B8_concat_Trinity_assembled.fasta
[build] k-mer length: 31
[build] warning: clipped off poly-A tail (longer than 10)
from 78 target sequences
[build] counting k-mers ... done.
[build] building target de Bruijn graph ... done
[build] creating equivalence classes ... done
[build] target de Bruijn graph has 512211 contigs and contains 54818622 k-mers
When I run kallisto quant using the index file
kallisto quant \
-i I.f_concat_Trinity_assembled.index \
-o 67B6 \
-t 4 \
67B6_1.fq.gz \
67B6_2.fq.gz \
&> 67B6.log
I get the following log and error message
[quant] fragment length distribution will be estimated from the data
[index] k-mer length: 31
[index] number of targets: 175,677
[index] number of k-mers: 54,818,622
[index] number of equivalence classes: 65,536
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
I have no idea how to fix this problem. I have run kallisto using practise human files and it worked so I can't quite work out what's going wrong. Googling tells me I may not have enough memory, but I have over 100 GB storage free, and 16 GB RAM. The human index I generated and aligned to was 2,445,321 KB (over twice the size), so really size shouldn't be a problem.
What is std::bad_alloc? How do I fix it?
Fixed it - switched computer off for 20 minutes, turned it back on, reran the kallisto index on the original FASTA to generate a new index, and ran quant against then new index - worked flawlessly.
To quote the IT crowd
A similar problem has been discussed in Github.