skbio.core.tree.TreeNode.shear

TreeNode.shear(names)[source]

Lop off tips until the tree just has the desired tip names.

Parameters:

names : Iterable of str

The tip names on the tree to keep

Returns:

TreeNode

The resulting tree

Raises:

ValueError

If the names do not exist in the tree

Examples

>>> from skbio.core.tree import TreeNode
>>> t = TreeNode.from_newick('((H:1,G:1):2,(R:0.5,M:0.7):3);')
>>> sheared = t.shear(['G', 'M'])
>>> print sheared.to_newick(with_distances=True)
(G:3.0,M:3.7);