cpgreport |
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
cpgreport 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
cpgreport 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 cpgreport
% cpgreport tembl:u68037 Identify and report CpG-rich regions in nucleotide sequence(s) CpG score [17]: Output file [u68037.cpgreport]: Features output [u68037.gff]: |
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.4.0.0 Standard (Mandatory) qualifiers: [-sequence] seqall Nucleotide sequence(s) filename and optional format, or reference (input USA) -score integer [17] 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) [-outfile] outfile [*.cpgreport] Output file name [-outfeat] featout [unknown.gff] File for output features 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 -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 "-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 |
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 | 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) |
outfile | Output file name | Output file | <*>.cpgreport |
[-outfeat] (Parameter 3) |
featout | File for output features | Writeable feature table | unknown.gff |
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 |
-sformat1 -sformat_sequence |
string | Input sequence format | Any string | |
-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 | |
"-outfeat" associated featout qualifiers | ||||
-offormat3 -offormat_outfeat |
string | Output feature format | Any string | |
-ofopenfile3 -ofopenfile_outfeat |
string | Features file name | Any string | |
-ofextension3 -ofextension_outfeat |
string | File name extension | Any string | |
-ofdirectory3 -ofdirectory_outfeat |
string | Output directory | Any string | |
-ofname3 -ofname_outfeat |
string | Base file name | Any string | |
-ofsingle3 -ofsingle_outfeat |
boolean | Separate file for each entry | Boolean value Yes/No | N |
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
cpgreport 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 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 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.cpgreport
CPGREPORT of U68037 from 1 to 1218 Sequence Begin End Score CpG %CG CG/GC U68037 12 13 17 1 100.0 - U68037 47 48 17 1 100.0 - U68037 96 1032 630 87 66.1 0.65 U68037 1072 1100 26 3 62.1 0.00 U68037 1139 1140 17 1 100.0 - U68037 1183 1193 26 2 72.7 2.00 |
File: u68037.gff
##gff-version 3 ##sequence-region U68037 1 1193 #!Date 2011-07-15 #!Type DNA #!Source-version EMBOSS 6.4.0.0 U68037 cpgreport sequence_feature 12 13 17.000 + . ID=U68037.1 U68037 cpgreport sequence_feature 47 48 17.000 + . ID=U68037.2 U68037 cpgreport sequence_feature 96 1032 630.000 + . ID=U68037.3 U68037 cpgreport sequence_feature 1072 1100 26.000 + . ID=U68037.4 U68037 cpgreport sequence_feature 1139 1140 17.000 + . ID=U68037.5 U68037 cpgreport sequence_feature 1183 1193 26.000 + . ID=U68037.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
"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
0 if successful.Known bugs
None.See also
Program name | Description |
---|---|
cpgplot | Identify and plot CpG islands in nucleotide sequence(s) |
geecee | Calculate fractional GC content of nucleic acid sequences |
newcpgreport | Identify CpG islands in nucleotide sequence(s) |
newcpgseek | Identify and report CpG-rich regions in nucleotide sequence(s) |
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 formerly at:Informatics Division, 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.
The algorithm was modified for inclusion in EGCG under the name 'CPGSPANS' by
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.
This application was modified for inclusion in EMBOSS by
Alan Bleasby
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.