skbio.tree.TreeNode.find_all#

TreeNode.find_all(name)[source]#

Find all nodes that match name.

The first call to find_all will cache all nodes in the tree on the assumption that additional calls to find_all will be made.

Parameters:
nameTreeNode or str

The name or node to find. If name is TreeNode then all other nodes with the same name will be returned.

Returns:
list of TreeNode

The nodes found

Raises:
MissingNodeError

Raises if the node to be searched for is not found

Examples

>>> from skbio.tree import TreeNode
>>> tree = TreeNode.read(["((a,b)c,(d,e)d,(f,g)c);"])
>>> for node in tree.find_all('c'):
...     print(node.name, node.children[0].name, node.children[1].name)
c a b
c f g
>>> for node in tree.find_all('d'):
...     print(node.name, str(node))
d (d,e)d;

d d;