Nucleora / Tools / Codon adaptation index

Codon Adaptation Index (CAI) calculator

Sharp and Li's codon adaptation index for your coding sequence, against any of the 28 codon-usage tables published on this site, with the per-codon relative adaptiveness shown.

CAIcodon adaptation indexcomputed in this page · table fetched as a static file

Input

Tables and their provenance: codon usage tables · methods.

Result

Loading codon-usage table...

Method: w = codon share / largest share in its amino-acid family, from the selected table; CAI is the geometric mean of w over every codon except ATG, TGG and stops. Limit: CAI measures similarity to a reference usage table. It does not predict expression level.

How it is calculated

The codon adaptation index of Sharp and Li (1987) compares the codons a gene uses with the codons preferred in a reference set. Each codon gets a relative adaptiveness w, the ratio of its usage to the usage of the most-used synonymous codon, and CAI is the geometric mean of w along the gene.

w_ij = f_ij / max_k f_ik f = share of codon j among codons for amino acid i CAI = exp( (1/L) · Σ ln w_l ) over the L scored codons of the gene scored: every complete, unambiguous codon except ATG (Met), TGG (Trp) and stops

The reference shares come from the 28 codon-usage tables published on this site (list and provenance), each counted over a stated number of coding sequences. Some are sparse: Procyon lotor (6), Giraffa camelopardalis (7) coding sequences. The calculator warns below 100.

If a codon has a share of exactly 0 in the table, its w is 0 and ln w is undefined. Sharp and Li handled unobserved codons by assigning them a count of 0.5 in the reference set, which needs raw counts these tables do not carry. This page scores such codons with w = 10⁻⁶, says how many there are, and also reports CAI with them left out, so you can see how much the choice matters. Ambiguous codons and a trailing partial codon are skipped and reported.

Which calculation this page matches

Values agree with Biopython's CodonAdaptationIndex.calculate given the same w (zero shares set to 10⁻⁶) to within 10⁻¹². The browser codon optimizer on this site uses a floor of 10⁻⁴ instead, so for a sequence containing a zero-share codon the two pages differ; for every other sequence they agree.

References

  1. Sharp PM, Li WH (1987) The codon adaptation index: a measure of directional synonymous codon usage bias, and its potential applications. Nucleic Acids Res 15:1281-1295. doi:10.1093/nar/15.3.1281

A worked example, computed by this page

A synthetic 40-codon open reading frame (built for this example), scored against the Sus scrofa table (250 coding sequences):

ATGGCTCAAGTTCCGTCAGTATTTTCTGTTGGCTTGGACAACTCTCTCTATTTTATTGGCAATTTAAGGACTCCTCTGTGGATTCGAGAGACGGCAATTAAAGTGATCCGGCACAGTTAA

The first scored codons (ATG is skipped):

Codonaaff max in familyw
GCTA0.26670.40870.6526
CAAQ0.23680.76320.3103
GTTV0.16320.47330.3448
CCGP0.12180.34610.3519
TCAS0.13980.25180.5552
GTAV0.11000.47330.2324
scored codons L = 37 (of 40; 2 Met/Trp and 1 stop excluded) Σ ln w = -17.8830 CAI = exp(-17.8830 / 37) = 0.6167

The calculation runs in your browser

The arithmetic on this page is JavaScript executing in your browser. The sequence you enter is not sent anywhere: the calculator makes no network request with it, and there is no account, upload or server-side step. The one request the page makes is to download the codon-usage table you select, as a static file from this site; your sequence is not part of that request.