empress icon indicating copy to clipboard operation
empress copied to clipboard

Support for highlighting path between selected nodes

Open mestaki opened this issue 3 years ago • 8 comments

Hi team,

I found myself recently needing to investigate the phylogenetic distance between 2 specific ASVs and thought it might be really useful if Empress could visually highlight the full path between 2 (or more?) user-selected nodes. Apologies if this functionality already exists, couldn't find a way to get what I wanted.

mestaki avatar Mar 08 '21 17:03 mestaki

Agreed that this'd be useful! This sort of thing isn't in EMPress yet, but I think it should be doable with some finagling.

I think this might overlap somewhat with the suggestion described in #427 -- I guess the path between any two distinct tips would necessarily pass through their LCA (... at least I think so?), although I suppose "highlighting just the LCA of two tips" and "drawing the path" might be two separate issues to tackle.

fedarko avatar Mar 11 '21 14:03 fedarko

This came up again today in the context of being able to investigate how related two COVID-19 genomes are to each other (cc @kwcantrell).

ElDeveloper avatar Aug 10 '21 23:08 ElDeveloper

I agree, would be really useful to have this and to show the tip to tip distance somehow in the UI

On Aug 10, 2021, at 4:56 PM, Yoshiki Vázquez Baeza @.***> wrote:

This came up again today in the context of being able to investigate how related two COVID-19 genomes are to each other (cc @kwcantrell https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_kwcantrell&d=DwMCaQ&c=-35OiAkTchMrZOngvJPOeA&r=vt0B9Qp_JCoeLoyZarnPr0Ufv0tST88BXyW26Kh9-pU&m=XhFU11Zc1Q3s9ecCdbV-5g9O1a5PX8slMEtVgY-rtUU&s=qCxzfgS6v_k2GErckuBU8bfbpmq7Xk9R_v2Y4FoTQ1A&e=).

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_biocore_empress_issues_491-23issuecomment-2D896389155&d=DwMCaQ&c=-35OiAkTchMrZOngvJPOeA&r=vt0B9Qp_JCoeLoyZarnPr0Ufv0tST88BXyW26Kh9-pU&m=XhFU11Zc1Q3s9ecCdbV-5g9O1a5PX8slMEtVgY-rtUU&s=e_QquIOLmkW-PNfGhFzUwRQbMIylp5HUQvZ57ueL4Ls&e=, or unsubscribe https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AAPL2KLKKL3JV67PPFAT44LT4G4CDANCNFSM4YZ2JXVQ&d=DwMCaQ&c=-35OiAkTchMrZOngvJPOeA&r=vt0B9Qp_JCoeLoyZarnPr0Ufv0tST88BXyW26Kh9-pU&m=XhFU11Zc1Q3s9ecCdbV-5g9O1a5PX8slMEtVgY-rtUU&s=1dVSS9XSgYnVJYxbzsCIdTTztiOXW62dRo5olV9a2Cw&e=. Triage notifications on the go with GitHub Mobile for iOS https://urldefense.proofpoint.com/v2/url?u=https-3A__apps.apple.com_app_apple-2Dstore_id1477376905-3Fct-3Dnotification-2Demail-26mt-3D8-26pt-3D524675&d=DwMCaQ&c=-35OiAkTchMrZOngvJPOeA&r=vt0B9Qp_JCoeLoyZarnPr0Ufv0tST88BXyW26Kh9-pU&m=XhFU11Zc1Q3s9ecCdbV-5g9O1a5PX8slMEtVgY-rtUU&s=GG15aPFlzMT5HJCvFj281l3Yi3tQNaBzOzXwu3pWDEE&e= or Android https://urldefense.proofpoint.com/v2/url?u=https-3A__play.google.com_store_apps_details-3Fid-3Dcom.github.android-26utm-5Fcampaign-3Dnotification-2Demail&d=DwMCaQ&c=-35OiAkTchMrZOngvJPOeA&r=vt0B9Qp_JCoeLoyZarnPr0Ufv0tST88BXyW26Kh9-pU&m=XhFU11Zc1Q3s9ecCdbV-5g9O1a5PX8slMEtVgY-rtUU&s=2g4cwQ8VrhpNJnFUF8AIF_AW_ybCVe0s6AAte65D9A4&e=.

rob-knight avatar Aug 11 '21 16:08 rob-knight

Agreed, I think this would this feature can help the health team and be generally useful to everyone. I will place this feature on the top of my priority list.

kwcantrell avatar Aug 11 '21 19:08 kwcantrell

Depending on the use-case 2 different versions of this feature may be helpful:

  1. Highlighting the full branch of a user defined set of features (with feature ID, taxonomy, etc.) without highlighting the distance to each other
  2. Only highlight the tip-to-tip distances between said selected features.

mestaki avatar Aug 11 '21 19:08 mestaki

Great feedback. What do y'all think about having a "select" mode where a user can click on the nodes they want to analyze. As nodes are added the shortest path between nodes is highlighted as well as the nodes that are selected. Simultaneously the "tree statistics tab" should be updated with the average tip-to-tip distance between selected nodes, and the tip-to-tip distances between selected nodes. The "select" mode should remain active regardless of feature metadata changes, barplot changes, or while searching for nodes.

ElDeveloper avatar Aug 11 '21 20:08 ElDeveloper

Would this be the node-to-node distance, or would this gather tip-to-tip distances from the tips of the selected clades?

On Aug 11, 2021, at 1:21 PM, Yoshiki Vázquez Baeza @.***> wrote:

Great feedback. What do y'all think about having a "select" mode where a user can click on the nodes they want to analyze. As nodes are added the shortest path between nodes is highlighted as well as the nodes that are selected. Simultaneously the "tree statistics tab" should be updated with the average tip-to-tip distance between selected nodes, and the tip-to-tip distances between selected nodes. The "select" mode should remain active regardless of feature metadata changes, barplot changes, or while searching for nodes.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/biocore/empress/issues/491#issuecomment-897125655, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADTZMQZVQLLP4TF7CH7SBDT4LLWBANCNFSM4YZ2JXVQ. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email.

wasade avatar Aug 11 '21 20:08 wasade

I like @ElDeveloper's idea of a "select" mode. Rather than updating the Tree Statistics tab, I wonder if it might make sense to add a new "Selected Nodes" tab or something similar: this could include a table or something with information about all currently selected nodes (with options to un-select all or some of the currently selected nodes), options to toggle for whether or not the user is selecting one node at a time (probably should remain the default) or multiple nodes at once, etc., as well as statistics about the distances between selected nodes (and options about these stats). I think a fair amount of the work on the shearing panel should be adaptable to this.

Regarding actually computing / showing the distances, there are multiple ways to handle this like @mestaki and @wasade suggested (esp when > 2 nodes are selected). The simplest case might be the most useful (and thus a good place to start): if we set things up so that there's a table of all currently selected nodes, we could adjust the UI to let users select two arbitrary nodes from this table and then show the distance between these nodes (both as a number relative to branch lengths in the tree, and colored on the tree). In any case, having the extra UI space of a new tab should help, since we'll probably end up adding more ways to compute this in the future.

If we can design a general "Selected Nodes" UI in a reusable way, it should open up a lot of future options. For example, the ability to manually assign colors to individual nodes and/or their subtrees directly (#417), or the ability to automatically select multiple features highlighted by Emperor interactions rather than only coloring them in the tree.

fedarko avatar Aug 11 '21 21:08 fedarko