biocore/empress

Support a "daylight" step for the unrooted layout algorithm

開放

#436 建立於 2020年10月28日

 (0 則留言) (0 個反應) (0 位負責人)JavaScript (32 個分叉)auto 404
feature requestgood first issue

倉庫指標

星標
 (56 顆星)
PR 合併指標
 (30 天內沒有已合併 PR)

描述

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

貢獻者指南