Skip to main content

Automatic taxonomy through consistent application of tree-based thresholding

Project description


[![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.

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

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:
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)).

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.

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

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.


0.1.0 (2015-01-11)

* First cookiecutter.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tree2tax-0.1.3.tar.gz (22.1 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page