CpG depletion
Removes CpG dinucleotides from a coding sequence without changing the protein.
Removes CpG dinucleotides from a coding sequence without changing the protein.
CpG means a cytosine followed immediately by a guanine on the same strand, written CG in the sequence. In a coding sequence a CpG can sit in two places: inside a codon, at positions 1 to 2 or 2 to 3, or across a junction, where one codon ends in C and the next begins with G. Both kinds are removed here, and only by changing a codon for a synonymous one, so the protein never changes.
Junction CpG is what makes this harder than it looks. Changing one codon to remove a CpG can create a new one with its neighbour, so choosing codons greedily from left to right does not give the fewest CpG. This tool works the whole reading frame out at once with dynamic programming: it carries the best solution for each possible last base of each codon, so the answer it reports is the smallest number of CpG that any synonymous rewrite of the sequence can reach. Among the rewrites that reach it, the one that keeps the most codons unchanged and favours the codons your host uses is chosen.
"Try an example" loads the 720 nt coding sequence of EGFP, a GC-rich gene with60 CpG sites. With human codon preference the tool returns a sequence with0 CpG, reached by changing 62 of the 240 codons. GC content falls from 61.5 % to 53.3 %, and the translated protein is unchanged. The first change is at codon 5, where GGC (Gly) becomes GGA to break the CG that its final C made with the G of the following GAG. Switch the codon preference to E. coli and the same zero CpG costs 108 codon changes and takes GC down to 47.5 %, because the CpG-free codons E. coli prefers are AT-richer.
| Position | Example | How it is removed |
|---|---|---|
| Inside a codon, bases 1 to 2 | CGT (Arg) | Use AGA or AGG |
| Inside a codon, bases 2 to 3 | CCG (Pro) | Use CCA, CCT or CCC |
| Across a junction | GCC GAG | Change the first codon so it does not end in C, or the second so it does not start with G |
Only arginine, proline, alanine, threonine and serine carry a CpG inside a codon. Junction CpG is the larger share in most genes, and it is the reason a tool that looks at one codon at a time leaves CpG behind.
Unmethylated CpG in a delivered DNA or RNA is read as a danger signal by TLR9 and other innate sensors, and CpG density in a transgene is linked to inflammation, silencing and loss of expression in gene therapy vectors. CpG is also the substrate of DNA methylation, so a CpG-poor cassette is harder for the cell to switch off. Reducing CpG is now routine in AAV and lentiviral cassette design and in mRNA sequence design.
No. Only synonymous positions are changed, so every codon still encodes the same amino acid and the protein is identical. Stop codons are left exactly as they are. The tool checks this for you: the translation of the output matches the translation of the input.
Almost always, yes. Every amino acid has at least one codon free of CpG, including arginine, whose CGN codons can be swapped for AGA or AGG, and no amino acid is forced to end a codon in C, so junction CpG can be removed too. What is left over comes from codons with an ambiguous base, which are not changed.
Because CpG is two of the four GC-rich dinucleotides, and removing it usually means replacing a C or a G in a wobble position. A GC-rich gene typically loses several percentage points. If the result falls below about 30 % GC, check it for long A or T runs before ordering synthesis.
TpA is the other under-represented dinucleotide in vertebrate mRNA. It is a target of endonucleases and is enriched in unstable transcripts, so TpA depletion is used alongside CpG depletion in mRNA and vector design. Turning it on keeps CpG removal first and minimises TpA among the remaining synonymous choices.