skbio.tree.TreeNode.bifurcate#
- TreeNode.bifurcate(insert_length=None)[source]#
Reorder the tree into a bifurcating tree.
All nodes that have more than two children will have additional intermediate nodes inserted to ensure that every node has only two children.
- Parameters:
- insert_lengthint, optional
The branch length assigned to all inserted nodes.
See also
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 >>> 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