makeDegenerate5merSub - Make a degenerate 5-mer substitution model based on a 1-mer substitution model
Description¶
makeDegenerate5merSub
populates substitution rates from a 1-mer substitution model
into 5-mers with corresponding central 1-mers.
Usage¶
makeDegenerate5merSub(sub1mer, extended = FALSE)
Arguments¶
- sub1mer
- a 4x4 matrix containing (normalized) substitution rates. Row names should correspond to nucleotides to mutate from. Column names should correspond to nucleotides to mutate into. Nucleotides should include “A”, “T”, “G”, and “C” (case-insensitive).
- extended
- whether to return the unextended (
extended=FALSE
) or extended (extended=TRUE
) 5-mer substitution model. Default isFALSE
.
Value¶
For extended=FALSE
, a 4x1024 matrix. For extended=TRUE
, a 5x3125
matrix.
Details¶
As a concrete example, consider a 1-mer substitution model in which substitution rates from “A” to “T”, “G”, and “C” are, respectively, 0.1, 0.6, and 0.3. In the resultant degenerate 5-mer substitution model, all the 5-mers (columns) that have an “A” as their central 1-mer would have substitution rates (rows) of 0.1, 0.6, and 0.3 to “T”, “G”, and “C” respectively.
When extended=TRUE
, extendSubstitutionMatrix
is called to extend
the 4x1024 substitution matrix.
Examples¶
# Make a degenerate 5-mer model (4x1024) based on HKL_S1F (4x4)
# Note: not to be confused with HKL_S5F@substitution, which is non-degenerate
degenerate5merSub <- makeDegenerate5merSub(sub1mer = HKL_S1F)
# Look at a few 5-mers
degenerate5merSub[, c("AAAAT", "AACAT", "AAGAT", "AATAT")]
AAAAT AACAT AAGAT AATAT
A NA 0.25 0.53 0.20
C 0.26 NA 0.31 0.57
G 0.50 0.30 NA 0.23
T 0.24 0.45 0.16 NA
See also¶
See makeAverage1merSub for making a 1-mer substitution model by taking the average of a 5-mer substitution model. See extendSubstitutionMatrix for extending the substitution matrix.