Estimating Phylogenies by Maximum Likelihood

mlphylo estimates a phylogenetic tree by maximum likelihood given a set of DNA sequences. The model of evolution is specified with the function DNAmodel.

logLik, deviance, and AIC are generic functions used to extract the log-likelihood, the deviance (-2*logLik), or the Akaike information criterion of a tree. If no such values are available, NULL is returned.

mlphylo(x, phy, model = DNAmodel(), search.tree = FALSE,
        quiet = FALSE, value = NULL, fixed = FALSE)
## S3 method for class 'phylo':
logLik(object, ...)
## S3 method for class 'phylo':
deviance(object, ...)
## S3 method for class 'phylo':
AIC(object, ..., k = 2)
an object of class "DNAbin" giving the (aligned) DNA sequence data.
an object of class "phylo" giving the tree.
an object of class "DNAmodel" giving the model to be fitted.
a logical specifying whether to search for the best tree (defaults to FALSE) (not functional for the moment).
a logical specifying whether to display the progress of the analysis.
a list with elements named rates, alpha, and invar, or at least one of these, giving the initial values of the parameters of the model. If NULL, some initial values are given internally.
a logical specifying whether to optimize parameters given in value.
an object of class "phylo".
a numeric value giving the penalty per estimated parameter; the default is k = 2 which is the classical Akaike information criterion.
further arguments passed to or from other methods.

The model specified by DNAmodel is fitted using the standard ``pruning'' algorithm of Felsenstein (1981).

The implementation of the inter-sites variation in substitution rates follows the methodology developed by Yang (1994).

The difference among partitions is parametrized with a contrast parameter (denoted $\xi$) that specifies the contrast in mean susbtitution rate among the partitions. This methodology is inspired from one introduced by Yang (1996).

The substitution rates are indexed column-wise in the rate matrix: the first rate is set to one.


  • an object of class "phylo". There are possible additional attributes:
  • loglikthe maximum log-likelihood.
  • npartthe number of partitions.
  • modelthe substitution model.
  • ratesthe estimated substitution rates.
  • invarthe estimated proportion of invariants.
  • alphathe estimated shape parameter of the inter-sites variation in substitution rates.


For the moment, it is not possible to estimate neither branch lengths, nor the topology with mlphylo. The function may estimate all other parameters: substitution rates, shape ($\alpha$) of the inter-sites variation in substitution rates, the proportion of invariants, and the ``contrast'' parameter ($\xi$) among partitions.

Alternative topologies can also be compared using likelihood-ratio tests (LRTs) or AICs.


Felsenstein, J. (1981) Evolutionary trees from DNA sequences: a maximum likelihood approach. Journal of Molecular Evolution, 17, 368--376.

Yang, Z. (1994) Maximum likelihood phylogenetic estimation from DNA sequences with variable rates over sites: approximate methods. Journal of Molecular Evolution, 39, 306--314.

Yang, Z. (1996) Maximum-likelihood models for combined analyses of multiple sequence data. Journal of Molecular Evolution, 42, 587--596.

See Also

DNAmodel, nj, read.dna, summary.phylo

  • mlphylo
  • logLik.phylo
  • deviance.phylo
  • AIC.phylo
Documentation reproduced from package ape, version 2.1-1, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.