CpG Islands Tracks
CpG Islands (Islands < 300 Bases are Light Green) tracks   (All Expression and Regulation tracks)

Display mode:   

CpG Islands  CpG Islands (Islands < 300 Bases are Light Green)  
Unmasked CpG  CpG Islands on All Sequence (Islands < 300 Bases are Light Green)  
Assembly: Mouse Jun. 2020 (GRCm39/mm39)


CpG islands are associated with genes, particularly housekeeping genes, in vertebrates. CpG islands are typically common near transcription start sites and may be associated with promoter regions. Normally a C (cytosine) base followed immediately by a G (guanine) base (a CpG) is rare in vertebrate DNA because the Cs in such an arrangement tend to be methylated. This methylation helps distinguish the newly synthesized DNA strand from the parent strand, which aids in the final stages of DNA proofreading after duplication. However, over evolutionary time, methylated Cs tend to turn into Ts because of spontaneous deamination. The result is that CpGs are relatively rare unless there is selective pressure to keep them or a region is not methylated for some other reason, perhaps having to do with the regulation of gene expression. CpG islands are regions where CpGs are present at significantly higher levels than is typical for the genome as a whole.

The unmasked version of the track displays potential CpG islands that exist in repeat regions and would otherwise not be visible in the repeat masked version.

By default, only the masked version of the track is displayed. To view the unmasked version, change the visibility settings in the track controls at the top of this page.


CpG islands were predicted by searching the sequence one base at a time, scoring each dinucleotide (+17 for CG and -1 for others) and identifying maximally scoring segments. Each segment was then evaluated for the following criteria:

  • GC content of 50% or greater
  • length greater than 200 bp
  • ratio greater than 0.6 of observed number of CG dinucleotides to the expected number on the basis of the number of Gs and Cs in the segment

The entire genome sequence, masking areas included, was used for the construction of the track Unmasked CpG. The track CpG Islands is constructed on the sequence after all masked sequence is removed.

The CpG count is the number of CG dinucleotides in the island. The Percentage CpG is the ratio of CpG nucleotide bases (twice the CpG count) to the length. The ratio of observed to expected CpG is calculated according to the formula (cited in Gardiner-Garden et al. (1987)):

    Obs/Exp CpG = Number of CpG * N / (Number of C * Number of G)
where N = length of sequence.

The calculation of the track data is performed by the following command sequence:

twoBitToFa assembly.2bit stdout | maskOutFa stdin hard stdout \
  | cpg_lh /dev/stdin 2> cpg_lh.err \
    |  awk '{$2 = $2 - 1; width = $3 - $2;  printf("%s\t%d\t%s\t%s %s\t%s\t%s\t%0.0f\t%0.1f\t%s\t%s\n", $1, $2, $3, $5, $6, width, $6, width*$7*0.01, 100.0*2*$6/width, $7, $9);}' \
     | sort -k1,1 -k2,2n > cpgIsland.bed
The unmasked track data is constructed from twoBitToFa -noMask output for the twoBitToFa command.

Data access

CpG islands and its associated tables can be explored interactively using the REST API, the Table Browser or the Data Integrator. All the tables can also be queried directly from our public MySQL servers, with more information available on our help page as well as on our blog.

The source for the cpg_lh program can be obtained from src/utils/cpgIslandExt/. The cpg_lh program binary can be obtained from: http://hgdownload.soe.ucsc.edu/admin/exe/linux.x86_64/cpg_lh (choose "save file")


This track was generated using a modification of a program developed by G. Miklem and L. Hillier (unpublished).


Gardiner-Garden M, Frommer M. CpG islands in vertebrate genomes. J Mol Biol. 1987 Jul 20;196(2):261-82. PMID: 3656447