skbio.tree.TreeNode.from_taxdump¶
- classmethod TreeNode.from_taxdump(nodes, names=None)[源代码]¶
从NCBI分类数据库构建一棵树。
状态:0.5.8版本的试验性版本。
- 参数:
nodes (pd.DataFrame) -- 分类单元层级
names (pd.DataFrame or dict, optional) -- 分类单元名称
- 返回:
构建的树
- 返回类型:
备注
nodes
和names
对应于NCBI分类数据库中的“nodes.dmp”和“names.dmp”。应使用以下命令将读入数据帧skbio.io.read
在这次行动之前。或者,names
可以作为词典提供。如果names
省略,则将分类ID用作分类名。- 抛出:
ValueError -- 如果没有顶级节点
ValueError -- 如果存在多个顶级节点
示例
>>> import pandas as pd >>> from skbio.tree import TreeNode >>> nodes = pd.DataFrame([ ... [1, 1, 'no rank'], ... [2, 1, 'domain'], ... [3, 1, 'domain'], ... [4, 2, 'phylum'], ... [5, 2, 'phylum']], columns=[ ... 'tax_id', 'parent_tax_id', 'rank']).set_index('tax_id') >>> names = {1: 'root', 2: 'Bacteria', 3: 'Archaea', ... 4: 'Firmicutes', 5: 'Bacteroidetes'} >>> tree = TreeNode.from_taxdump(nodes, names) >>> print(tree.ascii_art()) /-Firmicutes /Bacteria| -root----| \-Bacteroidetes | \-Archaea