skbio.tree.TreeNode.descending_branch_length

TreeNode.descending_branch_length(tip_subset=None)[源代码]

从self或self tips的子集中查找总降序分支长度

状态:从0.4.0开始实验。

参数:

tip_subset (Iterable, or None) -- 如果没有,则返回树中所有提示的总降序分支长度。如果提供了提示列表,则只返回与这些提示相关联的总降序分支长度。

返回:

指定提示集的总下降分支长度。

返回类型:

float

抛出:

ValueError -- 如果提供给tip_subset的提示列表包含内部节点或非tips,则引发ValueError。

备注

此函数复制cogent的totalDescendingBranch Length方法,并扩展该方法,以便在需要时计算tips子集的总下降分支长度。postorder保证,如果节点不是tip,函数将始终能够添加降序分支长度。

没有长度的节点将其长度设置为0。根长度(如果存在)将被忽略。

示例

>>> 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