ape (version 3.2)

rtt: Root a Tree by Root-to-Tip Regression

Description

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

Usage

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

Arguments

t
an object of class "phylo".
tip.dates
a vector of sampling times associated to the tips of t, in the same order as t$tip.label.
ncpu
number of cores to use.
objective
one of "correlation", "rms", or "rsquared".
opt.tol
tolerance for optimization precision.

Value

  • an object of class "phylo".

Details

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.

References

Rambaut, A. (2009). Path-O-Gen: temporal signal investigation tool. http://tree.bio.ed.ac.uk/software/pathogen/

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

Examples

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

Run the code above in your browser using DataCamp Workspace