gatk GetPileupSummaries报错:Exception in thread “main“ java.lang.OutOfMemoryError: Java heap space

文章讲述了在使用GATK工具GetPileupSummaries处理大文件时遇到内存溢出问题,通过调整Java堆内存至500G得以解决。作者指出该工具对内存需求较高,常规100G内存不足以应对。
摘要由CSDN通过智能技术生成

f问题描述是内存溢出的问题(OOM)

执行脚本代码:

gatk GetPileupSummaries -I DMSO_1-recalibration.bam \
    -V /af-only-gnomad_chr_3.hg38.vcf \
    -L af-only-gnomad_chr_3.hg38.vcf \
    -O DMSO_1_pileups.table

报错: 

[February 5, 2024 at 10:43:40 AM CST] org.broadinstitute.hellbender.tools.walkers.contamination.GetPileupSummaries done. Elapsed time: 14.28 minutes.
Runtime.totalMemory()=107374182400
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
	at java.base/java.util.Arrays.copyOf(Arrays.java:3689)
	at java.base/java.util.ArrayList.grow(ArrayList.java:237)
	at java.base/java.util.ArrayList.addAll(ArrayList.java:709)
	at htsjdk.samtools.BAMFileSpan.merge(BAMFileSpan.java:307)
	at htsjdk.samtools.BAMFileReader.getFileSpan(BAMFileReader.java:933)
	at htsjdk.samtools.BAMFileReader.createIndexIterator(BAMFileReader.java:945)
	at htsjdk.samtools.BAMFileReader.query(BAMFileReader.java:626)
	at htsjdk.samtools.SamReader$PrimitiveSamReaderToSamReaderAdapter.query(SamReader.java:550)
	at htsjdk.samtools.SamReader$PrimitiveSamReaderToSamReaderAdapter.queryOverlapping(SamReader.java:417)
	at org.broadinstitute.hellbender.utils.iterators.SamReaderQueryingIterator.loadNextIterator(SamReaderQueryingIterator.java:130)
	at org.broadinstitute.hellbender.utils.iterators.SamReaderQueryingIterator.<init>(SamReaderQueryingIterator.java:69)
	at org.broadinstitute.hellbender.engine.ReadsPathDataSource.prepareIteratorsForTraversal(ReadsPathDataSource.java:412)
	at org.broadinstitute.hellbender.engine.ReadsPathDataSource.iterator(ReadsPathDataSource.java:336)
	at java.base/java.lang.Iterable.spliterator(Iterable.java:101)
	at org.broadinstitute.hellbender.utils.Utils.stream(Utils.java:1176)
	at org.broadinstitute.hellbender.engine.GATKTool.getTransformedReadStream(GATKTool.java:384)
	at org.broadinstitute.hellbender.engine.LocusWalker.getAlignmentContextIterator(LocusWalker.java:174)
	at org.broadinstitute.hellbender.engine.LocusWalker.traverse(LocusWalker.java:149)
	at org.broadinstitute.hellbender.engine.GATKTool.doWork(GATKTool.java:1095)
	at org.broadinstitute.hellbender.cmdline.CommandLineProgram.runTool(CommandLineProgram.java:140)
	at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMainPostParseArgs(CommandLineProgram.java:192)
	at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:211)
	at org.broadinstitute.hellbender.Main.runCommandLineProgram(Main.java:160)
	at org.broadinstitute.hellbender.Main.mainEntry(Main.java:203)
	at org.broadinstitute.hellbender.Main.main(Main.java:289)

增加参数:--java-options -Xmx500G 来增加该程序的内存占用,调试后发现100G都不够,加到500G!

gatk GetPileupSummaries --java-options -Xmx500G \
    -I _recalibration.bam \
    -V af-only-gnomad_chr_3.hg38.vcf \
    -L af-only-gnomad_chr_3.hg38.vcf \
    -O A_pileups.table

顺利运行

该程序也太吃内存了吧

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值