I want to run EstimateLibraryComplexity.jar with a 9.8GB big bam file, but I always get a OutOfMemoryError error. I already tried -Xmx (up to 60GB) and still get the error. Has anybody an idea of how to run EstimateLibraryComplexity on bigger bam files?
That's my call and the error message:
And that's the java version:
I also posted this question at Biostars!
That's my call and the error message:
Code:
$ java -Xmx10g -jar EstimateLibraryComplexity.jar INPUT=file.bam
OUTPUT=file.libraryComplexity
[Wed Jun 04 21:43:08 CEST 2014] picard.sam.EstimateLibraryComplexity
INPUT=[file.bam] OUTPUT=file.libraryComplexity MIN_IDENTICAL_BASES=5
MAX_DIFF_RATE=0.03 MIN_MEAN_QUALITY=20 MAX_GROUP_RATIO=500
READ_NAME_REGEX=[a-zA-Z0-9]+:[0-9]:([0-9]+):([0-9]+):([0-9]+).*
OPTICAL_DUPLICATE_PIXEL_DISTANCE=100 VERBOSITY=INFO QUIET=false
VALIDATION_STRINGENCY=STRICT COMPRESSION_LEVEL=5
MAX_RECORDS_IN_RAM=500000 CREATE_INDEX=false CREATE_MD5_FILE=false
[Wed Jun 04 21:43:08 CEST 2014] Executing as me@work on Linux 3.6.2-
1.fc16.x86_64 amd64; Java HotSpot(TM) 64-Bit Server VM 1.7.0_07-b10; Picard
version: 1.114(444810c1de1433d9eca8130be63ccc7fd70a9499_1400593393)
JdkDeflater
INFO 2014-06-04 21:43:08 EstimateLibraryComplexity Will store
15494157 read pairs in memory before sorting.
INFO 2014-06-04 21:43:13 EstimateLibraryComplexity Read
1,000,000 records. Elapsed time: 00:00:05s. Time for last 1,000,000: 5s.
Last read position: chr10:38,239,480
....
INFO 2014-06-04 21:53:21 EstimateLibraryComplexity Read
30,000,000 records. Elapsed time: 00:10:13s. Time for last 1,000,000: 183s.
Last read position: chr15:34,522,127
[Wed Jun 04 22:54:26 CEST 2014] picard.sam.EstimateLibraryComplexity done.
Elapsed time: 71.30 minutes.
Runtime.totalMemory()=5801312256
To get help, see http://picard.sourceforge.net/index.shtml#GettingHelp
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOfRange(Arrays.java:2694)
at java.lang.String.<init>(String.java:203)
at java.lang.String.substring(String.java:1913)
at htsjdk.samtools.util.StringUtil.split(StringUtil.java:89)
at picard.sam.AbstractDuplicateFindingAlgorithm.addLocationInformation(AbstractD
uplicateFindingAlgorithm.java:71)
at picard.sam.EstimateLibraryComplexity.doWork(EstimateLibraryComplexity.java:25
6)
at picard.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:1
83)
at picard.cmdline.CommandLineProgram.instanceMainWithExit(CommandLineProgra
m.java:124)
at picard.sam.EstimateLibraryComplexity.main(EstimateLibraryComplexity.java:217)
And that's the java version:
Code:
$ java -showversion java version "1.7.0_07" Java(TM) SE Runtime Environment (build 1.7.0_07-b10) Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)
Comment