Codon usage varies widely between species, between genes in a genome and between sites in a gene. Explanations for natural variation in codon usage fall into two categories: mutational and selective.