1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480
|
cpgplot
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 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.
Expected = (number of C's * number of G's) / window length
Usage
Here is a sample session with cpgplot
% cpgplot tembl:u68037 -graph cps
Identify and plot CpG islands in nucleotide sequence(s)
Window size [100]:
Minimum length of an island [200]:
Minimum observed/expected [0.6]:
Minimum percentage [50.]:
Output file [u68037.cpgplot]:
Features output [u68037.gff]:
Created cpgplot.ps
Go to the input files for this example
Go to the output files for this example
Command line arguments
Identify and plot CpG islands in nucleotide sequence(s)
Version: EMBOSS:6.6.0.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 position 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, pdf,
svg)
[-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
-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
"-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
Input file format
cpgplot 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
The output is to the specified graphics device.
The results can be output in one of several formats by using the
command-line qualifier -graph xxx, where 'xxx' is replaced by the name
of the required device. Support depends on the availability of
third-party software packages.
The device names that output to a file are: ps (postscript), cps
(colourps), png, gif, pdf, svg, hpgl, hp7470, hp7580, das, data.
The other available device names are: meta, x11 (xwindows), tek
(tek4107t), tekt (tektronix), xterm, text.
Output can be turned off by specifying none (null).
See: http://emboss.sf.net/docs/themes/GraphicsDevices.html for further
information on supported devices.
Output files for usage example
File: u68037.cpgplot
CPGPLOT islands of unusual CG composition
U68037 from 1 to 1218
Observed/Expected ratio > 0.60
Percent C + Percent G > 50.00
Length > 200
Length 406 (104..509)
Length 329 (596..924)
File: u68037.gff
##gff-version 3
##sequence-region U68037 1 924
#!Date 2013-07-15
#!Type DNA
#!Source-version EMBOSS 6.6.0.0
U68037 cpgplot sequence_feature 104 509 . + .
ID=U68037.1
U68037 cpgplot sequence_feature 596 924 . + .
ID=U68037.2
Graphics File: cpgplot.ps
[cpgplot results]
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
The original program was described in:
1. Larsen F, Gundersen G, Lopez R, Prydz H "CpG islands as gene
markers in the human genome." Genomics 1992 Aug;13(4):1095-107
Warnings
None.
Diagnostic Error Messages
None.
Exit status
0 if successful.
Known bugs
None.
See also
Program name Description
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)
newcpgseek Identify and report CpG-rich regions in nucleotide
sequence(s)
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)
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 (c) emboss.open-bio.org) not to the original author.
History
Completed 23rd March 1999.
Target users
This program is intended to be used by everyone and everything, from
naive users to embedded scripts.
Comments
None
|