a vector or matrix of numeric data to plot. The names/rownames
attribute needs to contain corresponding gene identifiers
genome
a chromLocation object associated with the specified
data set. See below for details.
chr
which chromosome to plot
organism
if NULL, determination of the host organism will be
retrieved from the organism slot of the chromLocation
object. Otherwise "h", "r", or "m" can be used to
specify human, rat, or mouse chromosome
information
method
plotting method
margin
type of banding information to display in the plot
margin
grid.col
a two element vector specifying the centromere and
band grid colors.
grid.lty
a two element vector specifying the centromere and
band grid line type.
widths
a two element vector specifying the relative width of
the margin idiogram two the adjacent graph. This option is currently
ignored.
relative
If relative is TRUE, the vertical height of
the plot is scaled relative to the size of largest chromosome.
dlim
a two element vector specifying the minimum and maximum
values for x. Data in x that exceed the min and max
limits will be set to the min/max limit values before plotting.
main
an overall title for the plot. Defaults to the chromosome
name.
xlab
a title for the x axis.
ylab
a title for the y axis.
cex.axis
the magnification to be used for axis annotation
relative to the current.
na.color
color to be used for NA values, defaults to: par("bg")
cen.color
color to be used for the centromere when
margin="idiogram", defaults to: "red"
mb
if TRUE, subset data to include just those row names
starting with the value of the argument chr. Otherwise, use
chromLoc as outlined below.
...
additional graphical parameters can be given as
arguments.
Details
This function displays cytogenetic banding information in the plot
margin and calls a secondary plotting function to display associated
data at the same relative position. Cytogenetic data for human, mouse,
and rat genomes are currently included.
The data is arranged by associating gene identifiers to genomic
location using a chromLoc annotation object built using the
buildChromLocation function from the annotation package. As
such, a vector of data is to be plotted, the names attribute of
the vector needs to contain the gene identifiers. Likewise if
a matrix of data is to be plotted, the rownames
attribute of the matrix needs to contain the gene identifiers.
To date, plot can be called for vector data, while
matplot and image can be called for matrix
data. Most additional plotting arguments can be passed down via
.... However, the idiogram function plots the axis
independently. Currently, only the cex.axis,col.axis,
and font.axis parameters are intercepted from ... and
redirected to the specialized axis call. Other
parameters that effect the axis should be set via par.
The function midiogram is a simple wrapper around
idiogram to plot all the chromosomes from a particular organism
using sensible default values. The "m" refers to
plotting multiple idiograms.
Author(s)
Kyle Furge <kyle.furge@vai.org> and Karl Dykema
<karl.dykema@vai.org>
See Also
buildChromLocation,
Hs.cytoband, idiograb
Examples
library(idiogram)
##
## NOTE:This requires an annotation package to work.
## In this example packages "hu6800.db" and "golubEsets" are used.
## They can be downloaded from http://www.bioconductor.org
## "hu6800.db" is under MetaData, "golubEsets" is under Experimental
## Data.
if(require(hu6800.db) && require(golubEsets)) {
library(golubEsets)
data(Golub_Train)
hu.chr <- buildChromLocation("hu6800")
ex <- assayData(Golub_Train)$exprs[,1]
## make sure the names() attribute is set correctly
gN <- names(ex)
gN[1:10]
idiogram(ex,hu.chr,chr="1")
colors <- rep("black",times=length(ex))
colors[ex > 10000] <- "red"
pts <- rep(1,times=length(ex))
pts[ex > 10000] <- 2
idiogram(ex,hu.chr,chr="1",col=colors,pch=pts,font.axis=2,cex.axis=1)
abline(v=0,col="darkgreen")
## An example of the dlim option. It is most useful for making
## consistant multi-panel plots
colors <- rep("black",times=length(ex))
colors[ex > 10000] <- "red"
colors[ex < 0] <- "blue"
idiogram(ex,hu.chr,chr="1",col=colors,xlim=c(-3000,21000))
idiogram(ex,hu.chr,chr="1",col=colors,dlim=c(-100,7500),xlim=c(-3000,21000))
idiogram(ex,hu.chr,chr="1",col=colors,dlim=c(-100,7500),xlim=c(-3000,10000))
## Using the identify function
ip <- idiogram(ex,hu.chr,chr="1",col=colors,pch=19)
#identify(ip$x,ip$y,labels=ip$labels)
} else print("This example requires the hu6800.db and golubEsets data packages.")
## The example data is BAC array CGH data from J. Fridlyand's
## aCGH package
data(idiogramExample)
idiogram(colo.eset[,1],ucsf.chr,chr="1")
idiogram(colo.eset,ucsf.chr,chr="1",method="image")
idiogram(colo.eset,ucsf.chr,chr="1",method="image",col=topo.colors(50),grid.lty=c(1,NA))
idiogram(colo.eset,ucsf.chr,chr="1",method="mat",type="l")
## for a consistant multi-panel plot it can be helpful to force the data
## range within each panel to a defined range using 'dlim'
## This is similar to calling the 'midiogram' function
op <- par(no.readonly=TRUE)
par(mai=par("mai")*c(0.1,0.5,0.5,0.5))
layout(rbind(c(1:8),c(0,9:14,0),c(15:22)))
for(i in c(1:22)) {
idiogram(colo.eset,ucsf.chr,chr=i,method="i",dlim=c(-1,1),margin="i",relative=TRUE)
}
par(op)
Results
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(idiogram)
Loading required package: Biobase
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, cbind, colnames, do.call, duplicated, eval, evalq,
get, grep, grepl, intersect, is.unsorted, lapply, lengths, mapply,
match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank,
rbind, rownames, sapply, setdiff, sort, table, tapply, union,
unique, unsplit
Welcome to Bioconductor
Vignettes contain introductory material; view with
'browseVignettes()'. To cite Bioconductor, see
'citation("Biobase")', and for packages 'citation("pkgname")'.
Loading required package: annotate
Loading required package: AnnotationDbi
Loading required package: stats4
Loading required package: IRanges
Loading required package: S4Vectors
Attaching package: 'S4Vectors'
The following objects are masked from 'package:base':
colMeans, colSums, expand.grid, rowMeans, rowSums
Loading required package: XML
Loading required package: plotrix
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/idiogram/idiogram.Rd_%03d_medium.png", width=480, height=480)
> ### Name: idiogram
> ### Title: Plotting of Genomic Data
> ### Aliases: idiogram midiogram
> ### Keywords: hplot
>
> ### ** Examples
>
> library(idiogram)
>
> ##
> ## NOTE:This requires an annotation package to work.
> ## In this example packages "hu6800.db" and "golubEsets" are used.
> ## They can be downloaded from http://www.bioconductor.org
> ## "hu6800.db" is under MetaData, "golubEsets" is under Experimental
> ## Data.
>
>
> if(require(hu6800.db) && require(golubEsets)) {
+ library(golubEsets)
+ data(Golub_Train)
+
+ hu.chr <- buildChromLocation("hu6800")
+ ex <- assayData(Golub_Train)$exprs[,1]
+
+ ## make sure the names() attribute is set correctly
+ gN <- names(ex)
+ gN[1:10]
+
+ idiogram(ex,hu.chr,chr="1")
+
+ colors <- rep("black",times=length(ex))
+ colors[ex > 10000] <- "red"
+ pts <- rep(1,times=length(ex))
+ pts[ex > 10000] <- 2
+ idiogram(ex,hu.chr,chr="1",col=colors,pch=pts,font.axis=2,cex.axis=1)
+ abline(v=0,col="darkgreen")
+
+ ## An example of the dlim option. It is most useful for making
+ ## consistant multi-panel plots
+ colors <- rep("black",times=length(ex))
+ colors[ex > 10000] <- "red"
+ colors[ex < 0] <- "blue"
+
+ idiogram(ex,hu.chr,chr="1",col=colors,xlim=c(-3000,21000))
+ idiogram(ex,hu.chr,chr="1",col=colors,dlim=c(-100,7500),xlim=c(-3000,21000))
+ idiogram(ex,hu.chr,chr="1",col=colors,dlim=c(-100,7500),xlim=c(-3000,10000))
+
+ ## Using the identify function
+ ip <- idiogram(ex,hu.chr,chr="1",col=colors,pch=19)
+ #identify(ip$x,ip$y,labels=ip$labels)
+
+ } else print("This example requires the hu6800.db and golubEsets data packages.")
Loading required package: hu6800.db
Loading required package: org.Hs.eg.db
Loading required package: golubEsets
>
> ## The example data is BAC array CGH data from J. Fridlyand's
> ## aCGH package
>
> data(idiogramExample)
>
> idiogram(colo.eset[,1],ucsf.chr,chr="1")
>
> idiogram(colo.eset,ucsf.chr,chr="1",method="image")
Warning: zlim used is: -0.839888 0.787702 Please see 'dlim' to adjust.
>
> idiogram(colo.eset,ucsf.chr,chr="1",method="image",col=topo.colors(50),grid.lty=c(1,NA))
Warning: zlim used is: -0.839888 0.787702 Please see 'dlim' to adjust.
>
> idiogram(colo.eset,ucsf.chr,chr="1",method="mat",type="l")
>
> ## for a consistant multi-panel plot it can be helpful to force the data
> ## range within each panel to a defined range using 'dlim'
> ## This is similar to calling the 'midiogram' function
>
> op <- par(no.readonly=TRUE)
> par(mai=par("mai")*c(0.1,0.5,0.5,0.5))
> layout(rbind(c(1:8),c(0,9:14,0),c(15:22)))
>
> for(i in c(1:22)) {
+ idiogram(colo.eset,ucsf.chr,chr=i,method="i",dlim=c(-1,1),margin="i",relative=TRUE)
+ }
There were 12 warnings (use warnings() to see them)
>
> par(op)
>
>
>
>
>
> dev.off()
null device
1
>