biocore/empress

Support a "daylight" step for the unrooted layout algorithm

Aperta

#436 aperta il 28 ott 2020

 (0 commenti) (0 reazioni) (0 assegnatari)JavaScript (32 fork)auto 404
feature requestgood first issue

Metriche repository

Star
 (56 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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.)

Guida contributor