skbio.tree.TreeNode.from_taxdump¶
- classmethod TreeNode.from_taxdump(nodes, names=None)[source]¶
Construct a tree from the NCBI taxonomy database.
State: Experimental as of 0.5.8.
- Parameters
nodes (pd.DataFrame) – Taxon hierarchy
names (pd.DataFrame or dict, optional) – Taxon names
- Returns
The constructed tree
- Return type
Notes
nodes
andnames
correspond to “nodes.dmp” and “names.dmp” of the NCBI taxonomy database. The should be read into data frames usingskbio.io.read
prior to this operation. Alternatively,names
may be provided as a dictionary. Ifnames
is omitted, taxonomy IDs be used as taxon names.- Raises
ValueError – If there is no top-level node
ValueError – If there are more than one top-level node
See also
Examples
>>> 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