skbio.tree.TreeNode.bifurcate

TreeNode.bifurcate(insert_length=None)[源代码]

将树重新排序为分叉树。

状态:从0.4.2开始实验。

所有有超过2个子节点的节点都将插入额外的中间节点,以确保每个节点只有2个子节点。

参数:

insert_length (int, optional) -- 指定给所有插入节点的分支长度。

参见

prune

备注

任何只有一个子节点的节点都可以使用prune方法折叠,以创建严格的分叉树。

示例

>>> from skbio import TreeNode
>>> tree = TreeNode.read(["((a,b,g,h)c,(d,e)f)root;"])
>>> print(tree.ascii_art())
                    /-a
                   |
                   |--b
          /c-------|
         |         |--g
         |         |
-root----|          \-h
         |
         |          /-d
          \f-------|
                    \-e
>>> tree.bifurcate()
>>> print(tree.ascii_art())
                    /-h
          /c-------|
         |         |          /-g
         |          \--------|
         |                   |          /-a
-root----|                    \--------|
         |                              \-b
         |
         |          /-d
          \f-------|
                    \-e