| newcpgseek

## Wiki

The master copies of EMBOSS documentation are available at http://emboss.open-bio.org/wiki/Appdocs on the EMBOSS Wiki.

Please help by correcting and extending the Wiki pages.

## Function

Identify and report CpG-rich regions in nucleotide sequence(s)

## Description

newcpgseek identifies in a nucleotide sequence regions with higher than expected frequency of the dinucleotide `CG`. Each position in the sequence is scored using a running sum calculated from all positions in the sequence. This is a different method to that typically used for identifying CpG islands, for example by newcpgreport and cpgplot. This method overpredicts islands but finds the smaller ones around primary exons. An output file is written with information on the CpG-rich regions that are found. A feature table of sequence features in these regions is also written.

## Algorithm

newcpgseek scores each position in the sequence using a running sum calculated from all positions in the sequence, starting with the first and ending in the last. 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.

## Usage

Here is a sample session with newcpgseek

    % newcpgseek
    Identify and report CpG-rich regions in nucleotide sequence(s)
    Input nucleotide sequence(s): tembl:u68037
    CpG score [17]:
    Output file [u68037.newcpgseek]:

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

## Command line arguments

    Identify and report CpG-rich regions in nucleotide sequence(s)
    Version: EMBOSS:6.6.0.0

       Standard (Mandatory) qualifiers:
      [-sequence]          seqall     Nucleotide sequence(s) filename and optional
                                      format, or reference (input USA)
       -score              integer    [17] CpG score (Integer from 1 to 200)
      [-outfile]           outfile    [*.newcpgseek] Output file name

       Additional (Optional) qualifiers: (none)
       Advanced (Unprompted) qualifiers: (none)
       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
       -scircular1         boolean    Sequence is circular
       -squick1            boolean    Read id and sequence only
       -sformat1           string     Input sequence format
       -iquery1            string     Input query fields or ID list
       -ioffset1           integer    Input start position offset
       -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

       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

Qualifier | Type | Description | Allowed values | Default
--- | --- | --- | --- | ---
Standard (Mandatory) qualifiers
[-sequence] (Parameter 1) | seqall | Nucleotide sequence(s) filename and optional format, or reference (input USA) | Readable sequence(s) | Required
-score | integer | CpG score | Integer from 1 to 200 | 17
[-outfile] (Parameter 2) | outfile | Output file name | Output file | <*>.newcpgseek
Additional (Optional) qualifiers
(none)
Advanced (Unprompted) qualifiers
(none)
Associated qualifiers
"-sequence" associated seqall qualifiers
-sbegin1 -sbegin_sequence | integer | Start of each sequence to be used | Any integer value | 0
-send1 -send_sequence | integer | End of each sequence to be used | Any integer value | 0
-sreverse1 -sreverse_sequence | boolean | Reverse (if DNA) | Boolean value Yes/No | N
-sask1 -sask_sequence | boolean | Ask for begin/end/reverse | Boolean value Yes/No | N
-snucleotide1 -snucleotide_sequence | boolean | Sequence is nucleotide | Boolean value Yes/No | N
-sprotein1 -sprotein_sequence | boolean | Sequence is protein | Boolean value Yes/No | N
-slower1 -slower_sequence | boolean | Make lower case | Boolean value Yes/No | N
-supper1 -supper_sequence | boolean | Make upper case | Boolean value Yes/No | N
-scircular1 -scircular_sequence | boolean | Sequence is circular | Boolean value Yes/No | N
-squick1 -squick_sequence | boolean | Read id and sequence only | Boolean value Yes/No | N
-sformat1 -sformat_sequence | string | Input sequence format | Any string |
-iquery1 -iquery_sequence | string | Input query fields or ID list | Any string |
-ioffset1 -ioffset_sequence | integer | Input start position offset | Any integer value | 0
-sdbname1 -sdbname_sequence | string | Database name | Any string |
-sid1 -sid_sequence | string | Entryname | Any string |
-ufo1 -ufo_sequence | string | UFO features | Any string |
-fformat1 -fformat_sequence | string | Features format | Any string |
-fopenfile1 -fopenfile_sequence | string | Features file name | Any string |
"-outfile" associated outfile qualifiers
-odirectory2 -odirectory_outfile | string | Output directory | Any string |
General qualifiers
-auto | boolean | Turn off prompts | Boolean value Yes/No | N
-stdout | boolean | Write first file to standard output | Boolean value Yes/No | N
-filter | boolean | Read first file from standard input, write first file to standard output | Boolean value Yes/No | N
-options | boolean | Prompt for standard and additional values | Boolean value Yes/No | N
-debug | boolean | Write debug output to program.dbg | Boolean value Yes/No | N
-verbose | boolean | Report some/full command line options | Boolean value Yes/No | Y
-help | boolean | Report command line options and exit. More information on associated and general qualifiers can be found with -help -verbose | Boolean value Yes/No | N
-warning | boolean | Report warnings | Boolean value Yes/No | Y
-error | boolean | Report errors | Boolean value Yes/No | Y
-fatal | boolean | Report fatal errors | Boolean value Yes/No | Y
-die | boolean | Report dying program messages | Boolean value Yes/No | Y
-version | boolean | Report version number and exit | Boolean value Yes/No | N

## Input file format

newcpgseek reads one or more nucleotide sequences.

The input is a standard EMBOSS sequence query (also known as a 'USA').

Major sequence database sources defined as standard in EMBOSS installations include srs:embl, srs:uniprot and ensembl

Data can also be read from sequence output in any supported format written by an EMBOSS or third-party application.

The input format can be specified by using the command-line qualifier `-sformat xxx`, where 'xxx' is replaced by the name of the required format. The available format names are: gff (gff3), gff2, embl (em), genbank (gb, refseq), ddbj, refseqp, pir (nbrf), swissprot (swiss, sw), dasgff and debug.

See: http://emboss.sf.net/docs/themes/SequenceFormats.html for further information on sequence formats.

### Input files for usage example

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

### Database entry: tembl:u68037

    ID   U68037; SV 1; linear; mRNA; STD; ROD; 1218 BP.
    XX
    AC   U68037;
    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; Euarchontoglires; Glires; Rodentia; Sciurognathi; Muroidea;
    OC   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 INSDC.
    RL   Biochemistry & Molecular Biology, Merck Frosst Center for Therapeutic
    RL   Research, P. O. Box 1005, Pointe Claire - Dorval, Quebec H9R 4P8, Canada
    XX
    DR   Ensembl-GO; ENSRNOESTG00000830631; Rattus_norvegicus.
    DR   Ensembl-Gn; ENSRNOG00000004094; Rattus_norvegicus.
    DR   Ensembl-Gn; ENSRNOG00000017743; Rattus_norvegicus.
    DR   Ensembl-TO; ENSRNOESTT00000830623; Rattus_norvegicus.
    DR   Ensembl-Tr; ENSRNOT00000005470; Rattus_norvegicus.
    DR   Ensembl-Tr; ENSRNOT00000023860; Rattus_norvegicus.
    XX
    FH   Key             Location/Qualifiers
    FH
    FT   source          1..1218
    FT                   /organism="Rattus norvegicus"
    FT                   /strain="Sprague-Dawley"
    FT                   /mol_type="mRNA"
    FT                   /db_xref="taxon:10116"
    FT   CDS             1..1218
    FT                   /codon_start=1
    FT                   /product="EP1 prostanoid receptor"
    FT                   /note="family 1 G-protein coupled receptor"
    FT                   /db_xref="GOA:P70597"
    FT                   /db_xref="InterPro:IPR000276"
    FT                   /db_xref="InterPro:IPR000708"
    FT                   /db_xref="InterPro:IPR001244"
    FT                   /db_xref="InterPro:IPR008365"
    FT                   /db_xref="InterPro:IPR017452"
    FT                   /db_xref="UniProtKB/Swiss-Prot:P70597"
    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: u68037.newcpgseek

    NEWCPGSEEK of U68037 from 1 to 1218
    with score > 17

     Begin    End  Score        CpG  %CG  CG/GC
    *    96   1032   630         87  66.1   0.65
      1072   1100    26          3  62.1   0.00
      1183   1193    26          2  72.7   2.00
    -------------------------------------------

## Data files

None.

## 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.

## References

None.

## Warnings

None.

## Diagnostic Error Messages

None.

## Exit status

It always exits with a status of 0.

## Known bugs

None.

## See also

Program name | Description
--- | ---
cpgplot | Identify and plot CpG islands in nucleotide sequence(s)
cpgreport | Identify and report CpG-rich regions in nucleotide sequence(s)
geecee | Calculate fractional GC content of nucleic acid sequences
newcpgreport | Identify CpG islands in nucleotide sequence(s)

## Author(s)

Rodrigo Lopez
European Bioinformatics Institute, Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD, UK

Please report all bugs to the EMBOSS bug team (emboss-bug © emboss.open-bio.org) not to the original author.

## History

Written (1999) - Rodrigo Lopez

## Target users

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

## Comments

None