Learn R Programming

seqinr (version 1.0-4)

kaks: to Get an Estimation of Ka and Ks

Description

Ks and Ka are respectively the number of substitutions per synonymous site and per nonsynonymous site between two protein-coding genes. The ratio of nonsynonymous (Ka) to synonymous (Ks) nucleotide substitution rates is an indicator of selective pressures on genes. A ratio significantly greater than 1 indicates positive selective pressure. A ratio around 1 indicates either neutral evolution at the protein level or an averaging of sites under positive and negative selective pressures. A ratio less than 1 indicates pressures to conserve protein sequence (i.e. purifying selection). This function estimates the Ka and Ks values for a set of aligned sequences using the method published by Li (1993) and gives the associated variance matrix.

Usage

kaks(x, debug = FALSE)

Arguments

x
An object of class alignment
debug
If TRUE turns debug mode on

Value

  • ksmatrix of Ks values
  • kamatrix of Ka values
  • vksvariance matrix of Ks
  • vkavariance matrix of Ka

References

Li WH. (1993) Unbiased estimation of the rates of synonymous and nonsynonymous substitution. J Mol Evol., Jan;36(1):96-9. Hurst LD. (2002) The Ka/Ks ratio: diagnosing the form of sequence evolution. Trends Genet., Sept;18(9):486. The C programm implementing this method was provided by Manolo Gouy. More info is needed here to trace back the original C source so as to credit correct source. citation("seqinr")

See Also

read.alignment

Examples

Run this code
#
 # Simple Toy example:
 #
 s <- read.alignment(File = system.file("sequences/test.phylip", package = "seqinr"), format = "phylip")
 kaks(s)
 #
 # Check numeric results on an simple test example:
 #
 data(AnoukResult)
 Anouk <- read.alignment(File = system.file("sequences/Anouk.fasta", package = "seqinr"), format = "fasta")	
 if( ! all.equal(kaks(Anouk), AnoukResult) ) {
   warning("Poor numeric results with Anouk test file")
 } else {
   print("Results are OK with Anouk test file")
 }

Run the code above in your browser using DataLab