Reconciled Tree Representation

Gene Tree, Species Tree Reconciliation

Reconciled trees are represented as a mapping of the nodes of a a gene tree onto the nodes and edges of a species tree. The topologies of the two trees involved in this mapping are stored separately from the mapping of the reconciliation itself. The topology of the gene tree is stored in the table protein_tree_node as the protein_tree_node.parent_id for a given protein_tree_node.node_id. The topology of the species tree is stored in the table species_tree_node as the species_tree_node.parent_id of species_tree_node.species_tree_node_id.


thumbnail image

The individual nodes in a gene tree may map to an internal node in the species tree if the node is a duplication event, or an internal may map to an edge in the species tree if the node represents a duplication event. The nodes of the gene tree may map to an edge or node of the species tree. The ancestral node in the species tree is refered to here as the'host parent node', and the descendent node in the species tree is referred to as the 'host child node'. Nodes in the species tree may also map outside of the scope of the species tree. Examples of this are when the last common ancestor of the gene tree is older than the last common ancestor of the species tree or when the gene mapped onto the species tree is the result of a horizontal transfer event.

thumbnail images

Gene tree nodes that map onto edges in the species tree are duplication nodes, and gene tree nodes that map onto nodes in the species tree are speciation nodes.

thumbnail images

In addition to mapping to nodes and edges in the species tree, nodes from the gene tree may also map outside of the scope of the species tree. Examples of this are when the last common ancestor of the gene tree is older than the last common ancestor of the species tree or when the gene mapped onto the species tree is the result of a horizontal transfer event. These different events can all be mapped using the node_id from the gene tree and the 'host child node' and 'host parent node' in the species tree.

thumbnail images

In the TR database, the reconciliation of the gene tree and the species tree is store in reconciliation_node table. The individual nodes in the gene tree are mapped to their locations in the species tree using the field reconciliation_node.node_id to represent the individual node in the gene tree, the field reconciliation_node.host_parent_node_id to represent the parent node in the species tree, and reconciliation_node.host_child_node to represent the host child node in the species tree.