Fork me on GitHub"

# skbio.tree.TreeNode.descending_branch_length

`TreeNode.``descending_branch_length`(tip_subset=None)

  Find total descending branch length from self or subset of self tips

  State: Experimental as of 0.4.0.

  Parameters: | tip_subset (Iterable, or None) – If None, the total descending branch length for all tips in the tree will be returned. If a list of tips is provided then only the total descending branch length associated with those tips will be returned.
  Returns: | The total descending branch length for the specified set of tips.
  Return type: | float
  Raises: | `ValueError` – A ValueError is raised if the list of tips supplied to tip_subset contains internal nodes or non-tips.

  Notes

  This function replicates cogent’s totalDescendingBranch Length method and extends that method to allow the calculation of total descending branch length of a subset of the tips if requested. The postorder guarantees that the function will always be able to add the descending branch length if the node is not a tip.

  Nodes with no length will have their length set to 0. The root length (if it exists) is ignored.

  Examples

      >>> from skbio import TreeNode
      >>> tr = TreeNode.read(["(((A:.1,B:1.2)C:.6,(D:.9,E:.6)F:.9)G:2.4,"
      ...                     "(H:.4,I:.5)J:1.3)K;"])
      >>> tdbl = tr.descending_branch_length()
      >>> sdbl = tr.descending_branch_length(['A','E'])
      >>> print(round(tdbl, 1), round(sdbl, 1))
      8.9 2.2