This function calculates average behavior of each codon for all pairwise comparisons for indels, syn, and nonsyn mutations according to Nei and Gojobori (1986).
codonmat2xy(codonmat, threads = 1)
codon matrix
obtained via
dnastring2codonmat
[mandatory]
number of parallel threads [default: 1]
A data.frame
object with the following components:Codon
Codon indexn
number of comparisonSynSum
Sum of synNonSynSum
Sum of nonsynIndelSum
Sum of indelsSynMean
average syn per codonNonSynMean
average nonsyn per codonIndelMean
average indels per codonCumSumSynMean
cumulative average syn per codonCumSumNonSynMean
cumulative average nonsyn per codonCumSumIndelMean
cumulative indels per codon
Nei and Gojobori. (1986) Simple methods for estimating the numbers of synonymous and nonsynonymous nucleotide substitutions. Mol. Biol. Evol., 3(5), 418-426.
Ganeshan et al. (1997) Human immunodeficiency virus type 1 genetic evolution in children with different rates of development of disease. J. Virology. 71(1), 663-677.
Yang et al. (2000) Codon-substitution models for heterogeneous selection pressure at amino acid sites. Genetics. 155(1), 431-449.
## load example sequence data
data("hiv", package="MSA2dist")
#codonmat2xy(dnastring2codonmat(hiv))
hiv |> dnastring2codonmat() |> codonmat2xy()
#> Joining, by = "Codon"
#> Joining, by = "Codon"
#> Joining, by = "Codon"
#> # A tibble: 91 × 11
#> # Groups: Codon [91]
#> Codon n SynSum NonSynSum IndelSum SynMean NonSynMean IndelMean
#> <dbl> <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1 78 0 40 0 0 0.513 0
#> 2 2 78 0 0 0 0 0 0
#> 3 3 78 12 0 0 0.154 0 0
#> 4 4 78 12 0 0 0.154 0 0
#> 5 5 78 0 0 0 0 0 0
#> 6 6 78 0 0 0 0 0 0
#> 7 7 78 0 0 0 0 0 0
#> 8 8 78 0 0 0 0 0 0
#> 9 9 78 22 30 0 0.282 0.385 0
#> 10 10 78 0 40 0 0 0.513 0
#> # … with 81 more rows, and 3 more variables: CumSumSynMean <dbl>,
#> # CumSumNonSynMean <dbl>, CumSumIndelMean <dbl>
#codonmat2xy(dnastring2codonmat(hiv), threads=2)
hiv |> dnastring2codonmat() |> codonmat2xy(threads=2)
#> Joining, by = "Codon"
#> Joining, by = "Codon"
#> Joining, by = "Codon"
#> # A tibble: 91 × 11
#> # Groups: Codon [91]
#> Codon n SynSum NonSynSum IndelSum SynMean NonSynMean IndelMean
#> <dbl> <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1 78 0 40 0 0 0.513 0
#> 2 2 78 0 0 0 0 0 0
#> 3 3 78 12 0 0 0.154 0 0
#> 4 4 78 12 0 0 0.154 0 0
#> 5 5 78 0 0 0 0 0 0
#> 6 6 78 0 0 0 0 0 0
#> 7 7 78 0 0 0 0 0 0
#> 8 8 78 0 0 0 0 0 0
#> 9 9 78 22 30 0 0.282 0.385 0
#> 10 10 78 0 40 0 0 0.513 0
#> # … with 81 more rows, and 3 more variables: CumSumSynMean <dbl>,
#> # CumSumNonSynMean <dbl>, CumSumIndelMean <dbl>