dinasv/CSBFinder

OutOfMemoryError occurs when executed for > 8000 genome

y-naka opened this issue · 2 comments

I want to get CSBs for over 8000 genomes set.
The genomes include only E. coli and have very low phylogenetic diversity.

I excuted following command,

% java -jar /path/to/CSBFinder/CSBFinder-0.5.1-jar-with-dependencies.jar \
>       -in ${INPUT} \
>       -out TXT \
>       -q 1 \
>       -out-dir ${OUTPUT}

and got following errors.

21/10/2019 17:40:00: Parsing input genomes file
21/10/2019 17:41:05: Executing workflow
21/10/2019 17:41:05: Extracting CSBs from 8288 input sequences.
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
        at java.lang.Integer.valueOf(Integer.java:832)
        at Model.SuffixTreePatternFinder.SuffixTrees.InstanceNode.multimapAddAll(InstanceNode.java:127)
        at Model.SuffixTreePatternFinder.SuffixTrees.InstanceNode.computeAndCacheCountRecursive(InstanceNode.java:115)
        at Model.SuffixTreePatternFinder.SuffixTrees.InstanceNode.computeAndCacheCountRecursive(InstanceNode.java:113)
        at Model.SuffixTreePatternFinder.SuffixTrees.InstanceNode.computeAndCacheCountRecursive(InstanceNode.java:113)
        at Model.SuffixTreePatternFinder.SuffixTrees.InstanceNode.computeAndCacheCountRecursive(InstanceNode.java:113)
        at Model.SuffixTreePatternFinder.SuffixTrees.InstanceNode.computeAndCacheCount(InstanceNode.java:98)
        at Model.SuffixTreePatternFinder.SuffixTrees.GeneralizedSuffixTree.computeCount(GeneralizedSuffixTree.java:428)
        at Model.SuffixTreePatternFinder.SuffixTreeAlgorithm.findPatterns(SuffixTreeAlgorithm.java:140)
        at Model.CSBFinderWorkflow.run(CSBFinderWorkflow.java:73)
        at Model.Controller.pipeline(Controller.java:168)
        at Model.Controller.run(Controller.java:65)

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "main"

What do you think is the cause of this?

I tried the option java -Xmx10g and everything went well with us.

Thank you for nice advise.