biocore/empress

Support a "daylight" step for the unrooted layout algorithm

Ouverte

#436 ouverte le 28 oct. 2020

 (0 commentaire) (0 réaction) (0 personne assignée)JavaScript (32 forks)auto 404
feature requestgood first issue

Métriques du dépôt

Stars
 (56 étoiles)
Métriques de merge PR
 (Métriques PR en attente)

Description

Felsenstein 2004 has a chapter on tree layout which gives a few examples of tree layouts. One of these is the equal-angle algorithm which Empress (and Gneiss, and PyCogent, ...) uses for unrooted layouts. This works pretty well, but it could be improved -- there are a few places in the moving pictures tree, for example, where there's unused space (so some of the branches could be angled outward a bit to separate them and take advantage of this space):

image image

Felsenstein describes the equal-daylight algorithm, an extension of the equal-angle algorithm that is apparently efficient and makes even prettier drawings. It doesn't seem like it would be really difficult to implement (... hopefully ...), so this might be a nice way to make the first layouts the user sees in Empress look even nicer.

(If having an extra step in the unrooted layout would be a problem for massive trees, we could probably make this optional, and/or detect the tree size and adjust accordingly.)

Guide contributeur