Wiki

Function

Identify and plot CpG islands in nucleotide sequence(s)

Description

cpgplot identifies CpG islands in one or more nucleotide sequences. The ratio of observered to expected number of GC dinucleotides patterns is calculated over a window (sequence region) which is moved along the sequence. The calculated ratios are plotted graphically, together with the regions which match this program's definition of a "CpG island" (a CG dinucleotide rich area). A report file is written giving the input sequence name, CpG island parameters and data on any CpG islands that are found.

The ratio of observered to expected number of GC dinucleotides patterns is calculated over a window of user-specified size (-window parameter). The window is slid along the sequence and the ratio recalculated until the end of the sequence is reached.

By default, cpgplot defines a CpG island as a region where, over an average of 10 windows and not less than 200 bases, the calculated (%G + %C) content is over 50% and the calculated Observed/Expected ratio is over 0.6. These conditions can be modified by setting the values of the appropriate parameters.

The Observed number of CpG patterns in a window is simply the number of times a 'C' is found followed immediately by a 'G'.

The Expected number of CpG patterns is calculated for each window as the number of CpG dinucleotides you would expect to see in that window based on the frequency of C's and G's in that window. Thus, the Expected frequency of CpG's in a window is calculated as the number of 'C's in the window multiplied by the number of 'G's in the window, divided by the window length.

Command line arguments

Identify and plot CpG islands in nucleotide sequence(s)
Version: EMBOSS:6.2.0
Standard (Mandatory) qualifiers (* if not always prompted):
[-sequence] seqall Nucleotide sequence(s) filename and optional
format, or reference (input USA)
-window integer [100] The percentage CG content and the
Observed frequency of CG is calculated
within a window whose size is set by this
parameter. The window is moved down the
sequence and these statistics are calculated
at each postition that the window is moved
to. (Integer 1 or more)
-minlen integer [200] This sets the minimum length that a
CpG island has to be before it is reported.
(Integer 1 or more)
-minoe float [0.6] This sets the minimum average observed
to expected ratio of C plus G to CpG in a
set of 10 windows that are required before a
CpG island is reported. (Number from 0.000
to 10.000)
-minpc float [50.] This sets the minimum average
percentage of G plus C a set of 10 windows
that are required before a CpG island is
reported. (Number from 0.000 to 100.000)
[-outfile] outfile [*.cpgplot] This sets the name of the file
holding the report of the input sequence
name, CpG island parameters and the output
details of any CpG islands that are found.
* -graph xygraph [$EMBOSS_GRAPHICS value, or x11] Graph type
(ps, hpgl, hp7470, hp7580, meta, cps, x11,
tek, tekt, none, data, xterm, png, gif)
[-outfeat] featout [unknown.gff] File for output features
Additional (Optional) qualifiers: (none)
Advanced (Unprompted) qualifiers:
-[no]plot toggle [Y] Plot CpG island score
-[no]obsexp boolean [Y] If this is set to true then the graph of
the observed to expected ratio of C plus G
to CpG within a window is displayed.
-[no]cg boolean [Y] If this is set to true then the graph of
the regions which have been determined to
be CpG islands is displayed.
-[no]pc boolean [Y] If this is set to true then the graph of
the percentage C plus G within a window is
displayed.
Associated qualifiers:
"-sequence" associated qualifiers
-sbegin1 integer Start of each sequence to be used
-send1 integer End of each sequence to be used
-sreverse1 boolean Reverse (if DNA)
-sask1 boolean Ask for begin/end/reverse
-snucleotide1 boolean Sequence is nucleotide
-sprotein1 boolean Sequence is protein
-slower1 boolean Make lower case
-supper1 boolean Make upper case
-sformat1 string Input sequence format
-sdbname1 string Database name
-sid1 string Entryname
-ufo1 string UFO features
-fformat1 string Features format
-fopenfile1 string Features file name
"-outfile" associated qualifiers
-odirectory2 string Output directory
"-graph" associated qualifiers
-gprompt boolean Graph prompting
-gdesc string Graph description
-gtitle string Graph title
-gsubtitle string Graph subtitle
-gxtitle string Graph x axis title
-gytitle string Graph y axis title
-goutfile string Output file for non interactive displays
-gdirectory string Output directory
"-outfeat" associated qualifiers
-offormat3 string Output feature format
-ofopenfile3 string Features file name
-ofextension3 string File name extension
-ofdirectory3 string Output directory
-ofname3 string Base file name
-ofsingle3 boolean Separate file for each entry
General qualifiers:
-auto boolean Turn off prompts
-stdout boolean Write first file to standard output
-filter boolean Read first file from standard input, write
first file to standard output
-options boolean Prompt for standard and additional values
-debug boolean Write debug output to program.dbg
-verbose boolean Report some/full command line options
-help boolean Report command line options and exit. More
information on associated and general
qualifiers can be found with -help -verbose
-warning boolean Report warnings
-error boolean Report errors
-fatal boolean Report fatal errors
-die boolean Report dying program messages
-version boolean Report version number and exit

The percentage CG content and the Observed frequency of CG is calculated within a window whose size is set by this parameter. The window is moved down the sequence and these statistics are calculated at each postition that the window is moved to.

Integer 1 or more

100

-minlen

integer

This sets the minimum length that a CpG island has to be before it is reported.

Integer 1 or more

200

-minoe

float

This sets the minimum average observed to expected ratio of C plus G to CpG in a set of 10 windows that are required before a CpG island is reported.

Number from 0.000 to 10.000

0.6

-minpc

float

This sets the minimum average percentage of G plus C a set of 10 windows that are required before a CpG island is reported.

Number from 0.000 to 100.000

50.

[-outfile](Parameter 2)

outfile

This sets the name of the file holding the report of the input sequence name, CpG island parameters and the output details of any CpG islands that are found.

Graphics File: cpgplot.ps

Notes

"CpG" refers to a C nucleotide immediately followed by a G. The 'p' in 'CpG' refers to the phosphate group linking the two bases. Regions of genomic sequences rich in the CpG pattern or "CpG islands" are resistant to methylation and tend to be associated with genes which are frequently switched on. It's been estimated that about half of all mammalian genes, and, possibly all mammalian house-keeping genes, have a CpG-rich region around their 5' end. Non-mammalian vertebrates have some CpG islands that are associated with genes, but the association gets equivocal in the farther taxonomic groups. The detection of CpG island upstream of predicted exons or genes is evidence in support of a highly expressed gene.

As there is no official definition of what is a CpG island is or how to identify where they begin and end, we work with two definitions and thus two methods. These are:

1. cpgplot and newcpgreport use a sliding window within which the Observed/Expected ratio of CpG is calculated. For a sequence region to reported as a CpG island, it must satisfy the following contraints:

Observed/Expected ratio > 0.6
% C + % G > 50%
Sequence Length > 200

2. newcpgseek and cpgreport use a running sum calculated from all positions in a sequence rather than a window to produce a score. If there is not a CG dinucleotide at a position, the score is decremented, if there is one, the score is incremented by a constant (user-defined) value. If the score for a region in the sequence is higher than a threshold (17 at the moment) then a putative island is declared. Sequence regions scoring above the threshold are searched for recursively.

This method overpredicts islands but finds the smaller ones around primary exons. newcpgseek uses the same method as cpgreport but the output is different and more readable. For most purposes you should probably use newcpgreport rather than cpgreport. It is used to produce the human cpgisland database you can find on the EBI's ftp server as well as on the EBI's SRS server.

newcpgseek and cpgreport both now display the actual CpG count, the (%C + %G) and the Observed/Expected ratio in the region where the score is above the threshold.

The geecee program measures CG content in the entire input sequence and is not to be used to detect CpG islands. It can be useful for detecting sequences that might contain an island.

As there is no official definition of what is a cpg island is, and worst
where they begin and end, we have to live with 2 definitions and thus
two methods. These are:

1. newcpgseek and cpgreport - both declare a putative
island if the score is higher than a threshold (17 at the moment). They
now also displaying the actual CpG count, the % CG and the
observed/expected ration in the region where the score is above the
threshold. This scoring method based on sum/frequencies overpredicts
islands but finds the smaller ones around primary exons.
newcpgseek uses the same method as cpgreport but the
output is different and more readable.

2. newcpgreport and cpgplot use a sliding window within
which the Obs/Exp ratio of CpG is calculated. The important thing to
note in this method is that an island, in order to be reported, is
defined as a region that satisfies the following contraints:

Obs/Exp ratio > 0.6
% C + % G > 50%
Length > 200.

For all practical purposes you should probably use newcpgreport. It is
actually used to produce the human cpgisland database you can find on
the EBI's ftp server as well as on the EBI's SRS server.

geecee measures CG content in the entire input sequence and is
not to be used to detect CpG islands. It can be usefull for detecting
sequences that MIGHT contain an island.