The BLAST2GO application is a popular bioinformatics tool used for functional annotation of gene sequences. It is implemented as a Java web start application, which means it “just works” seamlessly cross-platform and does not require any installation. Well, that’s the idea anyway…
The BLAST2GO website allows you to specify how much memory you want/need when downloading the
.jnlp file. Then, when Java launches the application, it will either allocate the memory you requested or give you an error saying the JVM (Java virtual machine) could not be created.
It’s been a few months since I’ve used BLAST2GO, and that was on a Mac Pro with 32GB RAM. I’m now using a Dell running Linux (Ubuntu 10.04 32-bit) with 24GB RAM (8 processors, 3GB per proc). After failing several times to load my data set into BLAST2GO, I realized that it was only allocated 455MB even thought I requested 3GB. I tried a variety of things, but no matter what I did the application was only allocated 455MB.
I finally discovered the root of the issue. Ubuntu ships with an open source implementation of Java (OpenJDK) and the error was with this software. It took me about 2 minutes to download and unpack Sun’s Java implementation. Running BLAST2GO with Sun Java, I got the expected behavior–the memory I requested when it was a reasonable amount, and an error message if I requested too much.