Support a "daylight" step for the unrooted layout algorithm
#436 aperta il 28 ott 2020
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):

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