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 name
seq2
sequence2 name
Codons
sequence2 name
Compared
sequence2 name
Ambigiuous
sequence2 name
Indels
sequence2 name
Ns
sequence2 name
Sd
sequence2 name
Sn
sequence2 name
S
sequence2 name
N
sequence2 name
ps
sequence2 name
pn
sequence2 name
pnps
sequence2 name
ds
sequence2 name
dn
sequence2 name
dnds
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"