fulcrumgenomics/fgbio

java.lang.OutOfMemoryError on FilterConsensusReads

LeilyR opened this issue · 2 comments

LeilyR commented

Hi,

I try to run FilterConsensusReads on the result of CallMolecularConsensusReads and get the following OutOfMemory error. I have checked my machine and it does not seem to be right or somehow I cannot catch it. Do you have any opinion on what is happening here? Am I doing anything wrong? The input bam file I use is 1.1G in size, if it going to be of any help.

% fgbio FilterConsensusReads -i fgbioconsensus.bam -o test -r ref/human_g1k_v37.fasta -M 4 -N 1 -E 0.010

[2023/06/14 11:00:59 | FgBioMain | Info] Executing FilterConsensusReads from fgbio version 2.0.1 as xxxx@yyyy on JRE 20+36 with snappy, JdkInflater, and JdkDeflater
[2023/06/14 11:01:01 | FgBioMain | Info] FilterConsensusReads failed. Elapsed time: 0,09 minutes.
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at htsjdk.samtools.reference.FastaSequenceFile.readSequence(FastaSequenceFile.java:177)
at htsjdk.samtools.reference.FastaSequenceFile.nextSequence(FastaSequenceFile.java:99)
at com.fulcrumgenomics.fasta.ReferenceSequenceIterator.$anonfun$next$3(ReferenceSequenceIterator.scala:61)
at com.fulcrumgenomics.fasta.ReferenceSequenceIterator$$Lambda$393/0x00000008013df5a0.apply$mcV$sp(Unknown Source)
at com.fulcrumgenomics.commons.CommonsDef.yieldAndThen(CommonsDef.scala:72)
at com.fulcrumgenomics.commons.CommonsDef.yieldAndThen$(CommonsDef.scala:70)
at com.fulcrumgenomics.commons.CommonsDef$.yieldAndThen(CommonsDef.scala:440)
at com.fulcrumgenomics.fasta.ReferenceSequenceIterator.next(ReferenceSequenceIterator.scala:61)
at com.fulcrumgenomics.fasta.ReferenceSequenceIterator.next(ReferenceSequenceIterator.scala:46)
at scala.collection.Iterator$$anon$9.next(Iterator.scala:577)
at scala.collection.mutable.Growable.addAll(Growable.scala:62)
at scala.collection.mutable.Growable.addAll$(Growable.scala:57)
at scala.collection.immutable.MapBuilderImpl.addAll(Map.scala:692)
at scala.collection.immutable.Map$.from(Map.scala:643)
at scala.collection.IterableOnceOps.toMap(IterableOnce.scala:1256)
at scala.collection.IterableOnceOps.toMap$(IterableOnce.scala:1255)
at scala.collection.AbstractIterator.toMap(Iterator.scala:1293)
at com.fulcrumgenomics.bam.Bams$.nmUqMdTagRegeneratingWriter(Bams.scala:520)
at com.fulcrumgenomics.umi.FilterConsensusReads.execute(FilterConsensusReads.scala:183)
at com.fulcrumgenomics.cmdline.FgBioMain.makeItSo(FgBioMain.scala:124)
at com.fulcrumgenomics.cmdline.FgBioMain.makeItSoAndExit(FgBioMain.scala:99)
at com.fulcrumgenomics.cmdline.FgBioMain$.main(FgBioMain.scala:50)
at com.fulcrumgenomics.cmdline.FgBioMain.main(FgBioMain.scala)

nh13 commented

Try increasing the memory for fgbio via fgbio -Xmx16g, where you replace 16g with an appropriate value for your machine.

LeilyR commented

thanks!