rtt {ape}R Documentation

Root a Tree by Root-to-Tip Regression


This function roots a phylogenetic tree with dated tips in the location most compatible with the assumption of a strict molecular clock.


rtt(t, tip.dates, ncpu = 1, objective = correlation,
    opt.tol = .Machine$double.eps^0.25)



an object of class "phylo".


a vector of sampling times associated to the tips of t, in the same order as t$tip.label.


number of cores to use.


one of "correlation", "rms", or "rsquared".


tolerance for optimization precision.


This function duplicates one part the functionality of the program Path-O-Gen (see references). The root position is chosen to produce the best linear regression of root-to-tip distances against sampling times.

t must have branch lengths in units of expected substitutions per site.

tip.dates should be a vector of sampling times, in any time unit, with time increasing toward the present. For example, this may be in units of “days since study start” or “years since 10,000 BCE”, but not “millions of yearsago”.

Setting ncpu to a value larger than 1 requires the parallel library.

objective is the measure which will be used to define the “goodness” of a regression fit. It may be one of "correlation" (strongest correlation between tip date and distance from root), "rms" (lowest root-mean-squared error), or "rsquared" (highest R-squared value).

opt.tol is used to optimize the location of the root along the best branch. By default, R's optimize function uses a precision of .Machine$double.eps^0.25, which is about 0.0001 on a 64-bit system. This should be set to a smaller value if the branch lengths of t are very short.


an object of class "phylo".


This function only chooses the best root. It does not rescale the branch lengths to time, or perform a statistical test of the molecular clock hypothesis.


Rosemary McCloskeyrmccloskey@cfenet.ubc.ca, Emmanuel Paradis


Rambaut, A. (2009). Path-O-Gen: temporal signal investigation tool.

Rambaut, A. (2000). Estimating the rate of molecular evolution: incorporating non-contemporaneous sequences into maximum likelihood phylogenies. Bioinformatics, 16, 395-399.


t <- rtree(100)
tip.date <- rnorm(t$tip.label)^2
rtt(t, tip.date)

[Package ape version 5.5 Index]