tree2tax

Automatic taxonomy through consistent application of tree-based thresholding


Keywords
tree2tax
License
LGPL-3.0
Install
pip install tree2tax==0.1.3

Documentation

tree2tax

Build Status

Automatic taxonomy through consistent application of tree-based thresholding.

Phylogenetic tree insertion methods (such as GraftM and pplacer) can place sequences into parts of the tree where taxonomists have not yet come to agreed upon names. Here, 7 different granularities of operational taxonomic units (OTUs) are automatically assigned based on tree distance thresholds, and then nodes corresponding to these thresholds are given names taken from the usual taxonomy so they are meaningful to humans and their formidable pattern finding skillz.

Tree2tax is inspired by, but not related to, the tax2tree software, which doesn't suggest new taxonomic clades.

Pre-requisites:

  • A taxonomically annotated tree, tested on greengenes 99_otus.tree
  • some standard Unix tools

How:

pip install tree2tax
tree2tax -h

Auto-taxonomy Naming Convention

The output OTU file names lineages according to the following naming convention. It is somewhat involved, and requires some explanation.

After a clade is defined, to name that clade tree2tax searches up the tree to find the closest named ancestral node (unless the node itself is already named). Some examples:

O__gHalococcus

An (approximately) order level grouping, where lowest ancestral named node is the genus Halococcus. The initial 'O' is capitalised to indicate that this is not a true taxonomic level (a suggestion by Dr Donovan Parks (github @dparks1134)).

S__gHalobacteriaceae.1

An (approximately) species level grouping, where the lowest ancestral node is the genus Halobacteriaceae. The .1 at the end indicates that >1 species level grouping has this same name, but the grouping above has the largest amount of tips (sequences) included: a .2 would indicate the clade with the second largest number of tips, and so on.

C__cHalobacteria.oHalobacteriales

An approximately class level grouping where the ancestral named node has been annotated as both the class Halobacteria and the order Halobacteriales

P__kArchaea.pEuryarchaeota|cMethanomicrobia

An approximately phylum level grouping where the ancestral named node is Methanomicrobia. The kArchaea.pEuryarchaeota is included because the higher level parent kingdom grouping is K__Root, so the Archaea and Euryarchaeota labels would otherwise be missing.