skbio.tree.TreeNode.from_taxonomy#

classmethod TreeNode.from_taxonomy(lineage_map)[source]#

Construct a tree from a taxonomy.

Parameters:
lineage_mapdict, iterable of tuples, or pd.DataFrame

Mapping of taxon IDs to lineages (iterables of taxonomic units from high to low in ranking).

Returns:
TreeNode

The constructed taxonomy.

See also

from_taxdump

Examples

>>> from skbio.tree import TreeNode
>>> lineages = [
...     ('1', ['Bacteria', 'Firmicutes', 'Clostridia']),
...     ('2', ['Bacteria', 'Firmicutes', 'Bacilli']),
...     ('3', ['Bacteria', 'Bacteroidetes', 'Sphingobacteria']),
...     ('4', ['Archaea', 'Euryarchaeota', 'Thermoplasmata']),
...     ('5', ['Archaea', 'Euryarchaeota', 'Thermoplasmata']),
...     ('6', ['Archaea', 'Euryarchaeota', 'Halobacteria']),
...     ('7', ['Archaea', 'Euryarchaeota', 'Halobacteria']),
...     ('8', ['Bacteria', 'Bacteroidetes', 'Sphingobacteria']),
...     ('9', ['Bacteria', 'Bacteroidetes', 'Cytophagia'])]
>>> tree = TreeNode.from_taxonomy(lineages)
>>> print(tree.ascii_art())
                              /Clostridia-1
                    /Firmicutes
                   |          \Bacilli- /-2
          /Bacteria|
         |         |                    /-3
         |         |          /Sphingobacteria
         |          \Bacteroidetes      \-8
         |                   |
---------|                    \Cytophagia-9
         |
         |                              /-4
         |                    /Thermoplasmata
         |                   |          \-5
          \Archaea- /Euryarchaeota
                             |          /-6
                              \Halobacteria
                                        \-7