| cpgreport

## Function

Reports all CpG rich regions

## Description

cpgreport scans a nucleotide sequence for regions with higher than expected frequencies of the dinucleotide CG.

CpG refers to a C nucleotide immediately followed by a G. The 'p' in 'CpG' refers to the phosphate group linking the two bases.

Detection of regions of genomic sequences that are rich in the CpG pattern is important because such regions are resistant to methylation and tend to be associated with genes which are frequently switched on. Regions rich in the CpG pattern are known as CpG islands.

This program does not find CpG islands as normally defined: "a region of greater than 200 bp with a %GC of greater than 50% and observed/expected CpG > 0.6". cpgreport instead uses a running sum rather than a window to create the score as follows: if not CpG at position i, then decrement running-Sum counter, but if CpG then running-Sum counter is incremented by the CPGSCORE. Spans greater than the threshold are searched for recursively.

This method overpredicts islands but finds the smaller ones around primary exons.

## Usage

Here is a sample session with cpgreport

    % cpgreport tembl:rnu68037
    Reports all CpG rich regions
    CpG score [17]:
    Output file [rnu68037.cpgreport]:

Go to the input files for this example
Go to the output files for this example

## Command line arguments

       Mandatory qualifiers:
      [-sequence]          seqall     Sequence database USA
       -score              integer    This sets the score for each CG sequence
                                      found. A value of 17 is more sensitive, but
                                      28 has also been used with some success.
      [-outfile]           outfile    Output file name

       Optional qualifiers: (none)
       Advanced qualifiers:
       -featout            featout    File for output features

       Associated qualifiers:
      "-sequence" related qualifiers
       -sbegin1             integer    First base used
       -send1               integer    Last base used, def=seq length
       -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
       -sopenfile1          string     Input filename
       -sdbname1            string     Database name
       -sid1                string     Entryname
       -ufo1                string     UFO features
       -fformat1            string     Features format
       -fopenfile1          string     Features file name
      "-outfile" related qualifiers
       -odirectory2         string     Output directory
      "-featout" related qualifiers
       -offormat            string     Output feature format
       -ofopenfile          string     Features file name
       -ofextension         string     File name extension
       -ofdirectory         string     Output directory
       -ofname              string     Base file name
       -ofsingle            boolean    Separate file for each entry

       General qualifiers:
       -auto                boolean    Turn off prompts
       -stdout              boolean    Write standard output
       -filter              boolean    Read standard input, write standard output
       -options             boolean    Prompt for required and optional values
       -debug               boolean    Write debug output to program.dbg
       -acdlog              boolean    Write ACD processing log to program.acdlog
       -acdpretty           boolean    Rewrite ACD file as program.acdpretty
       -acdtable            boolean    Write HTML table of options
       -verbose             boolean    Report some/full command line options
       -help                boolean    Report command line options. 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 deaths

Mandatory qualifiers | Allowed values | Default
--- | --- | ---
[-sequence] (Parameter 1) | Sequence database USA | Readable sequence(s) | Required
-score | This sets the score for each CG sequence found. A value of 17 is more sensitive, but 28 has also been used with some success. | Integer from 1 to 200 | 17
[-outfile] (Parameter 2) | Output file name | Output file | <sequence>.cpgreport
Optional qualifiers | Allowed values | Default
(none)
Advanced qualifiers | Allowed values | Default
-featout | File for output features | Writeable feature table | unknown.gff

## Input file format

Any DNA sequence USA.

### Input files for usage example

'tembl:rnu68037' is a sequence entry in the example nucleic acid database 'tembl'

### Database entry: tembl:rnu68037

    ID   RNU68037   standard; RNA; ROD; 1218 BP.
    XX
    AC   U68037;
    XX
    SV   U68037.1
    XX
    DT   23-SEP-1996 (Rel. 49, Created)
    DT   04-MAR-2000 (Rel. 63, Last updated, Version 2)
    XX
    DE   Rattus norvegicus EP1 prostanoid receptor mRNA, complete cds.
    XX
    KW   .
    XX
    OS   Rattus norvegicus (Norway rat)
    OC   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia;
    OC   Eutheria; Rodentia; Sciurognathi; Muridae; Murinae; Rattus.
    XX
    RN   [1]
    RP   1-1218
    RA   Abramovitz M., Boie Y.;
    RT   "Cloning of the rat EP1 prostanoid receptor";
    RL   Unpublished.
    XX
    RN   [2]
    RP   1-1218
    RA   Abramovitz M., Boie Y.;
    RT   ;
    RL   Submitted (26-AUG-1996) to the EMBL/GenBank/DDBJ databases.
    RL   Biochemistry & Molecular Biology, Merck Frosst Center for Therapeutic
    RL   Research, P. O. Box 1005, Pointe Claire - Dorval, Quebec H9R 4P8, Canada
    XX
    DR   SWISS-PROT; P70597; PE21_RAT.
    XX
    FH   Key             Location/Qualifiers
    FH
    FT   source          1..1218
    FT                   /db_xref="taxon:10116"
    FT                   /organism="Rattus norvegicus"
    FT                   /strain="Sprague-Dawley"
    FT   CDS             1..1218
    FT                   /codon_start=1
    FT                   /db_xref="SWISS-PROT:P70597"
    FT                   /note="family 1 G-protein coupled receptor"
    FT                   /product="EP1 prostanoid receptor"
    FT                   /protein_id="AAB07735.1"
    FT                   /translation="MSPYGLNLSLVDEATTCVTPRVPNTSVVLPTGGNGTSPALPIFSM
    FT                   TLGAVSNVLALALLAQVAGRLRRRRSTATFLLFVASLLAIDLAGHVIPGALVLRLYTAG
    FT                   RAPAGGACHFLGGCMVFFGLCPLLLGCGMAVERCVGVTQPLIHAARVSVARARLALALL
    FT                   AAMALAVALLPLVHVGHYELQYPGTWCFISLGPPGGWRQALLAGLFAGLGLAALLAALV
    FT                   CNTLSGLALLRARWRRRRSRRFRENAGPDDRRRWGSRGLRLASASSASSITSTTAALRS
    FT                   SRGGGSARRVHAHDVEMVGQLVGIMVVSCICWSPLLVLVVLAIGGWNSNSLQRPLFLAV
    FT                   RLASWNQILDPWVYILLRQAMLRQLLRLLPLRVSAKGGPTELSLTKSAWEASSLRSSRH
    FT                   SGFSHL"
    XX
    SQ   Sequence 1218 BP; 162 A; 397 C; 387 G; 272 T; 0 other;
         atgagcccct acgggcttaa cctgagccta gtggatgagg caacaacgtg tgtaacaccc        60
         agggtcccca atacatctgt ggtgctgcca acaggcggta acggcacatc accagcgctg       120
         cctatcttct ccatgacgct gggtgctgtg tccaacgtgc tggcgctggc gctgctggcc       180
         caggttgcag gcagactgcg gcgccgccgc tcgactgcca ccttcctgtt gttcgtcgcc       240
         agcctgcttg ccatcgacct agcaggccat gtgatcccgg gcgccttggt gcttcgcctg       300
         tatactgcag gacgtgcgcc cgctggcggg gcctgtcatt tcctgggcgg ctgtatggtc       360
         ttctttggcc tgtgcccact tttgcttggc tgtggcatgg ccgtggagcg ctgcgtgggt       420
         gtcacgcagc cgctgatcca cgcggcgcgc gtgtccgtag cccgcgcacg cctggcacta       480
         gccctgctgg ccgccatggc tttggcagtg gcgctgctgc cactagtgca cgtgggtcac       540
         tacgagctac agtaccctgg cacttggtgt ttcattagcc ttgggcctcc tggaggttgg       600
         cgccaggcgt tgcttgcggg cctcttcgcc ggccttggcc tggctgcgct ccttgccgca       660
         ctagtgtgta atacgctcag cggcctggcg ctccttcgtg cccgctggag gcggcgtcgc       720
         tctcgacgtt tccgagagaa cgcaggtccc gatgatcgcc ggcgctgggg gtcccgtgga       780
         ctccgcttgg cctccgcctc gtctgcgtca tccatcactt caaccacagc tgccctccgc       840
         agctctcggg gaggcggctc cgcgcgcagg gttcacgcac acgacgtgga aatggtgggc       900
         cagctcgtgg gcatcatggt ggtgtcgtgc atctgctgga gccccctgct ggtattggtg       960
         gtgttggcca tcgggggctg gaactctaac tccctgcagc ggccgctctt tctggctgta      1020
         cgcctcgcgt cgtggaacca gatcctggac ccatgggtgt acatcctgct gcgccaggct      1080
         atgctgcgcc aacttcttcg cctcctaccc ctgagggtta gtgccaaggg tggtccaacg      1140
         gagctgagcc taaccaagag tgcctgggag gccagttcac tgcgtagctc ccggcacagt      1200
         ggcttcagcc acttgtga                                                    1218
    //

## Output file format

### Output files for usage example

### File: rnu68037.cpgreport

    CPGREPORT of RNU68037 from 1 to 1218

    Sequence              Begin    End Score        CpG   %CG  CG/GC
    RNU68037                 12     13    17          1 100.0    -
    RNU68037                 47     48    17          1 100.0    -
    RNU68037                 96   1032   630         87  66.1   0.65
    RNU68037               1072   1100    26          3  62.1   0.00
    RNU68037               1139   1140    17          1 100.0    -
    RNU68037               1183   1193    26          2  72.7   2.00

### File: rnu68037.gff

    ##gff-version 2.0
    ##date 2003-05-22
    ##Type DNA RNU68037
    RNU68037	cpgreport	misc_feature	12	13	17.000	+	.	Sequence "RNU68037.1"
    RNU68037	cpgreport	misc_feature	47	48	17.000	+	.	Sequence "RNU68037.2"
    RNU68037	cpgreport	misc_feature	96	1032	630.000	+	.	Sequence "RNU68037.3"
    RNU68037	cpgreport	misc_feature	1072	1100	26.000	+	.	Sequence "RNU68037.4"
    RNU68037	cpgreport	misc_feature	1139	1140	17.000	+	.	Sequence "RNU68037.5"
    RNU68037	cpgreport	misc_feature	1183	1193	26.000	+	.	Sequence "RNU68037.6"

The first non-blank line of the output file 'rnu68037.cpgreport' is the title line giving the program name, the name of sequence being analysed and the start and end positions of the sequence.

The second non-blank line contains the headings of the columns.

Subsequent lines contain columns with the following information:

- The name of the sequence.
- The begin position and the end position of the CpG-rich region.
- The score of the CpG-rich region.
- The number of CpG's in the CpG-rich region.
- The %(G+C) in the CpG-rich region.
- The ratio of CpG to GpC in the CpG-rich region.

If the count of GpC in the region is zero, then the ratio of CG/GC is reported as '-'.

## Data files

None.

## Notes

This program does not find CpG islands as normally defined (see cpgplot).

## References

None.

## Warnings

None.

## Diagnostic Error Messages

None.

## Exit status

0 if successful.

## Known bugs

None.

## See also

Program name | Description
--- | ---
cpgplot | Plot CpG rich areas
geecee | Calculates the fractional GC content of nucleic acid sequences
newcpgreport | Report CpG rich areas
newcpgseek | Reports CpG rich regions

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.

## Author(s)

This program was originally written by Gos Micklem (gos © ebi.ac.uk)
Informatics Division, European Bioinformatics Institute, Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD, UK

It was modified for inclusion in EGCG under the name 'CPGSPANS' by Rodrigo Lopez (rls © ebi.ac.uk)
European Bioinformatics Institute, Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD, UK

This application was modified for inclusion in EMBOSS by Alan Bleasby (ableasby © hgmp.mrc.ac.uk)
HGMP-RC, Genome Campus, Hinxton, Cambridge CB10 1SB, UK

## History

Completed 22nd March 1999.

## Target users

This program is intended to be used by everyone and everything, from naive users to embedded scripts.

## Comments