biocore / empress

A fast and scalable phylogenetic tree viewer for microbiome data analysis
BSD 3-Clause "New" or "Revised" License
45 stars 31 forks source link

Show node circles by default #479

Closed ElDeveloper closed 3 years ago

ElDeveloper commented 3 years ago

While turning these off is a nice performance improvement. This can lend itself to misinterpretations.

For example these two leafs have the same node length (see the node detail window), but are visually of much different lengths:

long short

The difference is that one leaf has several internal nodes and the other one doesn't. This is more obvious when you show the node circles:

Screen Shot 2021-02-02 at 5 10 48 PM
fedarko commented 3 years ago

As a compromise, could we add a third option besides "show all node circles" and "don't show any node circles" where just internal nodes with one child have circles drawn? This would address the confusion without impacting performance or aesthetics as much as drawing all node circles by default. (This is already the default in existing tools like iTOL -- this is controlled by the Internal node symbols option there.)

One of the problems I remember with defaulting to drawing node circles for all nodes (see #349) is that they could be kind of visually overwhelming, especially when you zoom out, since the "point" drawing method Empress uses currently doesn't adjust the size of node circles with zoom level (although changing this would be possible). Since we will be updating the default setting here (and therefore will be determining the most common representation users see when using Empress), I think it would be good to try to make this default a bit more pleasant for users.


Newick string detailing a test tree for this:

(((c:3, d:3)b:2)a:1)root:1;

In iTOL:

image

ElDeveloper commented 3 years ago

I think it would be good to try to make this default a bit more pleasant for users.

Yes, I like this suggestion the most. "Only show internal node circles" or something along those lines. This should be the default value. And we probably make this a dropdown menu rather than the 3 checkboxes that it would otherwise result in?