Python Codon Adaptation Index

DOI Documentation Status Travis CodeFactor PyPI

An implementation of Sharp and Li’s 1987 formulation of the codon adaption index.


This module is available from PyPI and can be downloaded with the following command:

$ pip install CAI

To install the latest development version:

$ pip install git+


Finding the CAI of a sequence is easy:

>>> from CAI import CAI
>>> CAI("ATG...", reference=["ATGTTT...", "ATGCGC...",...])

Similarly, from the command line:

$ CAI -s sequence.fasta -r reference_sequences.fasta

Determining which sequences to use as the reference set is left to the user, though the HEG-DB is a great resource of highly expressed genes.

Contributing and Getting Support

If you encounter any issues using CAI, feel free to create an issue.

To contribute to the project, please create a pull request. For more information on how to do so, please look at GitHub’s documentation on pull requests.


Lee, B. D. (2018). Python Implementation of Codon Adaptation Index. Journal of Open Source Software, 3 (30), 905.

  doi = {10.21105/joss.00905},
  url = {},
  year  = {2018},
  month = {oct},
  publisher = {The Open Journal},
  volume = {3},
  number = {30},
  pages = {905},
  author = {Benjamin D. Lee},
  title = {Python Implementation of Codon Adaptation Index},
  journal = {Journal of Open Source Software}


I’m available for contact at


Sharp, P. M., & Li, W. H. (1987). The codon adaptation index–a measure of directional synonymous codon usage bias, and its potential applications. Nucleic Acids Research, 15(3), 1281–1295.

Indices and tables