skbio.tree.TreeNode.root_at_midpoint

TreeNode.root_at_midpoint()[源代码]

返回一棵新树,根在相距最远的两个尖端的中点

状态:从0.4.0开始实验。

此方法不保留内部节点命名或结构,但可以保持尖端到尖端的距离正确。使用 unrooted_copy 但对这棵树的完整拷贝进行了操作。

抛出:

TreeError -- 如果一个尖端变成了中点

返回:

  • TreeNode --在其中点扎根的树

  • LengthError --中点生根需要 length 如果计算的节点没有长度,则将(间接)提升。

示例

>>> from skbio import TreeNode
>>> tree = TreeNode.read(["(((d:1,e:1,(g:1)f:1)c:1)b:1,h:1)a:1;"])
>>> print(tree.root_at_midpoint())
((d:1.0,e:1.0,(g:1.0)f:1.0)c:0.5,((h:1.0)b:1.0):0.5)root;