java.lang.OutOfMemoryError with SplitsTree4 GUI
1
0
Entering edit mode
4.6 years ago
gmeeks328 ▴ 10

Hi all,

I apologize for the naiveté of my post as I'm a novice with coding and this is my first post here.

I'm a biology masters student currently working with SNP data from 70 whole genome sequence files of a bird of prey. My project is to evaluate how currently taxonomy is reflected with genomic data. To do this, I've sequenced all 70 samples using the Illumina NovaSeq platform, trimmed adapters with SeqPrep and cutadapt, aligned to reference with BWA-mem, marked duplicates with Picard, and performed Indel realigning with GATK. After processing, I've generated and filtered several datasets of different parameters with ANGSD (some samples were from museum specimen and were low coverage) and bcftools (bcftools was for LD pruning), and from the VCFs created (ranging from 8MB to 2GB) I was ultimately able to generate Nexus files for use in SplitsTree4 to estimate phylogenetic networks. This is one of several analyses I'm doing, however I've run into a problem.

My laptop is not capable of running SplitsTree4 due to the amount of memory required, so I've been able to run an interactive job through my university's HPC. For this, I have been able to launch the GUI of SplitsTree4 on my laptop using XQuartz for Macbook (since the command line version has been surprisingly difficult to run successfully). That being said, after loading my Nexus file and bootstrapping successfully, I get an error when trying to show the bootstrap network:

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread “Thread-4”

This is the only output I receive, and the thread is sometimes a different number (5..7..etc.). In SplitsTree, upon install you can specify the maximum memory allowed, so I've tried increasing the maximum amount of allowed memory to be used from 8GB all the way to 307GB and still received the same error. I've reached out to the HPC support, but they've asked me to investigate the code to see how memory is allocated. From what I've seen, there is a difference in heap memory and perm memory, and this is likely due to having insufficient perm memory. Given that this is a GUI and I can only specify maximum memory (-Xmx..I'm assuming heap memory), how can I remedy this error?

Thanks in advance!

SplitsTree SplitsTree4 Memory Error Java • 1.9k views
ADD COMMENT
2
Entering edit mode
4.6 years ago
gmeeks328 ▴ 10

If anyone was looking at this post, I was able to reach out to Dr. Daniel Huson (the creator of SplitsTree) for some advice. He mentioned that since I was bootstrapping a network the amount of splits created was very high (>5000).

When trying to show the bootstrap network in my original post, I would perform bootstrapping on my network then select "Show Bootstrap Network" under the "Analysis" tab. The program would then run slowly and display in the bottom left corner "Dimension filter: maxDimension=4", then ultimately "Convex Hull" before giving me the error approximately 2 hours later.

Dr. Huson's advice was to press the "Stop" button at the bottom of the program while it was running the dimension filter, select the "Analysis" tab, select "Configure Pipeline" from the dropdown menu, select "Splits" in the popup menu, then "Filter", then change the filter to "Weighted threshold" instead of "Set Maximum Dimension" (where he suggested "10" for me). The "Weighted threshold" is apparently the percentage of trees that each split appears in. This reduced the number of splits displayed to ~300 and allowed me to display a bootstrap network.

EDIT: Dr. Huson also informed me that he found a couple bugs in the code while helping me with my problem, so he fixed them and instructed me to update to v4.16.0 (I was using 4.15.1). After doing so, I tried the original filtering method (using the default "Set Maximum Dimension" filter, set at 4) and my dataset was able to work! So I'd recommend updating to at least that version (if SplitsTree5 is still a beta at this point) if anyone is experiencing a similar problem.

Hopefully this helps someone in the future.

ADD COMMENT
1
Entering edit mode

Thank you for following up - this will indeed be useful for someone in the future. You can accept your own answer so people see it as a solved question and not an open one. You won't be able to upvote your own answer, so you can ignore that part.

Upvote|Bookmark|Accept

ADD REPLY
0
Entering edit mode

Will do! Thanks for the help!

ADD REPLY

Login before adding your answer.

Traffic: 1293 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6