model_properties {pedmut} | R Documentation |
Mutation model properties
Description
Functions for checking various properties of a mutation model, including stationarity, reversibility and lumpability.
Usage
isStationary(mutmat, afreq = NULL)
isReversible(mutmat, afreq = NULL)
isBounded(mutmat, afreq = NULL)
isLumpable(mutmat, lump)
alwaysLumpable(mutmat)
Arguments
mutmat |
A |
afreq |
A vector with allele frequencies, of the same length as the size
of |
lump |
A nonempty subset of the colnames of |
Details
The function isBounded()
checks that a mutation model is bounded by the
allele frequencies, i.e., that mutmat[i,j] <= afreq[j]
whenever i
is not
equal to j
.
For each of these functions, if mutmat
is a mutationModel
object, i.e.,
with male and female components, the output is TRUE if and only if both
components satisfy the property in question.
Value
Each of these functions returns TRUE of FALSE.
Examples
# "proportional" models are stationary and reversible
afr = c(0.2, 0.3, 0.5)
m_prop = mutationMatrix(model = "prop", alleles = 1:3, afreq = afr, rate = 0.1)
stopifnot(isStationary(m_prop, afr), isReversible(m_prop, afr))
# "equal" model is stationary and reversible only when freqs are equal
m_eq = mutationMatrix(model = "eq", alleles = 1:3, rate = 0.1)
stopifnot(isStationary(m_eq, rep(1/3, 3)), isReversible(m_eq, rep(1/3, 3)))
stopifnot(!isStationary(m_eq, afr), !isReversible(m_eq, afr))
# "equal" and "proportional" models allow allele lumping
stopifnot(isLumpable(m_eq, lump = 1:2))
stopifnot(isLumpable(m_prop, lump = 1:2))
# In fact lumpable for any allele subset
stopifnot(alwaysLumpable(m_eq), alwaysLumpable(m_prop))
[Package pedmut version 0.7.1 Index]