skbio.core.tree.TreeNode.root_at

TreeNode.root_at(node)[source]

Return a new tree rooted at the provided node.

This can be useful for drawing unrooted trees with an orientation that reflects knowledge of the true root location.

Parameters:

node : TreeNode or str

The node to root at

Returns:

TreeNode

A new copy of the tree

Raises:

TreeError

Raises a TreeError if a tip is specified as the new root

Examples

>>> from skbio.core.tree import TreeNode
>>> tree = TreeNode.from_newick("(((a,b)c,(d,e)f)g,h)i;")
>>> print tree.root_at('c')
(a,b,((d,e)f,(h)g)c)root;