dist.topo {ape}R Documentation

Topological Distances Between Two Trees


This function computes the topological distance between two phylogenetic trees or among trees in a list (if y = NULL using different methods.


dist.topo(x, y = NULL, method = "PH85")



an object of class "phylo" or of class "multiPhylo".


an (optional) object of class "phylo".


a character string giving the method to be used: either "PH85", or "score".


Two methods are available: the one by Penny and Hendy (1985, originally from Robinson and Foulds 1981), and the branch length score by Kuhner and Felsenstein (1994). The trees are always considered as unrooted.

The topological distance is defined as twice the number of internal branches defining different bipartitions of the tips (Robinson and Foulds 1981; Penny and Hendy 1985). Rzhetsky and Nei (1992) proposed a modification of the original formula to take multifurcations into account.

The branch length score may be seen as similar to the previous distance but taking branch lengths into account. Kuhner and Felsenstein (1994) proposed to calculate the square root of the sum of the squared differences of the (internal) branch lengths defining similar bipartitions (or splits) in both trees.


a single numeric value if both x and y are used, an object of class "dist" otherwise.


The geodesic distance of Billera et al. (2001) has been disabled: see the package distory on CRAN.


Emmanuel Paradis


Billera, L. J., Holmes, S. P. and Vogtmann, K. (2001) Geometry of the space of phylogenetic trees. Advances in Applied Mathematics, 27, 733–767.

Kuhner, M. K. and Felsenstein, J. (1994) Simulation comparison of phylogeny algorithms under equal and unequal evolutionary rates. Molecular Biology and Evolution, 11, 459–468.

Nei, M. and Kumar, S. (2000) Molecular Evolution and Phylogenetics. Oxford: Oxford University Press.

Penny, D. and Hendy, M. D. (1985) The use of tree comparison metrics. Systemetic Zoology, 34, 75–82.

Robinson, D. F. and Foulds, L. R. (1981) Comparison of phylogenetic trees. Mathematical Biosciences, 53, 131–147.

Rzhetsky, A. and Nei, M. (1992) A simple method for estimating and testing minimum-evolution trees. Molecular Biology and Evolution, 9, 945–967.

See Also

cophenetic.phylo, prop.part


ta <- rtree(30, rooted = FALSE)
tb <- rtree(30, rooted = FALSE)
dist.topo(ta, ta) # 0
dist.topo(ta, tb) # unlikely to be 0

## rmtopology() simulated unrooted trees by default:
TR <- rmtopology(100, 10)
## these trees have 7 internal branches, so the maximum distance
## between two of them is 14:
DTR <- dist.topo(TR)

[Package ape version 5.5 Index]