Attention:
The frontline support team will be unavailable to answer questions on April 15th and 17th 2019. We will be back soon after. Thank you for your patience and we apologize for any inconvenience!

FilterSamReads: java.lang.OutOfMemoryError: Java heap space

How to estimate the memory use (-Xmx?G) when using FilterSamReads? I always get the errors:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.regex.Pattern$Start.(Pattern.java:3450)
at java.util.regex.Pattern.compile(Pattern.java:1716)
at java.util.regex.Pattern.(Pattern.java:1351)
at java.util.regex.Pattern.compile(Pattern.java:1028)
at java.lang.String.split(String.java:2380)
at java.lang.String.split(String.java:2422)
at htsjdk.samtools.filter.ReadNameFilter.(ReadNameFilter.java:58)
at picard.sam.FilterSamReads.doWork(FilterSamReads.java:233)
at picard.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:208)
at picard.cmdline.PicardCommandLine.instanceMain(PicardCommandLine.java:95)
at picard.cmdline.PicardCommandLine.main(PicardCommandLine.java:105)

Answers

  • shleeshlee CambridgeMember, Broadie ✭✭✭✭✭

    Hi @Yingya,

    The combination of these two documents should help you determine the memory available on your system and the memory use of processes from the GATK Best Practices. I know these don't talk about FilterSamReads specifically but they can serve as general guidelines in memory similar processes would require. For example, I imagine FilterSamReads would be similar in memory requirement to GATK's PrintReads.

    • To determine memory available on your system, take a look at instructions in section 2 of this document.
    • For memory use of GATK tools, see Blog#7249's CPU utilization chart. There is a link to an updated Intel white paper in Blog#8605 with a similar utilization chart.

    I hope these are helpful.

Sign In or Register to comment.