drivenbyentropy / aptasuite

A full-featured bioinformatics software collection for the comprehensive analysis of aptamers in HT-SELEX experiments.
https://drivenbyentropy.github.io/
GNU General Public License v3.0
24 stars 11 forks source link

AptaSuite on Win10 #2

Closed PJpb closed 6 years ago

PJpb commented 6 years ago

Hi there, First of all - great work! I hope I will be using it soon! I've got a problem though, which surely is caused by my lack of computer/bioIT skills (and these are indeed pretty low, so please forgive me if the question is lame) I tried to run the aptasuite on a fresh install of Windows 10, but it crashes when trying to create the database (for I've not set up any of course). Log says (Windows powershell):

Creating Database Error invoking construtor of AptamerPool backend java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at lib.aptamer.datastructures.Experiment.(Experiment.java:132) at aptasuite.CLI.createDatabase(CLI.java:234) at aptasuite.CLI.(CLI.java:115) at aptasuite.Aptasuite.main(Aptasuite.java:40) Caused by: java.lang.OutOfMemoryError: Java heap space at java.util.BitSet.initWords(Unknown Source) at java.util.BitSet.(Unknown Source) at orestes.bloomfilter.memory.BloomFilterMemory.(BloomFilterMemory.java:15) at orestes.bloomfilter.FilterBuilder.buildBloomFilter(FilterBuilder.java:251) at lib.aptamer.datastructures.MapDBAptamerPool.(MapDBAptamerPool.java:82) ... 8 more Error invoking AptamerPool backend

So my question is - what other software/libraries do I need for the suite to be able to set up a database? Or should I set it up myself beforehand, and if so - how do I do that? Or is the issue due to something else entirely?

I would much appreciate your help, as AptaSuite seems to be the only free tool with such capabilities. Also, maybe this issue will help you to improve the guide so the suite is even more accessible!

Best regards, PJ

drivenbyentropy commented 6 years ago

Hi and thank you for your kind words.

It looks to me that you are running out of memory. If I remember correctly, Java (Oracles implementation at least) reserves 1/4th of the system memory for a Java instance. You can increase this limit by adding -Xmx8G (where 8G sets the maximum heap space to 8Gb; adopt to your hardware configuration) to your Java command, eg.:

java -Xmx8G -jar path/to/aptasuite.jar -options -config /path/to/config/file.cfg

If you systems memory is limited, you might still be able to run AptaSuite by tweaking the default sizes for the BitSets and BloomFilters used to quickly assess aptamer memberships to various collections. This can be controlled through the configuration file by changing the default values for

MapDBAptamerPool.bloomFilterCapacity = 500000000
MapDBAptamerPool.bloomFilterCollisionProbability = 0.001

This value must be larger or equal to the total number of unique aptamer sequences in the experiment. A safe value is to set this to the number of reads you are planning to input to AptaSuite. Please refer to the manual for more information on these parameters.

Let me know you are able to solve the problem with this information and thanks again for reporting the issue.

PJpb commented 6 years ago

Thank you for your quick response and help - it worked. It was indeed a memory issue, as I was running a 32bit Java, which has a 2Gb limit for heap space. I changed to 64bit and I could set the limit high enough for the suite to run properly. Great job and thank you once again!

PJpb commented 6 years ago

Hi, Back again. So the AptaSuite works great, and it's really quick! (even though it doesn't use much of my computer resources) My question however is: how do I make AptaGUI to use the database created by AptaSuite? Do I have to setup a MYSQL local server?

Also, when starting AptaGUI from Windows Powershell, I see a list of errors (aptaGUI_error_log.txt), but the GUI starts fine nonetheless.

Best, PJ

drivenbyentropy commented 6 years ago

Hi,

AptaGUI and any previous implementations of AptaTrace, AptaCluster, etc are not compatible with AptaSUITE. At the moment, AptaSUITE is a command line application only. I am currently working on the graphical user interface although it might take a while to complete as I am rewriting it from scratch.

I will add a clarification of the current state of this software to the Wiki.