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.
an object of class "phylo"
.
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.
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.
# NOT RUN {
t <- rtree(100)
tip.date <- rnorm(t$tip.label)^2
rtt(t, tip.date)
# }
Run the code above in your browser using DataLab