Mutation model properties
Functions for checking various properties of a mutation model, including stationarity, reversibility and lumpability.
isStationary(mutmat, afreq) isReversible(mutmat, afreq) isLumpable(mutmat, lump) alwaysLumpable(mutmat)
mutmat |
A mutation matrix |
afreq |
A vector with frequency vector, of the same length as the size
of |
lump |
A nonempty subset of the colnames of |
Each of these functions returns TRUE of FALSE
# "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))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.