Computational phylogenetics is the application of computational
algorithms, methods, and programs to
phylogenetic analyses. The goal is to assemble a
phylogenetic tree representing a hypothesis about the evolutionary ancestry of a set of
genes,
species, or other
taxa. For example, these techniques have been used to explore the family tree of
hominid species and the relationships between specific genes shared by many types of organisms. Traditional phylogenetics relies on
morphological data obtained by measuring and quantifying the
phenotypic properties of representative organisms, while the more recent field of molecular phylogenetics uses
nucleotide sequences encoding genes or
amino acid sequences encoding
proteins as the basis for classification. Many forms of molecular phylogenetics are closely related to and make extensive use of
sequence alignment in constructing and refining phylogenetic trees, which are used to classify the evolutionary relationships between homologous
genes represented in the
genomes of divergent species. The phylogenetic trees constructed by computational methods are unlikely to perfectly reproduce the
evolutionary tree that represents the historical relationships between the species being analyzed. The historical species tree may also differ from the historical tree of an individual homologous gene shared by those species.