This function calculates pn/ps according to Nei and Gojobori (1986).
codonmat2pnps(codonmat)
codon matrix
of two columns to be
compared [mandatory]
An object of class pnps
which is a list with the following
components:seq1
sequence1 nameseq2
sequence2 nameCodons
sequence2 nameCompared
sequence2 nameAmbigiuous
sequence2 nameIndels
sequence2 nameNs
sequence2 nameSd
sequence2 nameSn
sequence2 nameS
sequence2 nameN
sequence2 nameps
sequence2 namepn
sequence2 namepnps
sequence2 nameds
sequence2 namedn
sequence2 namednds
sequence2 name
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")
#codonmat2pnps(dnastring2codonmat(hiv)[,c(1, 2)])
(hiv |> dnastring2codonmat())[,c(1, 2)] |> codonmat2pnps()
#> seq1 seq2 Codons
#> "U68496" "U68497" "91"
#> Compared Ambigiuous Indels
#> "91" "0" "0"
#> Ns Sd Sn
#> "0" "3" "6"
#> S N ps
#> "57" "216" "0.0526315789473684"
#> pn pn/ps ds
#> "0.0277777777777778" "0.527777777777778" "0.0545695157118212"
#> dn dn/ds
#> "0.0283052459871352" "0.518700699793888"
#> attr(,"class")
#> [1] "pnps"