# skbio.tree.TreeNode.bifurcate¶

TreeNode.bifurcate(insert_length=None)[source]

Reorders the tree into a bifurcating tree.

State: Experimental as of 0.4.2.

All nodes that have more than 2 children will have additional intermediate nodes inserted to ensure that every node has only 2 children.

Parameters

insert_length (int, optional) – The branch length assigned to all inserted nodes.

Notes

Any nodes that have a single child can be collapsed using the prune method to create strictly bifurcating trees.

Examples

>>> from skbio import TreeNode
>>> 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