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

AptaMUT "No content in table" #42

Closed CentauriAlex closed 6 years ago

CentauriAlex commented 6 years ago

Hi,

Awesome progress on the GUI!

I've been re-analysing some of my data with the v0.8.4 release but when I run AptaMUT the window that opens is empty and there is no Log score:

image

I have tried with different rounds and clusters but all are the same.

Thanks

drivenbyentropy commented 6 years ago

Hi,

Thanks for reporting this. How many sequences does the cluster you are applying AptaMut on have? AptaMut requires clusters with at least two members to compute the score.

CentauriAlex commented 6 years ago

Hi,

They have several hundred to several thousand members.

drivenbyentropy commented 6 years ago

That is interesting. Could you please try the following (each time restarting the GUI if possible)?

Start the GUI from command line and watch for errors while 1) Opening the Aptamer Family Analysis tab, selecting a cluster on the left panel and immediately clicking the AptaMut button. 2) Opening the Aptamer Family Analysis tab, selecting one arbibrary aptamer from the table and starting AptaMut 3) Opening the Aptamer Family Analysis tab, selecting the first 15 aptamers (multiselect with Shift) and starting AptaMut

Meanwhile I will try to recreate this issue locally. Thanks!

CentauriAlex commented 6 years ago

So having restarted the GUI I still can't get it to work.

However it appears if I compare: Negative Selection Round with Negative Reference Cycle = works Negative Selection Round with Positive Reference Cycle = does not work Positive Selection Round with Negative Reference Cycle = works Positive Selection Round with Positive Reference Cycle = does not work

I tried the 3 scenarios you suggested above using the largest cluster (>170,000 members) using a Positive Selection Round with Positive Reference Cycle but still no luck.

Thanks

drivenbyentropy commented 6 years ago

Now we are on to something! I tried to recreate this locally and it was always working. What I failed to test however, were the cases using negative selection cycles. I believe I am not taking this scenario into account when initializing AptaMut.

I will try to push out a new version with a fix later today. Thanks again for going through the tests.

drivenbyentropy commented 6 years ago

I might have spoken too soon. Even if I try the combinations you mentioned with my test data set I cannot reproduce your results. Here is what I suspect might be happening. AptaMut only works on the subset of sequences that are present in the selected cluster in both, the current selection cycle and the reference cycle. My suspicion is that in the above combinations which do not work, there is no overlap between these sets. One hint towards this might be to have a look at the Cluster Enrichment Plot. If you select the corresponding cycle in the "Compare to" drop-down box for the cases that do not work, you should not get any data on the scatter plot. In contrast in the cases it did work, you should see it.

I am also open to the idea of adding an option to AptaMut for treating missing sequences in the reference cycle as a count of 1 (0 would not work to compute an enrichment value). However, I am not sure how accurate the prediction would be as a result. Let me know what you think.

CentauriAlex commented 6 years ago

There should be a lot of overlap, for the two positive cycles I can't get to work the Cluster Enrichment Plot is below:

image

drivenbyentropy commented 6 years ago

Thank you for this information. If possible, could you start AptaSuite from command line, and run AptaMUT for the above two cycles again and post the console output here? I am curious to know if there is any output on the console after the following message:

Initializing AptaMUT content

Sorry for the inconvenience and thanks!

CentauriAlex commented 6 years ago

No problem, having run the AptaMUT there is no output in the console after that line although I did encounter an error, please see below:

Extracting aptamers for cluster 8570101 Determining cluster diversity Determining cluster membership of aptamers Extracting aptamer sizes Exception in thread "Thread-21" java.util.NoSuchElementException at org.mapdb.BTreeMap$entryIterator$1.next(BTreeMap.kt:1174) at org.mapdb.BTreeMap$entryIterator$1.next(BTreeMap.kt:1172) at lib.aptamer.datastructures.MapDBAptamerPool$InverseViewPoolIterator$1.next(MapDBAptamerPool.java:998) at lib.aptamer.datastructures.MapDBAptamerPool$InverseViewPoolIterator$1.next(MapDBAptamerPool.java:978) at gui.core.motifs.MotifAnalysisRootController$9.run(MotifAnalysisRootController.java:1110) at java.base/java.lang.Thread.run(Thread.java:844) Sorting cluster members Initializing AptaMUT content

Having re-run the same, the above error seems to have disappeared:

Extracting aptamers for cluster 8570101 Determining cluster diversity Determining cluster membership of aptamers Extracting aptamer sizes Sorting cluster members Initializing AptaMUT content

The table appeared with no content in each case, please see below:

image

drivenbyentropy commented 6 years ago

Thank you for getting back to me on this. I would like to provide you a custom version of AptaSuite with additional debugging code to get to the bottom of this. If you are willing to continue in helping to find this bug, please let me know and I will compile the program for you.

CentauriAlex commented 6 years ago

Sure, no problem.

drivenbyentropy commented 6 years ago

Thanks. I have published a new version of AptaSuite with some bug fixes which might be related to this issue. Before debugging further, could you please try with version v0.8.7?

Thanks!

CentauriAlex commented 6 years ago

Great, having tried v0.8.7 the AptaMUT now works for my positive selection cycles! However in this version many of the radio buttons and some menus disappear when going over them with the mouse pointer, please see screen shots below:

image

image

This appears to happen to varying degrees on every tab.

Thanks

drivenbyentropy commented 6 years ago

I am glad to hear the main issue is solved. I have also encountered the issue with the white boxes in the past and I honestly have no idea where it comes from. I think this is related to the GUI relying on multithreading and at some point the JavaFX thread crashing but there is no error message anywhere. The only thing that was consistent for me is that this happens when you resize the GUI while it is performing an operation (i.e. a loading layer is visible).

If you could, please try to resize the GUI when no operations are taking place and let me know if you can reproduce my findings.

Thanks again.