Skip to main content
`Ctrl`+`K`

# skbio.tree.TreeNode.depth

TreeNode.depth(ancestor=None, include_root=False, use_length=True, missing_as_zero=False)

  Calculate the depth of the current node.

  Changed in version 0.6.3: Renamed from `accumulate_to_ancestor`. The old name is kept as an alias.

  The depth of a node is the sum of branch lengths from it to the root of the tree.

  Parameters:
    ancestor TreeNode, optional

      An ancestral node of self. If provided, the distance from self to this node instead of the root node will be calculated.

      Changed in version 0.6.3: Becomes optional.

    include_root bool, optional

      If True, the distance will include the length of the root node, or the given ancestral node if `ancestor` is provided. Default is False.

      Added in version 0.6.3.

    use_length bool, optional

      Whether to return the sum of branch lengths (True, default) or the number of branches (False) from self to root.

      Added in version 0.6.3.

    missing_as_zero bool, optional

      When a node without an associated branch length is encountered, raise an error (False, default) or use 0 (True). Applicable when `use_length` is True.

      Added in version 0.6.3.

  Returns:
    float

      The depth of self.

  Raises:
    NoParentError

      If the given ancestral node is not an ancestor of self.

    NoLengthError

      If nodes without branch length are encountered, but `missing_as_zero` is False.

  See also

  `height`
  `distance`

  Examples

      >>> from skbio import TreeNode
      >>> tree = TreeNode.read(["((a:1,b:2)c:3,(d:4,e:5)f:6)root;"])
      >>> tree.find('a').depth()
      4.0
      >>> tree.find('a').depth(tree.find('c'))
      1.0