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)
t |
an object of class |
tip.dates |
a vector of sampling times associated to the tips of
|
ncpu |
number of cores to use. |
objective |
one of |
opt.tol |
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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.