Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

For an optimal interface for phylogenetics #1450

Closed
tdelmont opened this issue Jun 24, 2020 · 8 comments
Closed

For an optimal interface for phylogenetics #1450

tdelmont opened this issue Jun 24, 2020 · 8 comments

Comments

@tdelmont
Copy link
Contributor

Hi anvi'o developers.

This issue is with regard to phylogenetics.
While anvi'o provides already many useful features (eg., rooting, collapsing, rotating), missing are two important features:

(1) visualization of support values (sometimes multiple values are provided by the phylogenetic model) across the tree

(2) visualization of the scale of the tree.

Here is an example of a phylogenetic tree visualized with anvi'o, but with the support information added manually on Inkscape, and tree scale provided using ITOL:

Figure_01

@meren
Copy link
Member

meren commented Jul 22, 2020

An ideal solution

An ideal solution to address this need would include,

  • A a new section in the anvi'o interactive interface under Additional Settings,
    • A checkbox that says "Show branch support values" ("support values" are described below).
    • Selection of which enables two input boxes for a range of values that is automatically filled with the minimum and max support values found in the displayed NEWICK tree. This would let the user to define which values should not even be considered for display.
    • A color picker to set the range of colors for min and max values.
  • An update of the "state" (an anvi'o feature to stores the display settings as a JSON in the database for this new functionality).

How to test your solution

anvi-interactive -t example-tree.txt \
                 -p profile.db \
                 --title "phylogenomic tree" \
                 --manual

image

  • In the panel that opens when you click the "Mouse" panel on the right-hand side of your browser window, you can see support values per branch when you hover your mouse on the tree:

image

The goal is to display those in the tree in an intelligent fashion. For starters, one can display all. Then consulting the community, we can find a way to filter out which support values are not needed to show on the tree.

Best,

@merenlab merenlab deleted a comment from tdelmont Jul 23, 2020
@matthewlawrenceklein
Copy link
Contributor

Hi @tdelmont and anyone else tracking this! We're currently working on implementing support value visualization, and we'd like to re-open a dialog with the anvi'o community. At present, support value visualization is handled via 'additional settings' in the main panel. Here's a quick screen grab of the UI and subsequent render:

Screen Shot 2020-12-11 at 3 25 22 PM

Right now all support value visualization is handled through that sub-menu, and any changes made to the SV criteria are rendered upon redraw. That being said, we absolutely plan on exploring additional options for handling individual support value data points via mouse events.

Please feel free to ping me directly with any thoughts/questions/concerns. Thanks!

@tdelmont
Copy link
Contributor Author

@matthewlawrenceklein this is really exciting many thanks on behalf of those interested in this development within anvi'o.

Morgan Gaia is a postdoc expert in phylogenies that could help us with ideas. Provided that people have time before the winter break, maybe we could try to set-up a zoom and chat regarding the opportunities of this work for people interested in the visualization of phylogenetic trees with the interactive interface of anvi'o.

Thanks again,

Tom

@matthewlawrenceklein
Copy link
Contributor

@tdelmont Excellent! Let's schedule a time in the coming weeks for a zoom session, which we can also throw to the anvi'o community at large. Feel free to email me directly - mlklein@uchicago.edu

best,
-matthew

@tdelmont
Copy link
Contributor Author

@matthewlawrenceklein sorry for the delays for some reasons I do not get any notifications from Github...

I will interact with you by email to speedup the process

Tom

@meren
Copy link
Member

meren commented Jan 2, 2021

Closed by #1618, which implements a preliminary version of this :)

@meren meren closed this as completed Jan 2, 2021
@meren meren added this to the v7 milestone Jan 2, 2021
@tdelmont
Copy link
Contributor Author

@meren and @matthewlawrenceklein I reopen this since I identified a bug in the interactive interface for phylogenetics.

Basically, I realized the bootstrap values are not where they are supposed to be (anvi'o v7). Comparing with Itol for instance confirmed the problem. I have manually fixed it for my ongoing project in Inkscape however here I am reporting this and providing the data so you can look into it, provided you have time to dedicate to this issue.

I have rooted the tree and here is the fixed figure:

Phylogeny_HetR

Here you can assess the original tree:
https://www.dropbox.com/s/erk7zrd0vwyxmw0/HetR_nucleotide_sequences.trim80.fa.treefile?dl=0
And Here you can assess the anvi'o Profile.db associated with the tree:
https://www.dropbox.com/s/ocvvosnfraz6t5f/PROFILE.db?dl=0

Many thanks,

Best

Tom

@matthewlawrenceklein
Copy link
Contributor

Thank you @tdelmont for scouting out this bug. I will investigate!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants