Primary Phylogenetic Data Objects¶
Phylogenetic data in DendroPy is represented by one or more objects of the following classes:
- A representation of an operational taxonomic unit, with an attribute,
label, corresponding to the taxon label.
- A collection of
Taxonobjects representing a distinct definition of taxa (for example, as specified explicitly in a NEXUS “TAXA” block, or implicitly in the set of all taxon labels used across a Newick tree file).
- A collection of
Edgeobjects representing a phylogenetic tree. Each
Treeobject maintains a reference to a
TaxonNamespaceobject in its attribute,
taxon_namespace, which specifies the set of taxa that are referenced by the tree and its nodes. Each
Nodeobject has a
taxonattribute (which points to a particular
Taxonobject if there is an operational taxonomic unit associated with this node, or is
Noneif not), a
parent_nodeattribute (which will be
Nodehas no parent, e.g., a root node), a
Edgeattribute, as well as a list of references to child nodes, a copy of which can be obtained by calling
child_nodes. In addition, advanced operations with tree data often make use of a
Bipartitionobject associated with each
Tree(see “Bipartitions” for more information).
TreeListobject has an attribute,
taxon_namespace, which specifies the set of taxa that are referenced by all member
Treeelements. This is enforced when a
Treeobject is added to a
TreeList, with the
Treeobject and all
Taxonreferences of the
Nodeobjects in the
Treemapped to the
- Representation of character data, with specializations for different data types:
ContinuousCharacterMatrix, etc. A
CharacterMatrixcan treated very much like a
Taxonobjects as keys and character data as values associated with those keys.
- A meta-collection of phylogenetic data, consisting of lists of multiple
- A high-performance container designed to efficiently store and manage (potentially) large collections of structures of (potentially) large trees for processing.