Title: | Circos 2D Track Plot |
---|---|
Description: | A simple and flexible way to generate Circos 2D track plot images for genomic data visualization is implemented in this package. The types of plots include: heatmap, histogram, lines, scatterplot, tiles and plot items for further decorations include connector, link (lines and ribbons), and text (gene) label. All functions require only R graphics package that comes with R base installation. |
Authors: | Hongen Zhang |
Maintainer: | Hongen Zhang <[email protected]> |
License: | GPL (>=2) |
Version: | 1.2.2 |
Built: | 2024-10-31 16:32:42 UTC |
Source: | https://github.com/hzhanghenry/rcircos |
This is the R implement of basic Circos plots of genimic data.
Package: | RCircos |
Type: | Package |
Version: | 1.2.0 |
Date: | 2016-8-01 |
License: | GPL (>=2) |
RCircos package provides a simple and flexible way to make Circos 2D track plots with R and could be easily integrated into other R data processing and graphic manipulation pipelines for presenting large-scale multi-sample genomic research data. It can also serve as a base tool to generate complex Circos images. Currently, RCircos supports genomic data plot for three species: human, mouse, and rat. Data plots include chromosome ideogram with cytoband, heatmap, histogram, lines, scatterplot, and tiles. Plot items for further decorations have connectors, links (lines and ribbons), and text (gene) labels. Each plot is implemented with a specific function and input data for all functions are data frames which can be objects read from text files or generated with other R pipelines.
Henry H Zhang
Maintainer: Henry H Zhang <[email protected]>
Hongen Zhang, Paul Meltzer, and Sean Davis. RCircos: an R package for Circos 2D track plots. BMC Bioinformatics, 2013, 14:244.
Adjust scatter plot values to fit the plot track. The data with lowest value will be plot on the centre of first subtrack and the one with highest value will be on the centre of top subtrack. After this adjustment, values could be added to inside position of plot track as final plot positions. This function is mainly for internal use.
RCircos.Adjust.Scatter.Values(scatter.values=NULL, min.value=NULL, max.value=NULL, track.height=NULL, subtrack=NULL)
RCircos.Adjust.Scatter.Values(scatter.values=NULL, min.value=NULL, max.value=NULL, track.height=NULL, subtrack=NULL)
scatter.values |
Numeric vector, the data to be plotted. |
min.value |
Numeric, minimum value of scatter data. |
max.value |
Numeric, maximum value of scatter data. |
track.height |
Non-negative numeric, height of plot track. |
subtrack |
Non-negative nummeric, the number of sub tracks. |
Henry Zhang
Highlight a plot area with transparent color cross one or more tracks. RCircos core components and graphic device must be initialized first.
RCircos.Area.Highlight(highlight.area=NULL, track.num=NULL, side=c("in", "out"), hightlight.color=rgb(0.5, 0.5, 0, 0.5), inside.pos=NULL, outside.pos=NULL)
RCircos.Area.Highlight(highlight.area=NULL, track.num=NULL, side=c("in", "out"), hightlight.color=rgb(0.5, 0.5, 0, 0.5), inside.pos=NULL, outside.pos=NULL)
highlight.area |
Vector with chromosome name, start and end position to be highlighted. |
track.num |
Vector of non-negative integer, which track or track(s) to be highlighted. |
side |
Character vector, location relative to the ideogram, either "in" or "out". |
hightlight.color |
An RGB color definition, alpha value must be defined. |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track. |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
Henry Zhang
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) data(RCircos.Gene.Label.Data) RCircos.Set.Core.Components(UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=NULL, tracks.inside=10, tracks.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() highlight.area <- c("chr1", 100000, 200000) RCircos.Area.Highlight(highlight.area=c("chr1", 100000, 200000), track.num=c(1:3), side="in") RCircos.Area.Highlight(highlight.areac("chr10", 100000, 200000), inside.pos=1.5, outside.pos=2) ## End(Not run)
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) data(RCircos.Gene.Label.Data) RCircos.Set.Core.Components(UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=NULL, tracks.inside=10, tracks.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() highlight.area <- c("chr1", 100000, 200000) RCircos.Area.Highlight(highlight.area=c("chr1", 100000, 200000), track.num=c(1:3), side="in") RCircos.Area.Highlight(highlight.areac("chr10", 100000, 200000), inside.pos=1.5, outside.pos=2) ## End(Not run)
Paint area on one data track with different height and different locations inside of a track. Plot types includes "mountain", "curtain", and "band". Plot data should have genomic positions(chromosome names, start and end positions) as well as height values. For band type plot, two columns of height values are required.
RCircos.Area.Plot(area.data=NULL, data.col=c(4,5), track.num=NULL, side=c("in", "out"), plot.type=c("mountain", "curtain", "band"), min.value=NULL, max.value=NULL, area.color="gray", border.col="black", inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=TRUE)
RCircos.Area.Plot(area.data=NULL, data.col=c(4,5), track.num=NULL, side=c("in", "out"), plot.type=c("mountain", "curtain", "band"), min.value=NULL, max.value=NULL, area.color="gray", border.col="black", inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=TRUE)
area.data |
A data frame with two or three columns for genomic positions, one or more columns for heights of each data point, and an optional column for polygon colour. |
data.col |
Non-negative integer, representing the ordinal number of the column in input data set that contains the data to be plotted. |
track.num |
Non-negative integer, representing the ordinal number of the plot track where the lines will be plotted. |
side |
Character vector, either "in" or "out", representing the position related to chromosome ideogram. |
plot.type |
Character vector, either "mountain", "curtain", or "band" |
min.value |
Numeric, minimum value in data column of polygon data. |
max.value |
Numeric, maximum value in data column of polygon data. |
area.color |
Color names for fill of the area. |
border.col |
Color name for border color, default null. |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track. |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
genomic.columns |
Non-negative integer, total number of columns for genomic position in each row. Must be either 3 or 2. |
is.sorted |
Logic, whether the data is sorted by chromosome names and start positions. |
Henry Zhang
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); data(RCircos.Polygon.Data); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=NULL, tracks.inside=10, tracks.outside=5) RCircos.Set.Plot.Area(); RCircos.Chromosome.Ideogram.Plot() load("RCircos/data/RCircos.Histogram.Data.RData") area.data <- RCircos.Histogram.Data; adj.value <- runif(nrow(area.data), 0, 0.4) area.data["DataT"] <- 0.5 + adj.value area.data["DataB"] <- 0.5 - adj.value RCircos.Area.Plot(area.data, data.col=4, plot.type="mountain", inside.pos=1.2, outside.pos=1.5, is.sorted=FALSE) RCircos.Area.Plot(area.data, data.col=4, plot.type="curtain", inside.pos=0.9, outside.pos=1.1, is.sorted=FALSE) RCircos.Area.Plot(area.data, data.col=c(5,6), plot.type="band", inside.pos=0.4, outside.pos=0.7, is.sorted=FALSE) ## End(Not run)
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); data(RCircos.Polygon.Data); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=NULL, tracks.inside=10, tracks.outside=5) RCircos.Set.Plot.Area(); RCircos.Chromosome.Ideogram.Plot() load("RCircos/data/RCircos.Histogram.Data.RData") area.data <- RCircos.Histogram.Data; adj.value <- runif(nrow(area.data), 0, 0.4) area.data["DataT"] <- 0.5 + adj.value area.data["DataB"] <- 0.5 - adj.value RCircos.Area.Plot(area.data, data.col=4, plot.type="mountain", inside.pos=1.2, outside.pos=1.5, is.sorted=FALSE) RCircos.Area.Plot(area.data, data.col=4, plot.type="curtain", inside.pos=0.9, outside.pos=1.1, is.sorted=FALSE) RCircos.Area.Plot(area.data, data.col=c(5,6), plot.type="band", inside.pos=0.4, outside.pos=0.7, is.sorted=FALSE) ## End(Not run)
Draw chromosome ideogram, chromosome highlights and chromosome names. Graphic device must be initialized first. The original function was split to three new ones in order to plot chromosome highlight or names in different area. RCircos core components and graphic device must be initialized first.
RCircos.Chromosome.Ideogram.Plot(tick.interval=0) RCircos.Draw.Chromosome.Ideogram(ideo.pos=NULL, ideo.width=NULL) RCircos.Highligh.Chromosome.Ideogram(highlight.pos=NULL, highlight.width=NULL) RCircos.Ideogram.Tick.Plot(tick.interval=50, track.for.ticks=3) RCircos.Label.Chromosome.Names(chr.name.pos=NULL)
RCircos.Chromosome.Ideogram.Plot(tick.interval=0) RCircos.Draw.Chromosome.Ideogram(ideo.pos=NULL, ideo.width=NULL) RCircos.Highligh.Chromosome.Ideogram(highlight.pos=NULL, highlight.width=NULL) RCircos.Ideogram.Tick.Plot(tick.interval=50, track.for.ticks=3) RCircos.Label.Chromosome.Names(chr.name.pos=NULL)
tick.interval |
Non-negative integer, the distance between two chromosome ideogram ticks in million base pairs. Set to 0 (zero) will ignore the ideogram ticks. |
ideo.pos |
Non-negative numeric, the distance of chromosome ideogram position from center of plot area. |
ideo.width |
Non-negative numeric, the width of chromosome ideogram. |
highlight.pos |
Non-negative numeric, the distance of chromosome highlight line position from center of plot area. |
highlight.width |
Non-negative integer, the width of chromosome highlight lines. |
track.for.ticks |
Non-negative integer, total number of tracks for ideogram tick height. |
chr.name.pos |
Non-negative numeric, the distance of chromosome names from center of plot area. |
RCircos.Chromosome.Ideogram.Plot() is the default method to plot chromosome ideogram, chromosome highlights, and chromosome names.
RCircos.Draw.Chromosome.Ideogram() plots chromosome ideogram only.
RCircos.Highligh.Chromosome.Ideogram() highlights chromosomes with different color lines only.
RCircos.Ideogram.Tick.Plot() draws chromosome ideogram ticks starting from chromosome highlight positions.
RCircos.Label.Chromosome.Names(chr.name.pos=NULL) add chromosome names for chromosome ideogram at default or customized location.
Henry Zhang
## Not run: library(RCircos) data(UCSC.HG38.Human.CytoBandIdeogram) cyto.info <- UCSC.HG38.Human.CytoBandIdeogram RCircos.Set.Core.Components(cyto.info, chr.exclude=NULL, tracks.inside=10, tracks.outside=0 ) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() ## End(Not run)
## Not run: library(RCircos) data(UCSC.HG38.Human.CytoBandIdeogram) cyto.info <- UCSC.HG38.Human.CytoBandIdeogram RCircos.Set.Core.Components(cyto.info, chr.exclude=NULL, tracks.inside=10, tracks.outside=0 ) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() ## End(Not run)
Erase one or more data track or all tracks from current track to the center of plot area. RCircos core components and graphic device must be already initialized.
RCircos.Clear.Track(track.num=NULL, side=NULL, to.center=FALSE, inside.pos=NULL, outside.pos=NULL)
RCircos.Clear.Track(track.num=NULL, side=NULL, to.center=FALSE, inside.pos=NULL, outside.pos=NULL)
track.num |
Non-negative integer, representing the ordinal number of the plot track to be erased. |
side |
Character vector, either "in" or "out", representing the position related to chromosome ideogram. It could be NULL is both inside.pos and outside.pos are defined. |
to.center |
Logic, FALSE for erasing current track only and TRUE for erasing all tracks from current track to the center of plot plot area. |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track. |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
Henry Zhang
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram) data(RCircos.Link.Data) data(RCircos.Scatter.Data) RCircos.Set.Core.Components(UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=0 ) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() RCircos.Scatter.Plot(RCircos.Scatter.Data, data.col=5, track.num=1, side="in", by.fold=1) RCircos.Link.Plot(RCircos.Link.Data, track.num=3) RCircos.Clear.Track(track.num=1, side="in", to.center=FALSE) RCircos.Clear.Track(track.num=5, side="in", to.center=TRUE) ## End(Not run)
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram) data(RCircos.Link.Data) data(RCircos.Scatter.Data) RCircos.Set.Core.Components(UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=0 ) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() RCircos.Scatter.Plot(RCircos.Scatter.Data, data.col=5, track.num=1, side="in", by.fold=1) RCircos.Link.Plot(RCircos.Link.Data, track.num=3) RCircos.Clear.Track(track.num=1, side="in", to.center=FALSE) RCircos.Clear.Track(track.num=5, side="in", to.center=TRUE) ## End(Not run)
Erase zoom-in plot area. RCircos core components and graphic device must be already initialized.
RCircos.Clear.Zoom.Area(zoom.pos=NULL, track.num=NULL, inside.pos=NULL, outside.pos=NULL)
RCircos.Clear.Zoom.Area(zoom.pos=NULL, track.num=NULL, inside.pos=NULL, outside.pos=NULL)
zoom.pos |
Non-negative integer vector, representing the index of RCircos base plot positions. |
track.num |
Non-negative integer, representing the ordinal number of the plot track to be erased. |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track. |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
Henry Zhang
## Not run: library(RCircos) data(UCSC.HG38.Human.CytoBandIdeogram) cyto.info <- UCSC.HG38.Human.CytoBandIdeogram RCircos.Set.Core.Components(cyto.info, chr.exclude=NULL, tracks.inside=10, tracks.outside=0 ) RCircos.Set.Plot.Area() RCircos.Clear.Zoom.Area(zoom.pos=c(1:10000), inside.pos=2, outside.pos=2.5) ## End(Not run)
## Not run: library(RCircos) data(UCSC.HG38.Human.CytoBandIdeogram) cyto.info <- UCSC.HG38.Human.CytoBandIdeogram RCircos.Set.Core.Components(cyto.info, chr.exclude=NULL, tracks.inside=10, tracks.outside=0 ) RCircos.Set.Plot.Area() RCircos.Clear.Zoom.Area(zoom.pos=c(1:10000), inside.pos=2, outside.pos=2.5) ## End(Not run)
Draw connection lines (simple lines plot) between two sets of data points. One example of usage is to label genes at modified plot position and connect the gene label to its genomic position.os core components and graphics device must be initialized before drawing.
RCircos.Customized.Connection.Plot(gene.data, label.data, gene.pos=NULL, label.pos=NULL)
RCircos.Customized.Connection.Plot(gene.data, label.data, gene.pos=NULL, label.pos=NULL)
gene.data |
A data frame with chromosome names and actual genomic positions for the genes to be labeled. |
label.data |
A data frame with chromosome name and genomic positions that will be used to label gene names. |
gene.pos |
Float numeric, scale factor relative to the center of plot area (0) for start points of connection lines. |
label.pos |
Float numeric, scale factor relative to the center of plot area (0) for end points of connection lines. |
Henry Zhang
Plot one customized shape on a data track. RCircos core components and graphic device must be initialized first. The customized shape should be represented by coordinates of a polygon inside a circle with radius of 1 and default location is at 12 o'clock. When plotting, the polygon center will be scaled and transformed for new size and location. For example, following code will plot an arrow:
polygonX <- c(0, -0.7, -0.2, -0.2, 0.2, 0.2, 0.7, 0) polygonY <- c(-1, 0.7, 0.4, 1, 1, 0.4, 0.7, -1) plot(c(-2, 2), c(-2, 2)) polygon(polygonX, polygonY, col="red")
RCircos.Customized.Shape.Plot(shape.data=NULL, track.num=NULL, side=c("in", "out"), location=NULL, shape.color="red", inside.pos=NULL, outside.pos=NULL)
RCircos.Customized.Shape.Plot(shape.data=NULL, track.num=NULL, side=c("in", "out"), location=NULL, shape.color="red", inside.pos=NULL, outside.pos=NULL)
shape.data |
A two dimensional numeric matrix for coordinates of a polygon |
track.num |
Non-negative integer, representing the ordinal number of the plot track where the lines will be plotted. |
side |
Character vector, either "in" or "out", representing the position related to chromosome ideogram. |
location |
Vector with chromosome name, start position, and end position where the shap to be drawn. |
shape.color |
Character vector, color for the shape. |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track. |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
Henry Zhang
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) RCircos.Set.Core.Components(UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=NULL, tracks.inside=10, tracks.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() shape <- cbind(c(0, -0.7, -0.2, -0.2, 0.2, 0.2, 0.7, 0), c(-1, 0.7, 0.4, 1, 1, 0.4, 0.7, -1)) RCircos.Customized.Shape.Plot(shape, track.num=1, side="in") ## End(Not run)
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) RCircos.Set.Core.Components(UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=NULL, tracks.inside=10, tracks.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() shape <- cbind(c(0, -0.7, -0.2, -0.2, 0.2, 0.2, 0.7, 0), c(-1, 0.7, 0.4, 1, 1, 0.4, 0.7, -1)) RCircos.Customized.Shape.Plot(shape, track.num=1, side="in") ## End(Not run)
Calculate the index of Circos plot positions (a set of x- and y-coordinates for a circular line) for a genomic position (chromosome name and start position). This function is for internal use only.
RCircos.Data.Point(chromosome=NULL, start.posotion=NULL)
RCircos.Data.Point(chromosome=NULL, start.posotion=NULL)
chromosome |
Character vector, a chromosome name with prefix of "chr", e.g., "chr1". |
start.posotion |
Non-negative integer, start position of a genomic interval (e.g, a gene or a band) on the chromosome. |
An integer representing the index of RCircos plot positions.
Henry Zhang
The default total number of base pairs a Circos unit represents. This is a read only parameter and the actual value in a RCircos session could be modified with get and reset methods for plot parameters.
The format is: num 30000
Default Circos units of a character on RCircos plot. This is the character size for best resolution and is a read only parameter.
The format is: num 500
The default total unit of a gap bewtween the ends of two neighbor chromosome ideograms. This is a read only parameter.
The format is: num 300
The default Circos units for RCircos. A Circos unit is a point which represents an inteval of genome length on the circumustance of a circle line. By default an unit represents a point which equal to the length of 30000 base pairs and length of human genome is used to calculate the total number of Circos units. This is a read only parameter and is for internal use to modify plot parameters for RCircso plot with non-human genomes.
The format is: num 103190
The default character size for text plot of RCircos in best resolution. This is a read only parameter and the actual value in a RCircos session could be modified with get and reset methods for plot parameters.
The format is: num 0.4
RCircos.Env is the user environment to hold RCircos core components and other objects for RCircos plot. Each object in the environment can be viewed with get mothod.
The format is: <environment: 0xd67930>
Draw a set of connectors (three lines for each connector) between chromosome ideogram or a data track and gene names. RCircos core components and graphics device must be initialized before drawing.
RCircos.Gene.Connector.Plot(genomic.data=NULL, track.num=NULL, side="in", inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=FALSE)
RCircos.Gene.Connector.Plot(genomic.data=NULL, track.num=NULL, side="in", inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=FALSE)
genomic.data |
A data frame with the first four columns for chromosome names, start positions, end positions, and gene names. |
track.num |
Non-negative integer, representing the ordinal number of the plot track where the connectors are plotted. |
side |
Character vector, either "in" or "out" representing the position related to chromosome ideogram. |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track . |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
genomic.columns |
Non-negative integer, total number of columns for genomic position in each row. Must be either 3 or 2. |
is.sorted |
Logic, whether the data is sorted by chromosome names and start positions. |
Henry Zhang
## Not run: library(RCircos) data(RCircos.Gene.Label.Data) data(UCSC.HG19.Human.CytoBandIdeogram) cyto.info <- UCSC.HG19.Human.CytoBandIdeogram; RCircos.Set.Core.Components(cyto.info, chr.exclude=NULL, tracks.inside=10, tracks.outside=0) gene.data <- RCircos.Gene.Label.Data RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() RCircos.Gene.Connector.Plot(gene.data, track.num=1, side="in") RCircos.Gene.Connector.Plot(gene.data, side="out", inside.pos=2.5, outside.pos=3) ## End(Not run)
## Not run: library(RCircos) data(RCircos.Gene.Label.Data) data(UCSC.HG19.Human.CytoBandIdeogram) cyto.info <- UCSC.HG19.Human.CytoBandIdeogram; RCircos.Set.Core.Components(cyto.info, chr.exclude=NULL, tracks.inside=10, tracks.outside=0) gene.data <- RCircos.Gene.Label.Data RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() RCircos.Gene.Connector.Plot(gene.data, track.num=1, side="in") RCircos.Gene.Connector.Plot(gene.data, side="out", inside.pos=2.5, outside.pos=3) ## End(Not run)
RCircos.Gene.Label.Data contains genomic position information for 192 genes. Each row of the data contains genomic position and gene name for one gene in the order of chromosome name, start position, end position, and gene name.
data(RCircos.Gene.Label.Data)
data(RCircos.Gene.Label.Data)
A data frame with 192 observations on the following 4 variables.
Chromosome
a factor with levels chr1
chr10
chr11
chr12
chr13
chr14
chr15
chr16
chr17
chr18
chr19
chr2
chr20
chr21
chr22
chr3
chr4
chr5
chr6
chr7
chr8
chr9
chrX
chromStart
a numeric vector
chromEnd
a numeric vector
Gene
a factor with levels ABL1
ACN9
ACVR1B
AKT1
ALK
APC
ARHGEF2
ARID1A
ASXL1
ATM
ATRX
BAG3
BAI3
BAP1
BCAN
BCL2
BRAF
BRCA1
BRCA2
CA12
CA9
CALU
CARD11
CBL
CCND1
CD34
CDC73
CDH1
CDK4
CDKN2A
CDX2
CEACAM7
CEBPA
CES3
CRLF2
CSF1R
CSF3
CTNNA1
CTNNB1
CUL2
CYLD
CYP1A1
DAXX
DCC
DES
DIRAS1
DIRC2
DKK3
DLD
DMBT1
DNMT3A
DPYD
EGF
EGFR
EGR3
EIF4G2
EML4
ENO1
ENO2
ERBB2
ERBB3
ERBB4
ERG
EZH2
F10
FAM123B
FBXW7
FGFR1
FGFR2
FGFR3
FH
FHIT
FLCN
FLT3
FOXL2
FZR1
GATA1
GATA2
GATA3
GFAP
GNA11
GNAQ
GNAS
GRP
GSTM1
HIVEP3
HNF1A
HRAS
IDH1
IDH2
IFNA1
IL2
ITGB5
JAK1
JAK2
JAK3
KDR
KIT
KRAS
KRT20
MAGI1
MAP2K4
MEN1
MET
MGMT
MIB1
MKI67
MLH1
MPL
MSH2
MSH6
MUC1
MUC17
MUC2
MUTYH
MVP
MYC
MYD88
NAT1
NAT2
NES
NF1
NF2
NOTCH1
NOTCH2
NPM1
NRAS
PBRM1
PCNA
PDGFRA
PDZD4
PGR
PHOX2B
PIK3CA
PMS2
PPP2R1A
PRCC
PRKAR1A
PTCH1
PTEN
PTGS2
PTPN11
RB1
REEP5
RET
RNF139
RNF2
RPS15
RUNX1
SDHA
SDHAF1
SDHAF2
SDHB
SDHC
SDHD
SELT
SETD2
SLC38A1
SLC6A2
SLTM
SMAD4
SMARCA4
SMARCB1
SMO
SMOX
SMUG1
SOCS1
SRC
SST
STC1
STK11
SUFU
SYP
TCF7L2
TET2
TFE3
TFEB
TMEM97
TNFAIP3
TNFSF13
TP53
TPD52L2
TPM4
TSC1
TSC2
TSHR
TYK2
VHL
VIM
WT1
XRCC1
ZNF135
Unpublished data.
Label gene names along chromosome ideogram or a data track. RCircos core components and graphic device must be initialized before drawing.
RCircos.Gene.Name.Plot(gene.data=NULL, name.col=NULL, track.num=NULL, side="in", inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=FALSE)
RCircos.Gene.Name.Plot(gene.data=NULL, name.col=NULL, track.num=NULL, side="in", inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=FALSE)
gene.data |
A data frame. The first three columns should be chromosome name, start position, end position. |
name.col |
Non-negative integer, representing the ordinal number of the column in input data that contains gene names. |
track.num |
Non-negative integer, representing the ordinal number of the plot track where the gene names are plotted. |
side |
Character vector, either "in" or "out", representing the position related to chromosome ideogram. |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track . |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
genomic.columns |
Non-negative integer, total number of columns for genomic position in each row. Must be either 3 or 2. |
is.sorted |
Logic, whether the data is sorted by chromosome names and start positions. |
Henry Zhang
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) data(RCircos.Gene.Label.Data) cyto.info <- UCSC.HG19.Human.CytoBandIdeogram RCircos.Set.Core.Components(cyto.info, chr.exclude=c("chrX", "chrY"), num.inside=10, num.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() gene.data <- RCircos.Gene.Label.Data; RCircos.Gene.Name.Plot(gene.data, name.col=4, track.num=2, side="in") RCircos.Gene.Name.Plot(gene.data, name.col=4, track.num=2, side="out", inside.pos=2.5, outside.pos=3) ## End(Not run)
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) data(RCircos.Gene.Label.Data) cyto.info <- UCSC.HG19.Human.CytoBandIdeogram RCircos.Set.Core.Components(cyto.info, chr.exclude=c("chrX", "chrY"), num.inside=10, num.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() gene.data <- RCircos.Gene.Label.Data; RCircos.Gene.Name.Plot(gene.data, name.col=4, track.num=2, side="in") RCircos.Gene.Name.Plot(gene.data, name.col=4, track.num=2, side="out", inside.pos=2.5, outside.pos=3) ## End(Not run)
Get default coordinates for an arrow shape. The arrow is represented as a polygon inside of a circle with radius of 1. The cocordinates will be different based which side of chromosome ideogram the arrow will be plotted.
RCircos.Get.Arrow.Shape(side="in")
RCircos.Get.Arrow.Shape(side="in")
side |
Character vector, either "in" or "out". |
A two dimensional numeric matrix for x and y coordinates of a polygon.
Henry Zhang
library(RCircos) arrow <- RCircos.Get.Arrow.Shape("in") arrow <- RCircos.Get.Arrow.Shape("out")
library(RCircos) arrow <- RCircos.Get.Arrow.Shape("in") arrow <- RCircos.Get.Arrow.Shape("out")
Generate an ordered chromosome names from input. For human and other mammalian animals, numeric names (integers or Roman numbers) will go first followed by chromosome X, Y, and M. If all chromosome names are character only, they will be in alphabetical order.
RCircos.Get.Chromosome.Order(chromosomes=NULL)
RCircos.Get.Chromosome.Order(chromosomes=NULL)
chromosomes |
Character vector, names of chromosomes. |
Character vector, ordered chromosome name list.
Henry Zhang
library(RCircos) chromosomes <- paste0("chr", c(1:10, 21,22, 11:20, "X", "Y")) chromosomes <- RCircos.Get.Chromosome.Order(chromosomes)
library(RCircos) chromosomes <- paste0("chr", c(1:10, 21,22, 11:20, "X", "Y")) chromosomes <- RCircos.Get.Chromosome.Order(chromosomes)
Retrieve base plot positions, plot ideogram, and plot parameters used in current RCircos session. RCircos core components must be initialized first.
RCircos.Get.Plot.Parameters() RCircos.Get.Plot.Positions() RCircos.Get.Plot.Ideogram()
RCircos.Get.Plot.Parameters() RCircos.Get.Plot.Positions() RCircos.Get.Plot.Ideogram()
RCircos.Get.Plot.Parameters() returns a list that holding all parameters used in current RCircos session.
RCircos.Get.Plot.Positions() returns a data frame with three columns for x, and y coordinates of a circular line with radius of 1 as well as the degrees used for text rotation at each point of the positions.
RCircos.Get.Plot.Ideogram() returns a data frame containing all information for chromosome ideogram plot. The first five column are orginal cytoband data and following are chromosome highlight colors, and plot colors, length, number of chromosome unit, and relative location on the circular layout of each band.
Henry Zhang
Calculate data point height inside a plot track such as scatter location, top or bottom location of a bar, layer of a tile or parallel link line.
RCircos.Get.Data.Point.Height(plot.values=NULL, min.value=NULL, max.value=NULL, plot.type=NULL, track.height=NULL)
RCircos.Get.Data.Point.Height(plot.values=NULL, min.value=NULL, max.value=NULL, plot.type=NULL, track.height=NULL)
plot.values |
Numeric, the data to be plotted on a data track. |
min.value |
Numeric, the minimum value of data range. |
max.value |
Numeric, the maximum value of data range. |
plot.type |
Character vector, plot type, valid values are "bar", "histogram", "uniform", or "points". |
track.height |
Non-negative numeric, height of plot track. |
Numeric vector with values between 0 ~ 1
Henry Zhang
data.values <- runif(1000, -4, 11) library(RCircos) data.height <- RCircos.Get.Data.Point.Height(data.values, min.value=-4, max.value=14, plot.type="points", track.height=NULL)
data.values <- runif(1000, -4, 11) library(RCircos) data.height <- RCircos.Get.Data.Point.Height(data.values, min.value=-4, max.value=14, plot.type="points", track.height=NULL)
These methods are used to view the defaul parameters stored in RCircos Environments.
RCircos.Get.Default.Circos.Units() RCircos.Get.Default.Base.Per.Units() RCircos.Get.Default.Chrom.Padding() RCircos.Get.Padding.Constant() RCircos.Get.Supported.HeatmapColors() RCircos.Get.Supported.Plot.Types() RCircos.Get.Default.Char.Width() RCircos.Get.Default.Text.Size()
RCircos.Get.Default.Circos.Units() RCircos.Get.Default.Base.Per.Units() RCircos.Get.Default.Chrom.Padding() RCircos.Get.Padding.Constant() RCircos.Get.Supported.HeatmapColors() RCircos.Get.Supported.Plot.Types() RCircos.Get.Default.Char.Width() RCircos.Get.Default.Text.Size()
RCircos.Get.Default.Circos.Units() returns the default number of units (points) for a circular line. This values is derived from human genome length (3x10^9) and one unit represents length of 3000 base pairs.
RCircos.Get.Default.Base.Per.Units() returns the default number of base pairs that a unit (point) will represent.
RCircos.Get.Default.Chrom.Padding() returns the default lenght of gaps between two neighbot chromosomes in chromosome (Circos) unit.
RCircos.Get.Padding.Constant() returns the default ratio of chromosome padding length and total default Circos (chromosome) units.
RCircos.Get.Supported.HeatmapColors() returns the types of colors for heatmap plot.
RCircos.Get.Supported.Plot.Types() returns the plot types supported by current RCircos version.
RCircos.Get.Default.Char.Width() returns the default number of units a character will span on the plot.
RCircos.Get.Default.Text.Size() returns the default size of text in RCircos.
Henry Zhang
This function calculates new plot positions from genomic positions for gene labeling. In case there are too many genes in a genomic interval, the lables may become overlapped so that correct numbers and new plot positions are often needed to make the labels readable. If all labels cannot be plotted for the given genomic interval extra labels will be ignored. This function is for internal use only.
RCircos.Get.Gene.Label.Locations(genomic.data=NULL, genomic.columns=3, is.sorted = TRUE)
RCircos.Get.Gene.Label.Locations(genomic.data=NULL, genomic.columns=3, is.sorted = TRUE)
genomic.data |
A data frame with leading columns for chromosome name, start position, and/or end position. |
genomic.columns |
Non-negative integer, total number of columns for genomic position in each row. Must be either 3 or 2. |
is.sorted |
Logic, whether the data is sorted by chromosome names and start positions. |
All or subset of input data frame with a new column for plot positions.
Henry Zhang
Calculate maximum number of gene names to be plotted for each chromosome based on plot RCircos plot parameters. RCircos core components must be initialized first.
RCircos.Get.Gene.Name.Plot.Parameters()
RCircos.Get.Gene.Name.Plot.Parameters()
A data frame with names, maximum number of labels could be plotted, start position, end position, and label width for each chromosome.
Henry Zhang
Create color scales for heatmap plot. Currently there are six color scales could be generated:
BlueWhiteRed: colors from blue (lowest) to white then red (highest)
GreenWhiteRed: colors from green (lowest) to white then red (highest)
GreenYellowRed: colors from green (lowest) to yellow then red (highest)
GreenBlackRed: colors from green (lowest) to black then red (highest)
YellowToRed: colors from yellow (lowest) to red (highest)
BlackOnly: black only
RCircos.Get.Heatmap.Color.Scale(heatmap.color=NULL)
RCircos.Get.Heatmap.Color.Scale(heatmap.color=NULL)
heatmap.color |
Character vector, one of "BlueWhiteRed", "GreenWhiteRed", "GreenYellowRed", "GreenBlackRed", "YellowToRed", and "BlackOnly". |
A vector or two column matrix of rgb colors.
Henry Zhang
library(RCircos) colorScales <- RCircos.Get.Heatmap.Color.Scale(heatmap.color="BlueWhiteRed")
library(RCircos) colorScales <- RCircos.Get.Heatmap.Color.Scale(heatmap.color="BlueWhiteRed")
Calculate X and Y coordinates for the topleft corner of heatmap color scale.
RCircos.Get.Heatmap.Color.Scale.Location(scale.location = 1)
RCircos.Get.Heatmap.Color.Scale.Location(scale.location = 1)
scale.location |
Integer of 1 ~ 12, represents the plot location (default is 1): |
Numeric verctor of length 2 for x and y coordinates
Henry Zhang
library(RCircos) location <- RCircos.Get.Heatmap.Color.Scale.Location(1)
library(RCircos) location <- RCircos.Get.Heatmap.Color.Scale.Location(1)
Assign colors to each value of a numeric vector for heatmap plot. The colour scale needs to be calculated from whole datasets when there are more than one data column so the minimum and maximum values for heatmap data must be provided.
RCircos.Get.Heatmap.Data.Colors(heatmap.value=NULL, min.value=NULL, max.value=NULL)
RCircos.Get.Heatmap.Data.Colors(heatmap.value=NULL, min.value=NULL, max.value=NULL)
heatmap.value |
A numeric vector. |
min.value |
Numeric, the minimu value for heatmap scale. |
max.value |
Numeric,the maximum value for heatmap scale. |
Character vector of R color names with length same as the length of data values.
Henry Zhang
## Not run: library(RCircos) data(RCircos.Heatmap.Data) hColors <- RCircos.Get.Heatmap.Data.Colors(RCircos.Heatmap.Data[,5], min.value=-3, max.value=3) ## End(Not run)
## Not run: library(RCircos) data(RCircos.Heatmap.Data) hColors <- RCircos.Get.Heatmap.Data.Colors(RCircos.Heatmap.Data[,5], min.value=-3, max.value=3) ## End(Not run)
Assign colors for link lines or Ribbons. The defult colors are rainbow with lenght of total link lines or ribbons. If by.chromosome is set to TRUE, red color will be used for links between positions of same chromosomes and blue color for links between different chromosomes. Users can also define their own colors by appending a column with color names to link data and give the column name as "PlotColor".
This function is for internal use only.
RCircos.Get.Link.Colors(link.data, genomic.columns=3, by.chromosome=TRUE)
RCircos.Get.Link.Colors(link.data, genomic.columns=3, by.chromosome=TRUE)
link.data |
A data frame with paired genomic positions in each row. The first three columns are for chromosome names, start and end position of one genomic position followed by three columns for chromosome names, start and end position of the second genomic position. |
genomic.columns |
Non-negative integer, total columns that define the positions of a genomic interval (chromosome name, start and optional end positions). |
by.chromosome |
Logic. If true, red color will be used for links between positions of same chromosomes and blue color for links between different chromosomes. Otherwise, user defined or random colors (rainbow) will be automatically assigned for each line. |
A vector of color names with length same as the rows of input data.
Henry Zhang
Calculate x and y coordinates for a genomic interval which needs two plot positions (start and end) such as link lines/ribbons, tiles, parallel lines. As a set of points for a circlar line is held in the RCircos session, we only need the index of the point for each genomic position.
RCircos.Get.Paired.Points.Positions(genomic.data=NULL, genomic.columns=3, plot.type=c("link", "ribbon", "pLink", "polygon", "tile"))
RCircos.Get.Paired.Points.Positions(genomic.data=NULL, genomic.columns=3, plot.type=c("link", "ribbon", "pLink", "polygon", "tile"))
genomic.data |
A data frame contains paired genomic positions (chromosome names, start and end positions). The data does not need to be sorted. |
genomic.columns |
Non-negative integer, total number of columns for genomic position (chromosome name, start and/or end position). |
plot.type |
Chraracter vector, either "link", "ribbon", "pLink", "polygon", or "tile". |
A data frame same as input but with two new columns for index of plot positions on circular line.
Henry Zhang
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) data(RCircos.Link.Data) RCircos.Set.Core.Components(UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=NULL, track.inside=10, tracks.outside=0) linkData<-RCircos.Get.Paired.Points.Positions(RCircos.Link.Data, genomic.columns=3, plot.type="link") ## End(Not run)
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) data(RCircos.Link.Data) RCircos.Set.Core.Components(UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=NULL, track.inside=10, tracks.outside=0) linkData<-RCircos.Get.Paired.Points.Positions(RCircos.Link.Data, genomic.columns=3, plot.type="link") ## End(Not run)
Calculate plot track location based on track number, plot side, or user defined inside and outside position relative to plot area center. If all arguments are defined, user defined inside and outside position will be used. This function is mainly for internal use.
RCircos.Get.Plot.Boundary(track.num=NULL, side=NULL, inside.pos=NULL, outside.pos=NULL, erase.area=FALSE)
RCircos.Get.Plot.Boundary(track.num=NULL, side=NULL, inside.pos=NULL, outside.pos=NULL, erase.area=FALSE)
track.num |
Non-negative integer, representing the ordinal number of the plot track where the lines will be plotted. |
side |
Character vector, either "in" or "out", representing the position related to chromosome ideogram. It could be NULL if both inside.pos and outside.pos are defined. |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track. |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
erase.area |
Logic, if the track is going to be erased. |
Numeric vector of length 2, x and y coordinates of a data track.
Henry Zhang
Assign plot colors for each data point of genomic data except of link plot (link lines or ribbons). Users can define their own colors by appending a column with color names to plot data and give the column name as "PlotColor". Otherwise, default colors will be used.
This function is for internal use only.
RCircos.Get.Plot.Colors(plot.data, color)
RCircos.Get.Plot.Colors(plot.data, color)
plot.data |
A data frame with the first three columns as chromosome name, start and end position followed by data values for one or more samples. |
color |
Character vector of color names. |
A vector of color names with length same as the rows of input data.
Hongen Zhang
Check out overlaps between different genomic positions on same chromosome and set up layer numbers for each line of the genomic data.
RCircos.Get.Plot.Layers(genomic.data=NULL, genomic.columns=NULL)
RCircos.Get.Plot.Layers(genomic.data=NULL, genomic.columns=NULL)
genomic.data |
A data frame with genomic positions (chromosomes, start and end positions) and the positions should be already validated and sorted by chromosome then start position. |
genomic.columns |
Non-negative integer, total number of columns for genomic positions. |
A non-negative integer vector with length same as the total rows of input data.
Henry Zhang
library(RCircos) data(RCircos.Tile.Data) layers <- RCircos.Get.Plot.Layers(RCircos.Tile.Data, 3)
library(RCircos) data(RCircos.Tile.Data) layers <- RCircos.Get.Plot.Layers(RCircos.Tile.Data, 3)
Calculate polygon heights (bottom and top location) inside a plot track. Polygon can be draw from inside position to outside position, from outside position to inside position, or from the middle to both direction of the track. This is mainly for internal use.
RCircos.Get.Polygon.Height(data.heights, min.value=NULL, max.value=NULL, inside.pos=NULL, outside.pos=NULL)
RCircos.Get.Polygon.Height(data.heights, min.value=NULL, max.value=NULL, inside.pos=NULL, outside.pos=NULL)
data.heights |
Numeric vector, the data to be plotted on a data track. |
min.value |
Numeric, the minimum value of data range. |
max.value |
Numeric, the maximum value of data range. |
inside.pos |
Non-negative numeric, the close position of a plot track relative to the center of plot area. |
outside.pos |
Non-negative numeric, the far position of a plot track relative to the center of plot area. |
Non-negative umeric matrix of column 2 representing the bottom and top positions of polygons.
Henry Zhang
Calculate x and y coordinates of one genomic position for each row of a genomic data set. As a set of points for a circlar line is held in the RCircos session, we only need the index of the point for each genomic position.
RCircos.Get.Single.Point.Positions(genomic.data=NULL, genomic.columns=3)
RCircos.Get.Single.Point.Positions(genomic.data=NULL, genomic.columns=3)
genomic.data |
A data frame contains genomic positions (at least two or three columns for chromosome names, start and/or end positions). |
genomic.columns |
Non-negative integer, total number of columns for genomic position (chromosome name, start and/or end position). |
A data frame same as input but with a new column for index of plot positions on a circular line.
Henry Zhang
## Not run: library(RCircos) data(RCircos.Heatmap.Data) dat <- RCircos.Get.Single.Point.Positions(RCircos.Heatmap.Data) ## End(Not run)
## Not run: library(RCircos) data(RCircos.Heatmap.Data) dat <- RCircos.Get.Single.Point.Positions(RCircos.Heatmap.Data) ## End(Not run)
Generate start and end positions from single point for special plot types such as heatmap, histogram, or rectangle-like which need start and end positions along the track. This function is mainly for internal use.
RCircos.Get.Start.End.Locations(plot.data, plot.width)
RCircos.Get.Start.End.Locations(plot.data, plot.width)
plot.data |
Data frame returned from RCircos.Get.Single.Point.Positions() and the last column is the plot locations |
plot.width |
Non-negative integer in number of base pairs, e.g., width or heatmap or histogram of each data points |
Henry Zhang
Calculate inner and outer plot positions for a data track. RCircos core components must be initialized first. This function is mainly for internal use.
RCircos.Get.Track.Positions(side=NULL, track.num=NULL)
RCircos.Get.Track.Positions(side=NULL, track.num=NULL)
side |
Character vector, either "in" or "out", representing the position related to chromosome ideogram. |
track.num |
Integer, representing the ordinal number of the plot track |
Numeric vector of length 2. The outer and inner positions of a track.
Hongen Zhang
Retrieve subset of plot data based on gene name or row header.
RCircos.Get.Zoom.Data(plot.data=NULL, name.col= NULL, genomic.columns=3, target.gene=NULL, neighbor.genes=5)
RCircos.Get.Zoom.Data(plot.data=NULL, name.col= NULL, genomic.columns=3, target.gene=NULL, neighbor.genes=5)
plot.data |
A data frame containing genomic positions, gene names, and plot values. The data should be already sorted by chromosome names then start positions. |
name.col |
Non-negative integer, which column is for gene names. |
genomic.columns |
Non-negative integer, total number of columns for genomic position in each row. Must be either 3 or 2. |
target.gene |
Character vector, target gene names. |
neighbor.genes |
Non-negative integer, number of neighbor genes on each side of taget gene to be included in subset. |
Data frame, subset of input data.
Henry Zhang
## Not run: library(RCircos) data(RCircos.Heatmap.Data) zoom.data <- RCircos.Get.Zoom.Data(RCircos.Heatmap.Data, name.col=4, target.gene="TP53") ## End(Not run)
## Not run: library(RCircos) data(RCircos.Heatmap.Data) zoom.data <- RCircos.Get.Zoom.Data(RCircos.Heatmap.Data, name.col=4, target.gene="TP53") ## End(Not run)
Extract zoom in range (chromosome name, start position, and end position) from zoom data with a gene name or row header. If using this function to get zoom-in range, there will be no need to call RCircos.Validate.Genomic.Info().
RCircos.Get.Zoom.Range(zoom.data=NULL, genomic.columns=3)
RCircos.Get.Zoom.Range(zoom.data=NULL, genomic.columns=3)
zoom.data |
A data frame with genomic positions, gene names, and plot values for genes to be zoomed-in only. |
genomic.columns |
Non-negative integer, total number of columns for genomic position in each row. Must be either 3 or 2. |
A list with chromosome names, start end end positions.
Henry Zhang
## Not run: library(RCircos) data(RCircos.Heatmap.Data) zoom.data <- RCircos.Get.Zoom.Data(RCircos.Heatmap.Data, name.col=4, target.gene="TP53") zoom.info <- RCircos.Get.Zoom.Range(zoom.data, genomic.columns=3) ## End(Not run)
## Not run: library(RCircos) data(RCircos.Heatmap.Data) zoom.data <- RCircos.Get.Zoom.Data(RCircos.Heatmap.Data, name.col=4, target.gene="TP53") zoom.info <- RCircos.Get.Zoom.Range(zoom.data, genomic.columns=3) ## End(Not run)
A dataset with the first three columns as chromosome names, start position, and end position followed by a column of gene names then columns of gene expression values.
data(RCircos.Heatmap.Data)
data(RCircos.Heatmap.Data)
A data frame with 6660 observations on the following 10 variables.
Chromosome
a factor with levels chr1
chr10
chr11
chr12
chr13
chr14
chr15
chr16
chr17
chr18
chr19
chr2
chr20
chr21
chr22
chr3
chr4
chr5
chr6
chr7
chr8
chr9
chrX
chrY
chromStart
a numeric vector
chromEnd
a numeric vector
GeneName
a character vector
X786.O
a numeric vector
A498
a numeric vector
A549.ATCC
a numeric vector
ACHN
a numeric vector
BT.549
a numeric vector
CAKI.1
a numeric vector
Modified from NCBI GEO dataset: GSE32474.
Draw one track of heatmap. RCircos core components and graphic device must be initialized before drawing.
RCircos.Heatmap.Plot(heatmap.data=NULL, data.col=NULL, track.num=NULL, side=c("in", "out"), min.value=NULL, max.value=NULL, inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=TRUE)
RCircos.Heatmap.Plot(heatmap.data=NULL, data.col=NULL, track.num=NULL, side=c("in", "out"), min.value=NULL, max.value=NULL, inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=TRUE)
heatmap.data |
A data frame with the first three columns as chromosome names, start position and end position of each data point followed by data values for one or more samples. |
data.col |
Non-negative integer, representing the ordinal number of the column in input data set that contains the data to be plotted. |
track.num |
Non-negative Integer, representing the ordinal number of the plot track where the heatmap will be plotted. |
side |
Character vector, either "in" or "out", representing the position related to chromosome ideogram. |
min.value |
Numeric, minimum value for heatmap scale. |
max.value |
Numeric, maximum value for heatmap scale |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track . |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
genomic.columns |
Non-negative integer, total number of columns for genomic position in each row. Must be either 3 or 2. |
is.sorted |
Logic, whether the data is sorted by chromosome names and start positions. |
Henry Zhang
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) data(RCircos.Heatmap.Data) RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() RCircos.Heatmap.Plot(RCircos.Heatmap.Data, data.col=5, track.num=4, side="in") RCircos.Heatmap.Plot(RCircos.Heatmap.Data, data.col=5, side="in", inside.pos=0.9, outside.pos=1.2) ## End(Not run)
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) data(RCircos.Heatmap.Data) RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() RCircos.Heatmap.Plot(RCircos.Heatmap.Data, data.col=5, track.num=4, side="in") RCircos.Heatmap.Plot(RCircos.Heatmap.Data, data.col=5, side="in", inside.pos=0.9, outside.pos=1.2) ## End(Not run)
Default heatmap colors (total of 6) supported by current version of RCircos. This is a read only data and can be viwed with the method of RCircos.Get.Supported.HeatmapColors().
The format is: chr [1:6] "BlueWhiteRed" "GreenWhiteRed" "GreenYellowRed" "GreenBlackRed" "YellowToRed" "BlackOnly"
A dataset with the first three columns as chromosome names, start position, and end position followed by a column of histogram data.
data(RCircos.Histogram.Data)
data(RCircos.Histogram.Data)
A data frame with 324 observations on the following 4 variables.
Chromosome
a factor with levels chr1
chr10
chr11
chr12
chr13
chr14
chr15
chr16
chr17
chr18
chr19
chr2
chr20
chr21
chr22
chr3
chr4
chr5
chr6
chr7
chr8
chr9
chrX
chrY
chromStart
a numeric vector
chromEnd
a numeric vector
Data
a numeric vector
Unpulished data.
Draw one track of histogram. RCircos core components and graphic device must be initialized before drawing.
RCircos.Histogram.Plot(hist.data=NULL, data.col=4, track.num=NULL, side=c("in", "out"), min.value=NULL, max.value=NULL, inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=TRUE)
RCircos.Histogram.Plot(hist.data=NULL, data.col=4, track.num=NULL, side=c("in", "out"), min.value=NULL, max.value=NULL, inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=TRUE)
hist.data |
A data frame with the first three columns as chromosome names, start position and end position of each data point followed by data values for one or more samples. |
data.col |
Non-negative integer, representing the ordinal number of the column in input data that contains the data to be plotted. |
track.num |
Non-negative integer, representing the ordinal number of the plot track where the histogram will be plotted. |
side |
Character vector, either "in" or "out", representing the position related to chromosome ideogram. |
min.value |
Numeric, minimum value for histogram |
max.value |
Numeric, maximum value for histogram |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track . |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
genomic.columns |
Non-negative integer, total number of columns for genomic position in each row. Must be either 3 or 2. |
is.sorted |
Logic, whether the data is sorted by chromosome names and start positions. |
Henry Zhang
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); data(RCircos.Histogram.Data); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=5) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() RCircos.Histogram.Plot(RCircos.Histogram.Data, data.col=4, track.num=1, side="in") RCircos.Histogram.Plot(RCircos.Histogram.Data, data.col=4, side="in", inside.pos=1.7, outside.pos=1.8) ## End(Not run)
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); data(RCircos.Histogram.Data); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=5) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() RCircos.Histogram.Plot(RCircos.Histogram.Data, data.col=4, track.num=1, side="in") RCircos.Histogram.Plot(RCircos.Histogram.Data, data.col=4, side="in", inside.pos=1.7, outside.pos=1.8) ## End(Not run)
Setup default values for RCircos plot parameters. All parameters are held in one list. This function is for internal use only.
RCircos.Initialize.Plot.Parameters(tracks.inside, tracks.outside)
RCircos.Initialize.Plot.Parameters(tracks.inside, tracks.outside)
tracks.inside |
Non-negative integer, how many tracks will be put inside of chromosome ideogram. |
tracks.outside |
Non-negative integer, how many tracks will be put outside of chromosome ideogram. |
Henry Zhang
A data frame with the first three columns as chromosome name, start and end position followed by columns of DNA copy number variant data (num.mark and seg.mean).
data(RCircos.Line.Data)
data(RCircos.Line.Data)
A data frame with 2037 observations on the following 5 variables.
chromosome
a factor with levels 1
10
11
12
13
14
15
16
17
18
19
2
20
21
22
3
4
5
6
7
8
9
X
Y
start
a numeric vector
stop
a numeric vector
num.mark
a numeric vector
seg.mean
a numeric vector
Unpublished data.
Draw one track of continue lines which connect each neighbor data points. RCircos core components and graphics device must bae initialized before drawing.
RCircos.Line.Plot(line.data=NULL, data.col=4, track.num=NULL, side=c("in", "out"), min.value=NULL, max.value=NULL, inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=TRUE)
RCircos.Line.Plot(line.data=NULL, data.col=4, track.num=NULL, side=c("in", "out"), min.value=NULL, max.value=NULL, inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=TRUE)
line.data |
A data frame with the first three columns for chromosome names, start and end position of each data point followed by data values for one or more samples. |
data.col |
Non-negative integer, representing the ordinal number of the column in input dataset that contains the data to be plotted. |
track.num |
Non-negative integer, representing the ordinal number of the plot track where the lines will be plotted. |
side |
Character vector, either "in" or "out", representing the position related to chromosome ideogram. |
min.value |
Numeric, minimum value of line data. |
max.value |
Numeric, maximum value of line data |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track . |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
genomic.columns |
Non-negative integer, total number of columns for genomic position in each row. Must be either 3 or 2. |
is.sorted |
Logic, whether the data is sorted by chromosome names and start positions. |
Henry Zhang
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); data(RCircos.Line.Data); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), num.inside=10, num.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() RCircos.Line.Plot(RCircos.Line.Data, data.col=5, track.num=1, side="in") RCircos.Line.Plot(RCircos.Line.Data, data.col=5, side="in", inside.pos=1.5, outside.pos=1.75) ## End(Not run)
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); data(RCircos.Line.Data); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), num.inside=10, num.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() RCircos.Line.Plot(RCircos.Line.Data, data.col=5, track.num=1, side="in") RCircos.Line.Plot(RCircos.Line.Data, data.col=5, side="in", inside.pos=1.5, outside.pos=1.75) ## End(Not run)
A data frame containing paired genomic position data for each row. The content of each row must be in the order of name, start and end position of chromosome A then name, start and end position of chromosome B. This data frame is directly used to draw link lines without extra processing.
data(RCircos.Link.Data)
data(RCircos.Link.Data)
A data frame with 71 observations on the following 6 variables.
Chromosome
a factor with levels chr1
chr10
chr11
chr12
chr14
chr15
chr17
chr19
chr2
chr21
chr22
chr3
chr4
chr5
chr6
chr7
chr8
chr9
chrX
chromStart
a numeric vector
chromEnd
a numeric vector
Chromosome.1
a factor with levels chr1
chr10
chr11
chr12
chr14
chr15
chr16
chr17
chr18
chr19
chr2
chr20
chr21
chr22
chr3
chr4
chr5
chr6
chr7
chr8
chr9
chrX
chromStart.1
a numeric vector
chromEnd.1
a numeric vector
Unpublished data.
Calculate a quandratic Bezire curve between two points with (0,0) as control points. This function is for internal use.
RCircos.Link.Line(line.start=NULL, line.end=NULL)
RCircos.Link.Line(line.start=NULL, line.end=NULL)
line.start |
The x and y coordinates of a point where the Bezier curve starts. |
line.end |
The x and y coordinates of a point where the Bezier curve ends. |
Hongen Zhang
Draw lines (quandratic Bezier curves) between paired genomic positions. RCircos core components and graphic device must be initialize before drawing. Link lines are always in the center of plot area.
RCircos.Link.Plot(link.data=NULL, track.num=NULL, by.chromosome=FALSE, start.pos=NULL, genomic.columns=3, is.sorted=TRUE, lineWidth=rep(1, nrow(link.data)))
RCircos.Link.Plot(link.data=NULL, track.num=NULL, by.chromosome=FALSE, start.pos=NULL, genomic.columns=3, is.sorted=TRUE, lineWidth=rep(1, nrow(link.data)))
link.data |
A data frame with paired genomic positions in each row. The two sets of genomic positions must have same number of columns, e.g., chromosome names, start and end positions or only chromosome names and start positions. |
track.num |
Non-negative integer, representing the ordinal number of the plot track where the link lines will start. |
by.chromosome |
Logic. If true, red color will be used for links between positions of same chromosomes and blue color for links between different chromosomes. Otherwise, user defined or random colors (rainbow) will be automatically assigned for each line. |
start.pos |
Non-negative numeric, scale factor relative to chromosome ideogram position. Must be smaller than 1. |
genomic.columns |
Non-negative integer, total number of columns for genomic position in each row. Must be either 3 or 2. |
is.sorted |
Logic, whether the data is sorted by chromosome names and start positions. |
lineWidth |
Non-negative integer vector, width for each link line. |
Henry Zhang
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); data(RCircos.Link.Data); RCircos.Set.Core.Components( cyto.inf=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), num.inside=10, num.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() RCircos.Link.Plot(RCircos.Link.Data, track.num=4, by.chromosome=TRUE) RCircos.Link.Plot(RCircos.Link.Data, start.pos=0.75, by.chromosome=TRUE) ## End(Not run)
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); data(RCircos.Link.Data); RCircos.Set.Core.Components( cyto.inf=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), num.inside=10, num.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() RCircos.Link.Plot(RCircos.Link.Data, track.num=4, by.chromosome=TRUE) RCircos.Link.Plot(RCircos.Link.Data, start.pos=0.75, by.chromosome=TRUE) ## End(Not run)
Print out onto screen all plot parameters used by current RCircos session. RCircos core components must be already initialized.
RCircos.List.Plot.Parameters()
RCircos.List.Plot.Parameters()
Henry Zhang
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=0) RCircos.List.Plot.Parameters() ## End(Not run)
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=0) RCircos.List.Plot.Parameters() ## End(Not run)
A data frame containing mouse genomic position information and gene expresio n values.
data(RCircos.Mouse.Expr.Data)
data(RCircos.Mouse.Expr.Data)
A data frame with 16499 observations on the following 5 variables.
Chromosome
a factor with levels chr1
chr10
chr11
chr12
chr13
chr14
chr15
chr16
chr17
chr18
chr19
chr2
chr3
chr4
chr5
chr6
chr7
chr8
chr9
chrX
chrY
txStart
a numeric vector
txEnd
a numeric vector
Gene
a character vector
Expr.Mean
a numeric vector
Modified from GEO dataset: GSE42081.
Setup RCircos core components with chromosome ideograms of multiple species for visulization of similarity and difference of genomic data between different species.
RCircos.Multiple.Species.Core.Components(cyto.info.list, species.list, chr.exclude= NULL, tracks.inside, tracks.outside)
RCircos.Multiple.Species.Core.Components(cyto.info.list, species.list, chr.exclude= NULL, tracks.inside, tracks.outside)
cyto.info.list |
A List contains data frames for chromosome ideogram data of different species. All data frames in the list must have same columns. |
species.list |
Character vector represent multiple species. Each one will be used as prefix of chromosome names for relavant species. The order of species must match the order of the species in cyto.info.list. |
chr.exclude |
Character vector of chromosome names to be excluded from plot, e.g., chr.exclude <- c("chrX", "chrY"); |
tracks.inside |
Integer, total number of data tracks inside of chromosome ideogram. |
tracks.outside |
Integer, total number of data tracks outside of chromosome ideogram. |
Hongen Zhang
## Not run: library(RCircos) data(UCSC.Mouse.GRCm38.CytoBandIdeogram) data(UCSC.Baylor.3.4.Rat.cytoBandIdeogram) cyto.list <- list(UCSC.Mouse.GRCm38.CytoBandIdeogram, UCSC.Baylor.3.4.Rat.cytoBandIdeogram); species <- c("M", "R") RCircos.Multiple.Species.Core.Components( cyto.list, species, chr.exclude=NULL, tracks.inside=10, tracks.outside=0) ## End(Not run)
## Not run: library(RCircos) data(UCSC.Mouse.GRCm38.CytoBandIdeogram) data(UCSC.Baylor.3.4.Rat.cytoBandIdeogram) cyto.list <- list(UCSC.Mouse.GRCm38.CytoBandIdeogram, UCSC.Baylor.3.4.Rat.cytoBandIdeogram); species <- c("M", "R") RCircos.Multiple.Species.Core.Components( cyto.list, species, chr.exclude=NULL, tracks.inside=10, tracks.outside=0) ## End(Not run)
Combine and modify the chromosome names in multiple species datasets to match the chromosomes in multiple species cytoband data.
RCircos.Multiple.Species.Dataset(data.list, species)
RCircos.Multiple.Species.Dataset(data.list, species)
data.list |
List of genomic data from multiple species. |
species |
Character vector for prefix of chromosome names to identify different species. The order of species in species list must match the species in data.list. |
A data frame same as the input data list but with modified chromosome names.
Henry Zhang
## Not run: library(RCircos) data(RCircos.Mouse.Expr.Data) data(RCircos.Rat.Expr.Data) dataSets <- list(RCircos.Mouse.Expr.Data, RCircos.Rat.Expr.Data) dataset <- RCircos.Get.Multiple.Species.Dataset(dataSets, species.list=c("M", "L")) ## End(Not run)
## Not run: library(RCircos) data(RCircos.Mouse.Expr.Data) data(RCircos.Rat.Expr.Data) dataSets <- list(RCircos.Mouse.Expr.Data, RCircos.Rat.Expr.Data) dataset <- RCircos.Get.Multiple.Species.Dataset(dataSets, species.list=c("M", "L")) ## End(Not run)
Default length of padding area between two chromosomes on chromosome ideogram track. This is a read only data and can be viewed with RCircos.Get.Padding.Constant() method.
The format is: num 0.00291
Plot link lines inside a data track between two genomic positions on same chromosome. RCircos core components and graphic device must be initialized first.
RCircos.Parallel.Line.Plot(line.data=NULL, track.num=NULL, side=c("in", "out"), line.width=1, inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=TRUE)
RCircos.Parallel.Line.Plot(line.data=NULL, track.num=NULL, side=c("in", "out"), line.width=1, inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=TRUE)
line.data |
A data frame containing chromosome, start and end position for each line. |
track.num |
Non-negative integer, the number of track to plot |
side |
Character vector, relative location to ideogram, either "in" or "out". |
line.width |
Non-negative numeric, same as lwd in graphic package |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track. |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
genomic.columns |
Non-negative integer, total number of columns for genomic position in each row. Must be 3. |
is.sorted |
Logic, whether the data is sorted by chromosome names and start positions. |
Henry Zhang
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); data(RCircos.Line.Data); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=5) RCircos.Set.Plot.Area(); RCircos.Chromosome.Ideogram.Plot() RCircos.Parallel.Line.Plot(line.data, track.num=5, side="in") RCircos.Parallel.Line.Plot(line.data, line.width=2, inside.pos=2, outside.pos=2.5) ## End(Not run)
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); data(RCircos.Line.Data); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=5) RCircos.Set.Plot.Area(); RCircos.Chromosome.Ideogram.Plot() RCircos.Parallel.Line.Plot(line.data, track.num=5, side="in") RCircos.Parallel.Line.Plot(line.data, line.width=2, inside.pos=2, outside.pos=2.5) ## End(Not run)
Plot a color scale showing the color ranges of heatmap. One or more tracks should be defined for plots in outside of chromosome ideogram.
RCircos.Plot.Heatmap.Color.Scale(max.value=NULL, min.value=NULL, color.type="BlueWhiteRed", scale.location=1, scale.width=0, scale.height=0)
RCircos.Plot.Heatmap.Color.Scale(max.value=NULL, min.value=NULL, color.type="BlueWhiteRed", scale.location=1, scale.width=0, scale.height=0)
max.value |
Numeric, maximum value of heatmap scale |
min.value |
Numeric, minimum value of heatmap scale |
color.type |
Character vector for color specification, either "BlueWhiteRed", "GreenWhiteRed", "GreenYellowRed","GreenBlackRed", "YellowToRed", or "BlackOnly". Default is "BlueWhiteRed". |
scale.location |
Non negative integer representing color scale location, 1~4 for bottom, left, top, and right. |
scale.width |
Non-negative numeric, width of color scale. if not defined, 1/2 of x axis will be used |
scale.height |
Non-negative numeric, height of color scale. if not defined, 1/10 of scaleWidth axis will be used |
Henry Zhang
## Not run: plot.new() plot.window(c(-5, 5), c(-5, 5)) RCircos.Plot.Heatmap.Color.Scale(max.value=3, min.value=-3, scaleLocation=1, colorType="BlueWhiteRed", scaleWidth=0, scaleHeight=0) ## End(Not run)
## Not run: plot.new() plot.window(c(-5, 5), c(-5, 5)) RCircos.Plot.Heatmap.Color.Scale(max.value=3, min.value=-3, scaleLocation=1, colorType="BlueWhiteRed", scaleWidth=0, scaleHeight=0) ## End(Not run)
All supported plot types saved in RCircos Environment. The values are read only throug RCircos.Get.Supported.Plot.Types().
The format is: char[1:15] "link", "ribbon", "pLink", "polygon", "tile", "ideogram", "heatmap", "bar", "histogram", "cLine","vLine", "points", "connector", "ticks", "text"
Plot points on a track without track outlines and sub-track lines. The size and location od each point can be adjusted with the data values. RCircos core components and graphic device must be initialized first.
RCircos.Point.Plot(point.data=NULL, data.col=4, track.num=NULL, side=c("in", "out"), min.value=NULL, max.value=NULL, point.type=19, with.height=TRUE, with.size=FALSE, point.scale=1, inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=TRUE)
RCircos.Point.Plot(point.data=NULL, data.col=4, track.num=NULL, side=c("in", "out"), min.value=NULL, max.value=NULL, point.type=19, with.height=TRUE, with.size=FALSE, point.scale=1, inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=TRUE)
point.data |
A data frame with leading columns of chromosome names, start position and/or end position of each data point followed by data values for one or more samples |
data.col |
Non-negative integer, representing the ordinal number of the column in input dataset that contains the data to be plotted. |
track.num |
Non-negative integer, representing the ordinal number of the plot track where the lines will be plotted. |
side |
Character vector, either "in" or "out", representing the position related to chromosome ideogram. |
min.value |
Numeric, minimum value of point data. |
max.value |
Numeric, maximum value of point data |
point.type |
Non-negative integer for pch. Default is 19. |
with.height |
Logic, if TURE, the location of each point will be adjusted according to the data value. |
with.size |
Logic, if TURE, the size of each point will be adjusted according to the data value. |
point.scale |
Non-negative numeric, more scale for point size, must be greater than or equal to 1. |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track. |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
genomic.columns |
Non-negative integer, total number of columns for genomic position in each row. Must be either 3 or 2. |
is.sorted |
Logic, whether the data is sorted by chromosome names and start positions. |
Henry Zhang
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), num.inside=10, num.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() data(RCircos.Scatter.Data) RCircos.Scatter.Plot(RCircos.Scatter.Data, data.col=5, track.num=4, side="in", with.height=TRUE, with.size=FALSE) ## End(Not run)
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), num.inside=10, num.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() data(RCircos.Scatter.Data) RCircos.Scatter.Plot(RCircos.Scatter.Data, data.col=5, track.num=4, side="in", with.height=TRUE, with.size=FALSE) ## End(Not run)
A data frame with four columns for chromosome names, start and end position for each genomic interval, and values for polygon heights.
data("RCircos.Polygon.Data")
data("RCircos.Polygon.Data")
A data frame with 77 observations on the following 4 variables.
Chromosome
a factor with levels chr1
chr10
chr11
chr12
chr13
chr14
chr15
chr16
chr17
chr18
chr19
chr2
chr20
chr21
chr3
chr4
chr5
chr6
chr7
chr8
chr9
chrX
chrY
chromStart
a numeric vector
chromEnd
a numeric vector
Data
a numeric vector
Plot polygons with different height and different locations inside of a track. Polygon plot is an alternative bar plot that takes both positive and negative height values and genomic intervals with different lengths. Plot data should have genomic positions(chromosome names, start and end positions) as well as height values. Optional column for polygon colors may follow.
RCircos.Polygon.Plot(polygon.data=NULL, data.col=NULL, track.num=NULL, side=c("in", "out"), border.col=NULL, polygon.col="pink", min.value=NULL, max.value=NULL, inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted = TRUE)
RCircos.Polygon.Plot(polygon.data=NULL, data.col=NULL, track.num=NULL, side=c("in", "out"), border.col=NULL, polygon.col="pink", min.value=NULL, max.value=NULL, inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted = TRUE)
polygon.data |
A data frame with three columns for genomic positions, one or columns for polygon heights, and an optional column for polygon colour. |
data.col |
Non-negative integer, representing the ordinal number of the column in input data set that contains the data to be plotted. |
track.num |
Non-negative integer, representing the ordinal number of the plot track where the lines will be plotted. |
side |
Character vector, either "in" or "out", representing the position related to chromosome ideogram. |
border.col |
Vector of color names for border color, default null. |
polygon.col |
Color name for fill of polygon. |
min.value |
Numeric, minimum value in data column of polygon data. |
max.value |
Numeric, maximum value in data column of polygon data. |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track. |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
genomic.columns |
Non-negative integer, total number of columns for genomic position in each row. Must be either 3 or 2. |
is.sorted |
Logic, whether the data is sorted by chromosome names and start positions. |
Henry Zhang
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); data(RCircos.Polygon.Data); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=5) RCircos.Set.Plot.Area(); RCircos.Chromosome.Ideogram.Plot() RCircos.Polygon.Plot(RCircos.Polygon.Data, track.num=1, side="in") ## End(Not run)
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); data(RCircos.Polygon.Data); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=5) RCircos.Set.Plot.Area(); RCircos.Chromosome.Ideogram.Plot() RCircos.Polygon.Plot(RCircos.Polygon.Data, track.num=1, side="in") ## End(Not run)
Generate a pseudo ideogram from a character list for RCircos plot Each chromosome will have same length and no stain colors.
RCircos.Pseudo.Ideogram.From.Labels(chromosomes=NULL)
RCircos.Pseudo.Ideogram.From.Labels(chromosomes=NULL)
chromosomes |
A vector of labels (such as gene names) used for chromosome names and each element must be unique. |
A data frame as an ideogram data table.
Henry Zhang
## Not run: library(RCircos) geneNames <- paste0("Gene_", 1:20) cyto.info <- RCircos.Pseudo.Ideogram.From.Labels(geneNames) ## End(Not run)
## Not run: library(RCircos) geneNames <- paste0("Gene_", 1:20) cyto.info <- RCircos.Pseudo.Ideogram.From.Labels(geneNames) ## End(Not run)
Generate a pseudo ideogram from plot data for Circos plot. Plot data must have at least two columns serving as chromosome names and band names. An optional gene length or locations can also be provided, e.g.,
Groups LocusName LocusPosition Group1 1 1.5 Group1 3 2.0 Group1 4 3.0
RCircos.Pseudo.Ideogram.From.Table(plot.data=NULL, location.col=NULL, band.col=NULL)
RCircos.Pseudo.Ideogram.From.Table(plot.data=NULL, location.col=NULL, band.col=NULL)
plot.data |
A data frame with two or three columns, the first column is for chromosome names. |
location.col |
Non negative integer, column number in plot.data from which end positions will be derived for each chromosome or each band. This argument must be defined and could be either length of the locus or relative locus position. |
band.col |
Non negative integer, column number in plot.data which serves as band names, this argument is optional. |
A data frame with ideogram data.
Henry Zhang
## Not run: library(RCircos) data(RCircos.Gene.Label.Data); plot.data <- RCircos.Gene.Label.Data; cyto.info <- RCircos.Get.Pseudo.Ideogram(plot.data=plot.data, location.col=2, band.col=3) ## End(Not run)
## Not run: library(RCircos) data(RCircos.Gene.Label.Data); plot.data <- RCircos.Gene.Label.Data; cyto.info <- RCircos.Get.Pseudo.Ideogram(plot.data=plot.data, location.col=2, band.col=3) ## End(Not run)
A data frame containing rat genes, genomic position and expression values of these genes.
data(RCircos.Rat.Expr.Data)
data(RCircos.Rat.Expr.Data)
A data frame with 11426 observations on the following 5 variables.
Chromosome
a factor with levels chr1
chr10
chr11
chr12
chr13
chr14
chr15
chr16
chr17
chr18
chr19
chr2
chr20
chr3
chr4
chr5
chr6
chr7
chr8
chr9
chrX
txStart
a numeric vector
txEnd
a numeric vector
Gene
a character vector
Expr.Mean
a numeric vector
Modified from GEO dataset: GSE42081.
Reset RCircos core components: plot ideogram, plot position, and plot parameters.
RCircos.Reset.Plot.Ideogram(chrom.ideo) RCircos.Reset.Plot.Positions(plot.positions) RCircos.Reset.Plot.Parameters(new.params)
RCircos.Reset.Plot.Ideogram(chrom.ideo) RCircos.Reset.Plot.Positions(plot.positions) RCircos.Reset.Plot.Parameters(new.params)
chrom.ideo |
Data frame, object of RCircos cytoband data returned from RCircos.Get.Plot.Ideogram(). |
plot.positions |
Data frame, object of RCircos plot positions returned from RCircos.Get.Plot.Positions(). |
new.params |
List, object of RCircos plot positions returned from RCircos.Get.Plot.Parameters() |
Henry Zhang
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=5) ideo <- RCircos.Get.Plot.Ideogram() rows <- which(ideo$BandColor=="red" ideo$BandColor[rows] <- "green" RCircos.Reset.Plot.Ideogram(ideo) params <- RCircos.Get.Plot.Parameters() params$base.per.unit <- 6000 RCircos.Reset.Plot.Paramters(params) positions <- RCircos.Get.Plot.Positions(); positions[1, 3] <- 0; RCircos.Reset.Plot.Positions(positions); ## End(Not run)
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=5) ideo <- RCircos.Get.Plot.Ideogram() rows <- which(ideo$BandColor=="red" ideo$BandColor[rows] <- "green" RCircos.Reset.Plot.Ideogram(ideo) params <- RCircos.Get.Plot.Parameters() params$base.per.unit <- 6000 RCircos.Reset.Plot.Paramters(params) positions <- RCircos.Get.Plot.Positions(); positions[1, 3] <- 0; RCircos.Reset.Plot.Positions(positions); ## End(Not run)
A data frame containing paired genomic position data for each row. The contents of each row are in the order of name, start and end positions of chromosome A then name, start and end positions of chromosome B. This data frame is directly used to draw ribbons without extra processing.
data(RCircos.Ribbon.Data)
data(RCircos.Ribbon.Data)
A data frame with 4 observations on the following 6 variables.
chromA
a factor with levels chr1
chr5
chr8
chromStartA
a numeric vector
chromEndA
a numeric vector
chromB
a factor with levels chr10
chr13
chr17
chr18
chromStartB
a numeric vector
chromEndB
a numeric vector
Unpublished data.
Draw various ribbons instead of lines with uniform thickness. The thickness of ribbons are relative to the size of the genomic regions to be linked.
RCircos.Ribbon.Plot(ribbon.data=NULL, track.num=NULL, by.chromosome=FALSE, twist=FALSE, start.pos=NULL, genomic.columns=3, is.sorted=TRUE)
RCircos.Ribbon.Plot(ribbon.data=NULL, track.num=NULL, by.chromosome=FALSE, twist=FALSE, start.pos=NULL, genomic.columns=3, is.sorted=TRUE)
ribbon.data |
A data frame with paired genomic positions in each row. The first three columns of each row are for chromosome name, start and end positions of one genomic position followed by three columns for chromosome name, start and end positions of the second genomic position. |
track.num |
Non negative-integer, representing the ordinal number of the plot track where the ribbons will start. |
by.chromosome |
Logic, If true, red color will be used for ribbons between positions of same chromosomes and blue color for ribbons between different chromosomes. Otherwise, different colors will be automatically assigned for each ribbon. |
twist |
Logic, TRUE for the ribbons with twisted shape and FALSE for no twist. |
start.pos |
Non-negative numeric, scale factor relative to chromosome ideogram position. Must be smaller than 1. |
genomic.columns |
Non-negative integer, total number of columns for genomic position in each row. Must be either 3 or 2. |
is.sorted |
Logic, whether the data is sorted by chromosome names and start positions. |
Henry Zhang
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram); data(RCircos.Link.Data); data(RCircos.Ribbon.Data); cyto.info <- UCSC.HG19.Human.CytoBandIdeogram chr.exclude <- c("chrX", "chrY") RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() RCircos.Link.Plot(RCircos.Link.Data, track.num=4, twist=TRUE) RCircos.Ribbon.Plot(RCircos.Ribbon.Data, track.num=4, twist=TRUE, by.chromosome=FALSE) ## End(Not run)
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram); data(RCircos.Link.Data); data(RCircos.Ribbon.Data); cyto.info <- UCSC.HG19.Human.CytoBandIdeogram chr.exclude <- c("chrX", "chrY") RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() RCircos.Link.Plot(RCircos.Link.Data, track.num=4, twist=TRUE) RCircos.Ribbon.Plot(RCircos.Ribbon.Data, track.num=4, twist=TRUE, by.chromosome=FALSE) ## End(Not run)
A data frame with the first three columns as chromosome name, start and end position followed by columns of DNA copy number variant data (num.mark and seg.mean).
data(RCircos.Scatter.Data)
data(RCircos.Scatter.Data)
A data frame with 1757 observations on the following 5 variables.
chromosome
a factor with levels 1
10
11
12
13
14
15
16
17
18
19
2
20
21
22
3
4
5
6
7
8
9
X
Y
start
a numeric vector
stop
a numeric vector
num.mark
a numeric vector
seg.mean
a numeric vector
Draw one track of scatter plot. RCircos core components and graphics device must be initialized before drawing.
RCircos.Scatter.Plot(scatter.data=NULL, data.col=4, track.num=NULL, side=c("in", "out"), by.fold=0, min.value=NULL, max.value=NULL, inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=TRUE)
RCircos.Scatter.Plot(scatter.data=NULL, data.col=4, track.num=NULL, side=c("in", "out"), by.fold=0, min.value=NULL, max.value=NULL, inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=TRUE)
scatter.data |
A data frame with leading columns of chromosome names, start position and/or end position of each data point followed by data values for one or more samples |
data.col |
Non-negative integer, representing the ordinal number of the column in input dataset that contains the data to be plotted. |
track.num |
Non-negative integer, representing the ordinal number of the plot track where the lines will be plotted. |
side |
Character vector, either "in" or "out", representing the position related to chromosome ideogram. |
by.fold |
Zero or a positive float number, if it is greater than zero, any data point with a value greater than or equal to the by.fold will be plot as red color and data points with values less or equal to the negative by.fold will be plot as blue colr. Otherwise, black color is used. |
min.value |
Numeric, minimum value of scatter plot data. |
max.value |
Numeric, maximum value of scatter plot data |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track . |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
genomic.columns |
Non-negative integer, total number of columns for genomic position in each row. Must be either 3 or 2. |
is.sorted |
Logic, whether the data is sorted by chromosome names and start positions. |
Henry Zhang
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() data(RCircos.Scatter.Data) RCircos.Scatter.Plot(RCircos.Scatter.Data, data.col=5, track.num=4, side="in", by.fold=1) ## End(Not run)
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() data(RCircos.Scatter.Data) RCircos.Scatter.Plot(RCircos.Scatter.Data, data.col=5, track.num=4, side="in", by.fold=1) ## End(Not run)
Calculate x and y coordinates for a circular line that served as base plot positions to derive positions for all other plot items. Total number of coordinates are based on total chromosome units and padding. Degrees that text should be rotated at each point are also calculated. This function is for internal use.
RCircos.Set.Base.Plot.Positions(total.points=NULL)
RCircos.Set.Base.Plot.Positions(total.points=NULL)
total.points |
Non-negative integer, total number of points to form a circular line. |
Henry Zhang
Setup core components for RCircos Plot including plot parameters, cytoband data, and base plot positions. This function must be called before chromosome ideogram and any other data plot.
RCircos.Set.Core.Components(cyto.info, chr.exclude = NULL, tracks.inside, tracks.outside)
RCircos.Set.Core.Components(cyto.info, chr.exclude = NULL, tracks.inside, tracks.outside)
cyto.info |
A data frame with chromosome ideogram data and columns are ordered by chromosome names, start position, end position, band names, and stain intensity for each chromosome band. |
chr.exclude |
Character vector of chromosome names to be excluded from plot, e.g., chr.exclude <- c("chrX", "chrY"); |
tracks.inside |
Non-negative integer, total number of data tracks inside of chromosome ideogram to be plotted. |
tracks.outside |
Non-negative integer, total number of data tracks outside of chromosome ideogram to be plotted. |
Hongen Zhang
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=0) ## End(Not run)
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=0) ## End(Not run)
Set chromosome cytoband data (one of three RCircos core components) for Circos plot. The cytoband data will be put into RCircos Environment. This function is for internal use and users may not directly call this function and use get and reset methods instead when need to modify ideogram data.
RCircos.Set.Cytoband.Data(cyto.band.info=NULL)
RCircos.Set.Cytoband.Data(cyto.band.info=NULL)
cyto.band.info |
A data frame containing the chromosome ideogram data returned from RCircos.Validate.Cyto.Info() or a sorted ideogram table with correct chromosome names,start and end positions, band names, and staing status. |
Henry Zhang
Open an new window for plotting. RCircos core components must be initialized before call this function. All four margins are set to 0.25 and window size are set to plot.radius in RCircos parameters. This function is optional and could be replaced by call par(), plot.new(), and plot.window() if users want control the plot window by themselves.
RCircos.Set.Plot.Area(margins = 0.25, ...)
RCircos.Set.Plot.Area(margins = 0.25, ...)
margins |
Non-negative numeric, value for margins around plot area. |
... |
Other arguments passed... |
Henry Zhang
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=5) RCircos.Set.Plot.Area() ## End(Not run)
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=5) RCircos.Set.Plot.Area() ## End(Not run)
Set plot position for zooming-in plot by selecting index of default plot positions. The zoomed plot will be aligned with the original plot position such as gene position or a cytoband. The zoom area was defined as fraction of circle circumference, default is 1/8.
RCircos.Set.Zoom.Plot.Positions(zoom.info=NULL, total.genes=11, area.length=0.25, fixed.width=FALSE, gene.width=NULL)
RCircos.Set.Zoom.Plot.Positions(zoom.info=NULL, total.genes=11, area.length=0.25, fixed.width=FALSE, gene.width=NULL)
zoom.info |
A vector with chromosome name, start and end position to be zoomed. |
total.genes |
Non-negative integer from 1 ~ maximum number of genes to be plotted. The maximum number of genes is calculated based on track height and will be adjusted inside the function. |
area.length |
Non-negative numeric, for better layout, it must be smaller than or equal to 1/4 (quarter of the circumstance). |
fixed.width |
Logic, if the plot witdth for each data point is fixed or not. |
gene.width |
Non-negative integer, number of units for gene width. |
Numeric vector for index of RCircos.Base.Position
Henry Zhang
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=0) zoom.info <- c("chr1", 10000, 50000) zoom.pos <- RCircos.Set.Zoom.Plot.Positions(zoom.info) ## End(Not run)
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=0) zoom.info <- c("chr1", 10000, 50000) zoom.pos <- RCircos.Set.Zoom.Plot.Positions(zoom.info) ## End(Not run)
Sort genomics/ideogram data. The order of chromosome names should be numeric names (integers or Roman numbers) first then character names. If chromosome names are all characters alphabets order will be used. This function could be used before making RCircos plot.
RCircos.Sort.Genomic.Data(genomic.data=NULL, is.ideo=FALSE)
RCircos.Sort.Genomic.Data(genomic.data=NULL, is.ideo=FALSE)
genomic.data |
A data frame with the first two or three columns for chromosome names, start and end positions. If it is ideogram data, next two columns must be band names, and Giemsa stain status. |
is.ideo |
Logic, weither the genomic data is ideogram or not. |
Data frame same as input data but ordered by chromosome names then start positions
Henry
## Not run: library(RCircos) data(UCSC.Mouse.GRCm38.CytoBandIdeogram) cyto <- UCSC.Mouse.GRCm38.CytoBandIdeogram ideogram <- RCircos.Sort.Genomic.Data( genomic.data=UCSC.Mouse.GRCm38.CytoBandIdeogram, is.ideo=TURE) data(RCircos.Line.Data) lineData <- RCircos.Sort.Genomic.Data( genomic.data=RCircos.Line.Data, is.ideo=FALSE) ## End(Not run)
## Not run: library(RCircos) data(UCSC.Mouse.GRCm38.CytoBandIdeogram) cyto <- UCSC.Mouse.GRCm38.CytoBandIdeogram ideogram <- RCircos.Sort.Genomic.Data( genomic.data=UCSC.Mouse.GRCm38.CytoBandIdeogram, is.ideo=TURE) data(RCircos.Line.Data) lineData <- RCircos.Sort.Genomic.Data( genomic.data=RCircos.Line.Data, is.ideo=FALSE) ## End(Not run)
A data frame contining genomic position data only (chromosome, start and end positions).
data(RCircos.Tile.Data)
data(RCircos.Tile.Data)
A data frame with 152 observations on the following 3 variables.
Chromosome
a factor with levels chr1
chr10
chr11
chr12
chr13
chr14
chr15
chr16
chr17
chr18
chr19
chr2
chr20
chr21
chr22
chr3
chr4
chr5
chr6
chr7
chr8
chr9
chrX
chrY
chromStart
a numeric vector
chromEnd
a numeric vector
Unpublished Data.
Draw one track of Tiles. RCircos core components and graphics device must be initialized before drawing.
RCircos.Tile.Plot(tile.data=NULL, track.num=NULL, side= c("in", "out"), inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=TRUE)
RCircos.Tile.Plot(tile.data=NULL, track.num=NULL, side= c("in", "out"), inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=TRUE)
tile.data |
A data frame with the three columns as chromosome names, start position and end position of each data point. Other column(s) is optional. |
track.num |
Non-negative integer, representing the ordinal number of the plot track where the lines will be plotted. |
side |
Character vector, either "in" or "out", representing the position related to chromosome ideogram. |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track . |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
genomic.columns |
Non-negative interger. Must be 3 for tile plot. |
is.sorted |
Logic, whether the data is sorted by chromosome names and start positions. |
Henry Zhang
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() data(RCircos.Tile.Data); RCircos.Tile.Plot(tile.data=RCircos.Tile.Data, track.num=4, side="in") ## End(Not run)
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=0) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() data(RCircos.Tile.Data); RCircos.Tile.Plot(tile.data=RCircos.Tile.Data, track.num=4, side="in") ## End(Not run)
Draw outline with subtracks for one data track. RCircos core components and graphic device must be initialized first. This function is mainly for internal use.
RCircos.Track.Outline(inside.pos=NULL, outside.pos=NULL, num.layers=1, chrom.list=NULL, track.colors=NULL)
RCircos.Track.Outline(inside.pos=NULL, outside.pos=NULL, num.layers=1, chrom.list=NULL, track.colors=NULL)
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track. |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
num.layers |
Non-negative integer, number of sub-tracks lines. 0 for no sub-track line. |
chrom.list |
List of chromosome names for which outline will be drawn. |
track.colors |
Vector of color names for outline of each chromosome. |
Henry Zhang
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=5) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() locations <- RCircos.Track.Positions(side="in", track.num=1); out.pos <- locations[1]; in.pos <- locations[2]; subtracks <- 5; RCircos.Track.Outline(inside.pos=locations[2], outside.pos=locations[1], num.layers=5, chrom.list=NULL, track.colors=NULL) ## End(Not run)
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=5) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() locations <- RCircos.Track.Positions(side="in", track.num=1); out.pos <- locations[1]; in.pos <- locations[2]; subtracks <- 5; RCircos.Track.Outline(inside.pos=locations[2], outside.pos=locations[1], num.layers=5, chrom.list=NULL, track.colors=NULL) ## End(Not run)
Validate chromosome ideogram information for correct chromosome order including of correct order of chromosome names, chromosome start, and end positions. The prefix of "chr" in chromosome names is no longer required version 1.2.
RCircos.Validate.Cyto.Info(cyto.info=NULL, chr.exclude=NULL, is.sorted=TRUE)
RCircos.Validate.Cyto.Info(cyto.info=NULL, chr.exclude=NULL, is.sorted=TRUE)
cyto.info |
A data frame with chromosome ideogram data, e.g., an object returned by function of read.table() which read a file containing full information of cytoBandIdeo table from UCSC genome browser. |
chr.exclude |
Character vector, name(s) of chromosomes to be excluded from RCircos plot. |
is.sorted |
Logic, whether the cyto.info has been sorted. |
A data frame with validated chromosome ideogram table.
Henry Zhang
## Not run: library(RCircos) data(UCSC.HG38.Human.CytoBandIdeogram) cyto.info <- RCircos.Validate.Cyto.Info( cyto.info=UCSC.HG38.Human.CytoBandIdeogram, chr.exclude=NULL, is.sorted=FALSE) ## End(Not run)
## Not run: library(RCircos) data(UCSC.HG38.Human.CytoBandIdeogram) cyto.info <- RCircos.Validate.Cyto.Info( cyto.info=UCSC.HG38.Human.CytoBandIdeogram, chr.exclude=NULL, is.sorted=FALSE) ## End(Not run)
Validate input dataset for correct chromosome names, chromosome start, and chromosome end positions. Chromosome names will be converted to character vectors if they are factor variables.
RCircos.Validate.Genomic.Data(genomic.data=NULL, plot.type=c("plot", "link"), genomic.columns=3)
RCircos.Validate.Genomic.Data(genomic.data=NULL, plot.type=c("plot", "link"), genomic.columns=3)
genomic.data |
Data frame with genomic position data. |
plot.type |
Character vector, either "plot" or "link". |
genomic.columns |
Non-negative integer, total number of columns for genomic position (chromosome name, start and/or end position). |
None. Function will exit with an error prompt.
Henry Zhang
## Not run: library(RCircos) data(RCircos.Heatmap.Data) RCircos.Validate.Genomic.Data(RCircos.Heatmap.Data, plot.type="plot", genomic.columns=3) data(RCircos.Link.Data) RCircos.Validate.Genomic.Data(RCircos.Link.Data, plot.type="link", genomic.columns=3) ## End(Not run)
## Not run: library(RCircos) data(RCircos.Heatmap.Data) RCircos.Validate.Genomic.Data(RCircos.Heatmap.Data, plot.type="plot", genomic.columns=3) data(RCircos.Link.Data) RCircos.Validate.Genomic.Data(RCircos.Link.Data, plot.type="link", genomic.columns=3) ## End(Not run)
Check out if the chromosome name, start and end positions in the range of ideogram data.
RCircos.Validate.Genomic.Info(genomic.info=NULL)
RCircos.Validate.Genomic.Info(genomic.info=NULL)
genomic.info |
A vector with a chromosome name, start and end position on the chromosome |
Henry Zhang
## Not run: library(RCircos) data(UCSC.HG38.Human.CytoBandIdeogram) RCircos.Set.Core.Components(UCSC.HG38.Human.CytoBandIdeogram, chr.exclude=NULL, tracks.inside=10, tracks.outside=0 ) RCircos.Validate.Genomic.Info(c("chr1", 10000, 500000)) ## End(Not run)
## Not run: library(RCircos) data(UCSC.HG38.Human.CytoBandIdeogram) RCircos.Set.Core.Components(UCSC.HG38.Human.CytoBandIdeogram, chr.exclude=NULL, tracks.inside=10, tracks.outside=0 ) RCircos.Validate.Genomic.Info(c("chr1", 10000, 500000)) ## End(Not run)
Validate values of plot parameters before reset them in RCircos Environment. This function is mainly for internal use.
RCircos.Validate.Plot.Parameters(parameters=NULL)
RCircos.Validate.Plot.Parameters(parameters=NULL)
parameters |
A list returned from RCircos.Get.Plot.Parameters(). |
Henry Zhang
Validate if user defined plot locations (inside.pos and outside.pos) are inside of plot area and do not overlap with chromosome ideogram. RCircos core components must be initialized first. This function is mainly for internal use.
RCircos.Validate.Track.Positions(inside.pos=0, outside.pos=0, erase.area=FALSE)
RCircos.Validate.Track.Positions(inside.pos=0, outside.pos=0, erase.area=FALSE)
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track. |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
erase.area |
Logic, if the track is going to be erased. |
A numeric vector with length of 2 for the real plot position of a customized track.
Henry Zhang
Plot vertical lines on a data track for each genomic position without track outlines and sub-track lines. RCircos core components and graphic devices must be initialized first.
RCircos.Vertical.Line.Plot(line.data=NULL, track.num=NULL, side=c("in", "out"), line.width=1, inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=TRUE)
RCircos.Vertical.Line.Plot(line.data=NULL, track.num=NULL, side=c("in", "out"), line.width=1, inside.pos=NULL, outside.pos=NULL, genomic.columns=3, is.sorted=TRUE)
line.data |
A data frame with leading columns as chromosome names, start position and/or end position of each data point followed by data values for one or more samples. |
track.num |
Non-negative integer, representing the ordinal number of the plot track where the lines will be plotted. |
side |
Character vector, either "in" or "out", representing the position related to chromosome ideogram. |
line.width |
Non-negative integer, width of vertical lines |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track . |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
genomic.columns |
Non-negative integer, total number of columns for genomic position in each row. Must be either 3 or 2. |
is.sorted |
Logic, whether the data is sorted by chromosome names and start positions. |
Henry Zhang
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); data(RCircos.Line.Data); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=5) RCircos.Set.Plot.Area(); RCircos.Chromosome.Ideogram.Plot() RCircos.Vertical.Line.Plot(RCircos.Line.Data, track.num=1, side="in") RCircos.Vertical.Line.Plot(RCircos.Line.Data, side="in", inside.pos=1.5, outside.pos=1.75) ## End(Not run)
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram); data(RCircos.Line.Data); RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=5) RCircos.Set.Plot.Area(); RCircos.Chromosome.Ideogram.Plot() RCircos.Vertical.Line.Plot(RCircos.Line.Data, track.num=1, side="in") RCircos.Vertical.Line.Plot(RCircos.Line.Data, side="in", inside.pos=1.5, outside.pos=1.75) ## End(Not run)
Print out on screen to list procedures for a basic RCircos plot.
RCircos.Workflow()
RCircos.Workflow()
Henry Zhang
## Not run: library(RCircos) RCircos.Workflow() ## End(Not run)
## Not run: library(RCircos) RCircos.Workflow() ## End(Not run)
Draw outline and subtrack lines for zoomed-in area of a track in outside of chromosome ideogram. RCircos core components must be initialized first. This function is mainly for internal use.
RCircos.Zoom.Area.Outline(zoom.pos=NULL, inside.pos=NULL, outside.pos=NULL, num.layers=5, fill.col="white")
RCircos.Zoom.Area.Outline(zoom.pos=NULL, inside.pos=NULL, outside.pos=NULL, num.layers=5, fill.col="white")
zoom.pos |
Non-negative numeric vector, the index of RCircos plot position. |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track. |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
num.layers |
Non-negative integer, number of sub-tracks in a data track. |
fill.col |
Character vector for color name to fill the polygon. |
Henry Zhang
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram) RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=5) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() data(RCircos.Heatmap.Data) zoom.data <- RCircos.Get.Zoom.Data(RCircos.Heatmap.Data, name.col=4, genomic.columns=3, target.gene="SP5", neighbor.genes=5) zoom.range <- RCircos.Get.Zoom.Range(zoom.data, 3) zoom.pos <- RCircos.Set.Zoom.Plot.Positions(zoom.range, total.genes=11, area.length=0.25, gene.width=NULL) RCircos.Zoom.Area.Outline(zoom.pos=NULL, inside.pos=2.5, outside.pos=3, num.layers=5, fill.col="white") ## End(Not run)
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram) RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=5) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() data(RCircos.Heatmap.Data) zoom.data <- RCircos.Get.Zoom.Data(RCircos.Heatmap.Data, name.col=4, genomic.columns=3, target.gene="SP5", neighbor.genes=5) zoom.range <- RCircos.Get.Zoom.Range(zoom.data, 3) zoom.pos <- RCircos.Set.Zoom.Plot.Positions(zoom.range, total.genes=11, area.length=0.25, gene.width=NULL) RCircos.Zoom.Area.Outline(zoom.pos=NULL, inside.pos=2.5, outside.pos=3, num.layers=5, fill.col="white") ## End(Not run)
Scale up the index of Circos plot positions of a small range for zoom-in plot with data that require two positions to plot e.g., tiles and parallele lines. This function is mainly for internal use.
RCircos.Zoom.Paired.Plot.Positions(zoom.data=NULL, zoom.pos=NULL)
RCircos.Zoom.Paired.Plot.Positions(zoom.data=NULL, zoom.pos=NULL)
zoom.data |
Data frame, data to be plotted onto zoom area. |
zoom.pos |
Non-negative integer, index of RCircos base plot positions. |
A two columns integer matrix representing the index of RCircos plot positions.
Henry Zhang
Scale up the index of Circos plot positions of a small range for zoom-in plot with data that require only one position to plot e.g., scatter plot. This function is mainly for internal use.
RCircos.Zoom.Single.Plot.Positions(zoom.data=NULL, zoom.pos=NULL)
RCircos.Zoom.Single.Plot.Positions(zoom.data=NULL, zoom.pos=NULL)
zoom.data |
Data frame, data to be plotted onto zoom area. |
zoom.pos |
Non-negative integer, index of RCircos base plot positions. |
An integer representing the index of RCircos plot positions.
Henry Zhang
Increase plot length for one or partial chromosome in order to plot more data points. This works on original chromosome ideogram data and should be done before set RCircos core components. Also, this function only work with one region each time. If there are more than one regions to be zoomed in, repeat this function for each region.
RCircos.ZoomIn.Chromosome(ideogram=NULL, chromosome=NULL, from=NULL, to=NULL, zoom.in=NULL)
RCircos.ZoomIn.Chromosome(ideogram=NULL, chromosome=NULL, from=NULL, to=NULL, zoom.in=NULL)
ideogram |
Data frame, chromosome ideogram data with chromosome names, start position, end position, band name and stains for each band or each chromosome. |
chromosome |
Character vector, name of chromosome to be zoomed in. |
from |
Non-negative integer, genomic coordinates of start position of chromosome region to be zoomed in. |
to |
Non-negative integer, genomic coordinates of end position of chromosome region to be zoomed in. |
zoom.in |
Non-negative number, fold to zoom in. |
Data frame, ideogram with new zoomed in region.
Henry Zhang
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) zoomedIdeo <- RCircos.ZoomIn.Chromosome( ideogram=UCSC.HG19.Human.CytoBandIdeogram, chromosome="chr17", from=10000, to=20000, zoom.in=1000) ## End(Not run)
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) zoomedIdeo <- RCircos.ZoomIn.Chromosome( ideogram=UCSC.HG19.Human.CytoBandIdeogram, chromosome="chr17", from=10000, to=20000, zoom.in=1000) ## End(Not run)
Zoom-in a small area on outide of chromosome ideogram to show the details for: heatmap, histogram, gene connector, gene labels, continue lines, vertical lines, parallel lines, scatters(points), areas, and tiles.
RCircos.Plot.Zoomed.Area(zoom.data=NULL, plot.type="mountain", data.col=NULL, track.num=NULL, zoom.pos=NULL, min.value=NULL, max.value=NULL, area.color="gray", border.col="black", inside.pos=NULL, outside.pos=NULL, outline=TRUE) RCircos.Plot.Zoomed.Gene.Connectors(zoom.data=NULL, track.num=NULL, zoom.pos=NULL, line.width=1, inside.pos=NULL, outside.pos=NULL) RCircos.Plot.Zoomed.Heatmap(zoom.data=NULL, data.col=NULL, track.num=NULL, zoom.pos=NULL, min.value=NULL, max.value=NULL, inside.pos=NULL, outside.pos=NULL) RCircos.Plot.Zoomed.Histogram(zoom.data=NULL, data.col=NULL, track.num=NULL, zoom.pos=NULL, min.value=NULL, max.value=NULL, inside.pos=NULL, outside.pos=NULL, outline=TRUE) RCircos.Plot.Zoomed.Ideogram.Ticks(zoom.info=NULL, track.num=NULL, zoom.pos=NULL, tick.interval=5, inside.pos=NULL, outside.pos=NULL) RCircos.Plot.Zoomed.Continue.Lines(zoom.data=NULL, data.col=NULL, track.num=NULL, zoom.pos=NULL, line.width=1, min.value=NULL, max.value=NULL, inside.pos=NULL, outside.pos=NULL, outline=TRUE) RCircos.Plot.Zoomed.Parallel.Lines(zoom.data=NULL, track.num=NULL, zoom.pos=NULL, genomic.cols=3, line.width=NULL,inside.pos=NULL, outside.pos=NULL, outline=FALSE) RCircos.Plot.Zoomed.Vertical.Lines(zoom.data=NULL, track.num=NULL, zoom.pos=NULL, line.width=1, inside.pos=NULL, outside.pos=NULL, outline=FALSE) RCircos.Plot.Zoomed.Scatters(zoom.data=NULL, data.col=NULL, track.num=NULL, zoom.pos=NULL, min.value=NULL, max.value=NULL, point.type=16, by.fold=0, with.size=TRUE, with.height=FALSE, point.scale=1, inside.pos=NULL, outside.pos=NULL, outline=TRUE) RCircos.Plot.Zoomed.Tiles(zoom.data=NULL, track.num=NULL, zoom.pos=NULL, genomic.cols=3, layers=5, border.col=NULL, inside.pos=NULL, outside.pos=NULL, outline=TRUE) RCircos.Plot.Zoomed.Polygons(zoom.data=NULL, data.col=4, track.num=NULL, zoom.pos=NULL, genomic.cols=3, min.value=NULL, max.value=NULL, border.col=NULL, inside.pos=NULL, outside.pos=NULL, outline=TRUE) RCircos.Label.Zoom.Region(zoom.data=NULL, name.col=NULL, track.num=NULL, zoom.pos=NULL, text.size=0.75, inside.pos=NULL, outside.pos=NULL) RCircos.Mark.Zoom.Area(zoom.range=NULL, track.num=1, zoom.pos=NULL, fill.color="yellow", inside.pos=NULL, outside.pos=NULL)
RCircos.Plot.Zoomed.Area(zoom.data=NULL, plot.type="mountain", data.col=NULL, track.num=NULL, zoom.pos=NULL, min.value=NULL, max.value=NULL, area.color="gray", border.col="black", inside.pos=NULL, outside.pos=NULL, outline=TRUE) RCircos.Plot.Zoomed.Gene.Connectors(zoom.data=NULL, track.num=NULL, zoom.pos=NULL, line.width=1, inside.pos=NULL, outside.pos=NULL) RCircos.Plot.Zoomed.Heatmap(zoom.data=NULL, data.col=NULL, track.num=NULL, zoom.pos=NULL, min.value=NULL, max.value=NULL, inside.pos=NULL, outside.pos=NULL) RCircos.Plot.Zoomed.Histogram(zoom.data=NULL, data.col=NULL, track.num=NULL, zoom.pos=NULL, min.value=NULL, max.value=NULL, inside.pos=NULL, outside.pos=NULL, outline=TRUE) RCircos.Plot.Zoomed.Ideogram.Ticks(zoom.info=NULL, track.num=NULL, zoom.pos=NULL, tick.interval=5, inside.pos=NULL, outside.pos=NULL) RCircos.Plot.Zoomed.Continue.Lines(zoom.data=NULL, data.col=NULL, track.num=NULL, zoom.pos=NULL, line.width=1, min.value=NULL, max.value=NULL, inside.pos=NULL, outside.pos=NULL, outline=TRUE) RCircos.Plot.Zoomed.Parallel.Lines(zoom.data=NULL, track.num=NULL, zoom.pos=NULL, genomic.cols=3, line.width=NULL,inside.pos=NULL, outside.pos=NULL, outline=FALSE) RCircos.Plot.Zoomed.Vertical.Lines(zoom.data=NULL, track.num=NULL, zoom.pos=NULL, line.width=1, inside.pos=NULL, outside.pos=NULL, outline=FALSE) RCircos.Plot.Zoomed.Scatters(zoom.data=NULL, data.col=NULL, track.num=NULL, zoom.pos=NULL, min.value=NULL, max.value=NULL, point.type=16, by.fold=0, with.size=TRUE, with.height=FALSE, point.scale=1, inside.pos=NULL, outside.pos=NULL, outline=TRUE) RCircos.Plot.Zoomed.Tiles(zoom.data=NULL, track.num=NULL, zoom.pos=NULL, genomic.cols=3, layers=5, border.col=NULL, inside.pos=NULL, outside.pos=NULL, outline=TRUE) RCircos.Plot.Zoomed.Polygons(zoom.data=NULL, data.col=4, track.num=NULL, zoom.pos=NULL, genomic.cols=3, min.value=NULL, max.value=NULL, border.col=NULL, inside.pos=NULL, outside.pos=NULL, outline=TRUE) RCircos.Label.Zoom.Region(zoom.data=NULL, name.col=NULL, track.num=NULL, zoom.pos=NULL, text.size=0.75, inside.pos=NULL, outside.pos=NULL) RCircos.Mark.Zoom.Area(zoom.range=NULL, track.num=1, zoom.pos=NULL, fill.color="yellow", inside.pos=NULL, outside.pos=NULL)
zoom.data |
A data frame containing genomic positions, gene names, and plot values for zoom-in genes/rows. |
zoom.range |
Character vecter, chromosome name, start and end positions of a genomic interval to be zoomed in. |
data.col |
Non-negative integer/vector, which column(s) is plot data values. |
track.num |
Non-negative integer, which track will be plotted. |
zoom.pos |
Non-negative numeric vector, the index of RCircos plot position. |
min.value |
Numeric, minimum value for heatmap scale. |
max.value |
Numeric, maximum value for heatmap scale. |
inside.pos |
Non-negative numeric, inside position (relative to the centre of plot area) of the track. |
outside.pos |
Non-negative numeric, outside position (relative to the centre of plot area) of the track. |
name.col |
Non-negative integer, which column is for labels. |
genomic.cols |
Non-negative integer, total number of columns for genomic position information (chromosome, start and/or end position). |
fill.color |
Character vector for name of a color to fill the polygon. |
border.col |
Character vector for name of a color to draw the polygon border. |
area.color |
Character vector for name of a color to fill the area. |
text.size |
Non-negative numeric, character size for text plot. |
line.width |
Non-negative numeric, width of lines. |
point.type |
Non-negative integer, type of character for point plot (Default 19). |
plot.type |
Character vector, either "mountain", "curtain", or "ban", types of area plot. |
by.fold |
Zero or a positive float number, if it is greater than zero, any data point with a value greater than or equal to the by.fold will be plot as red color and data points with values less or equal to the negative by.fold will be plot as blue colr. Otherwise, black color is used. |
with.size |
Logic. If TRUE, the point size will match to the data value in scatter/point plot. |
with.height |
Logic. If TURE, point location will match to the data value in scatter/point plot. |
point.scale |
Non-negative numeric, more scale to add for scatter/point size in scatter/point plot. |
outline |
Logic. If TURE, outline will be drawn for zoomed area. |
zoom.info |
Character vector contains chromosome name, start and end position. |
tick.interval |
Non-negative integer, length of genomic interval in million base pairs. |
layers |
Non-negative integer, number of subtrack in the data track. |
RCircos.Plot.Zoomed.Area() paints partial area inside the zoomed region (an irregular polygon ship). Plot types include "mountain", "curtain" (reversed mountain), and "band".
RCircos.Plot.Zoomed.Gene.Connectors() plot zoomed-in connectors for small number of genes(default 11).
RCircos.Plot.Zoomed.Heatmap() plot zoomed-in heatmap for small number of genes (default 11).
RCircos.Plot.Zoomed.Histogram() plot zoomed-in histogram for small number of genes (default 11).
RCircos.Plot.Zoomed.Ideogram.Ticks() plot chromosome ticks for a small genomic intervals.
RCircos.Plot.Zoomed.Continue.Lines() plot zoomed-in continue lines between neighbors of small number genes (default 11).
RCircos.Plot.Zoomed.Parallel.Lines() plot zoomed-in parallel lines for small number of genomic intevals (default 11).
RCircos.Plot.Zoomed.Vertical.Lines() plot zoomed-in vertical lines from bottom to top of a track for small number of genomic intevals (default 11).
RCircos.Plot.Zoomed.Scatters() plot zoomed-in scatters for small number of genes(default 11).
RCircos.Plot.Zoomed.Tiles() plot zoomed-in tiles for small number of genes(default 11).
RCircos.Plot.Zoomed.Polygons() plot zoomed-in polygons in a samll genomic region.
RCircos.Label.Zoom.Region() plot gene names for small number of genes(default 11).
RCircos.Mark.Zoom.Area() highligh the area between zoomed-in plot area and chromosome ideogram to mark the original genomic interval.
Henry Zhang
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram) cyto <- UCSC.HG19.Human.CytoBandIdeogram RCircos.Set.Core.Components(cyto, NULL, 10, 5) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() data(RCircos.Heatmap.Data) min.value <- min(as.matrix(RCircos.Heatmap.Data[,5:10])) max.value <- max(as.matrix(RCircos.Heatmap.Data[,5:10])) zoom.data <- RCircos.Get.Zoom.Data(RCircos.Heatmap.Data, name.col=4, genomic.columns=3, target.gene="SP5", neighbor.genes=5) zoom.range <- RCircos.Get.Zoom.Range(zoom.data, 3) zoom.pos <- RCircos.Set.Zoom.Plot.Positions(zoom.range, total.genes=11, area.length=0.25, gene.width=NULL) RCircos.Plot.Zoomed.Heatmap(zoom.data, data.col=5, track.num=2, zoom.pos=zoom.pos, min.value=min.value, max.value=max.value, inside.pos=NULL, outside.pos=NULL) RCircos.Mark.Zoom.Area(zoom.pos, zoom.data, color="red", track.num=2, inside.pos=NULL, outside.pos=NULL) RCircos.Label.Zoom.Region(zoom.data, name.col=4, track.num=3, zoom.pos=zoom.pos, text.size=0.75, inside.pos=NULL, outside.pos=NULL) ## End(Not run)
## Not run: library(RCircos); data(UCSC.HG19.Human.CytoBandIdeogram) cyto <- UCSC.HG19.Human.CytoBandIdeogram RCircos.Set.Core.Components(cyto, NULL, 10, 5) RCircos.Set.Plot.Area() RCircos.Chromosome.Ideogram.Plot() data(RCircos.Heatmap.Data) min.value <- min(as.matrix(RCircos.Heatmap.Data[,5:10])) max.value <- max(as.matrix(RCircos.Heatmap.Data[,5:10])) zoom.data <- RCircos.Get.Zoom.Data(RCircos.Heatmap.Data, name.col=4, genomic.columns=3, target.gene="SP5", neighbor.genes=5) zoom.range <- RCircos.Get.Zoom.Range(zoom.data, 3) zoom.pos <- RCircos.Set.Zoom.Plot.Positions(zoom.range, total.genes=11, area.length=0.25, gene.width=NULL) RCircos.Plot.Zoomed.Heatmap(zoom.data, data.col=5, track.num=2, zoom.pos=zoom.pos, min.value=min.value, max.value=max.value, inside.pos=NULL, outside.pos=NULL) RCircos.Mark.Zoom.Area(zoom.pos, zoom.data, color="red", track.num=2, inside.pos=NULL, outside.pos=NULL) RCircos.Label.Zoom.Region(zoom.data, name.col=4, track.num=3, zoom.pos=zoom.pos, text.size=0.75, inside.pos=NULL, outside.pos=NULL) ## End(Not run)
Zoom out chromosome ideogram to leave a small room between the first and the last chromosome (at 12 O'clock) so that track names could be added. This function works on the RCircos chromosome ideogram component so the core components must be set first.
RCircos.ZoomOut.Chromosome(zoom.out.ratio=NULL)
RCircos.ZoomOut.Chromosome(zoom.out.ratio=NULL)
zoom.out.ratio |
A float number between 0 and 1, the ratio of target chromosome ideogram to be zoomed out. |
None. New ideogram object is set to RCircos environment.
Henry Zhang
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=0) RCircos.ZoomOut.Chromosome(zoom.out.ratio=0.95) ## End(Not run)
## Not run: library(RCircos) data(UCSC.HG19.Human.CytoBandIdeogram) RCircos.Set.Core.Components( cyto.info=UCSC.HG19.Human.CytoBandIdeogram, chr.exclude=c("chrX", "chrY"), tracks.inside=10, tracks.outside=0) RCircos.ZoomOut.Chromosome(zoom.out.ratio=0.95) ## End(Not run)
A data frame containing chromosome name, start and end position, band name, and intensity of Giemsa stains for each cytoband.
data(UCSC.Baylor.3.4.Rat.cytoBandIdeogram)
data(UCSC.Baylor.3.4.Rat.cytoBandIdeogram)
A data frame with 246 observations on the following 5 variables.
Chromosome
a factor with levels chr1
chr10
chr11
chr12
chr13
chr14
chr15
chr16
chr17
chr18
chr19
chr2
chr20
chr3
chr4
chr5
chr6
chr7
chr8
chr9
chrX
ChromStart
a numeric vector
ChromEnd
a numeric vector
Band
a factor with levels p11
p12
p13
p14
p15
p16
p21
p22
q11
q12
q12.1
q12.2
q12.3
q12.4
q12.5
q13
q14
q15
q16
q21
q22
q23
q24
q25
q26
q27
q31
q32
q32.1
q32.2
q32.3
q33
q34
q35
q36
q37
q38
q41
q42
q43
q44
q45
q51
q52
q53
q54
q55
Stain
a factor with levels gneg
gpos
gvar
http://genome.ucsc.edu
A data frame containing chromosome name, start and end position, band name, and intensity of Giemsa stains for each cytoband.
data(UCSC.HG19.Human.CytoBandIdeogram)
data(UCSC.HG19.Human.CytoBandIdeogram)
A data frame with 862 observations on the following 5 variables.
Chromosome
a factor with levels chr1
chr10
chr11
chr12
chr13
chr14
chr15
chr16
chr17
chr18
chr19
chr2
chr20
chr21
chr22
chr3
chr4
chr5
chr6
chr7
chr8
chr9
chrX
chrY
ChromStart
a numeric vector
ChromEnd
a numeric vector
Band
a factor with levels p11
p11.1
p11.11
p11.12
p11.2
p11.21
p11.22
p11.23
p11.3
p11.31
p11.32
p11.4
p12
p12.1
p12.2
p12.3
p12.31
p12.32
p12.33
p13
p13.1
p13.11
p13.12
p13.13
p13.2
p13.3
p13.31
p13.32
p13.33
p14
p14.1
p14.2
p14.3
p15
p15.1
p15.2
p15.3
p15.31
p15.32
p15.33
p15.4
p15.5
p16.1
p16.2
p16.3
p21
p21.1
p21.2
p21.3
p21.31
p21.32
p21.33
p22
p22.1
p22.11
p22.12
p22.13
p22.2
p22.3
p22.31
p22.32
p22.33
p23
p23.1
p23.2
p23.3
p24.1
p24.2
p24.3
p25.1
p25.2
p25.3
p26.1
p26.2
p26.3
p31.1
p31.2
p31.3
p32.1
p32.2
p32.3
p33
p34.1
p34.2
p34.3
p35.1
p35.2
p35.3
p36.11
p36.12
p36.13
p36.21
p36.22
p36.23
p36.31
p36.32
p36.33
q11
q11.1
q11.2
q11.21
q11.22
q11.221
q11.222
q11.223
q11.23
q12
q12.1
q12.11
q12.12
q12.13
q12.2
q12.3
q13
q13.1
q13.11
q13.12
q13.13
q13.2
q13.3
q13.31
q13.32
q13.33
q13.4
q13.41
q13.42
q13.43
q13.5
q14
q14.1
q14.11
q14.12
q14.13
q14.2
q14.3
q15
q15.1
q15.2
q15.3
q16.1
q16.2
q16.3
q21
q21.1
q21.11
q21.12
q21.13
q21.2
q21.21
q21.22
q21.23
q21.3
q21.31
q21.32
q21.33
q22
q22.1
q22.11
q22.12
q22.13
q22.2
q22.3
q22.31
q22.32
q22.33
q23
q23.1
q23.2
q23.3
q23.31
q23.32
q23.33
q24
q24.1
q24.11
q24.12
q24.13
q24.2
q24.21
q24.22
q24.23
q24.3
q24.31
q24.32
q24.33
q25
q25.1
q25.2
q25.3
q25.31
q25.32
q25.33
q26
q26.1
q26.11
q26.12
q26.13
q26.2
q26.3
q26.31
q26.32
q26.33
q27
q27.1
q27.2
q27.3
q28
q28.1
q28.2
q28.3
q29
q31.1
q31.2
q31.21
q31.22
q31.23
q31.3
q31.31
q31.32
q31.33
q32
q32.1
q32.11
q32.12
q32.13
q32.2
q32.3
q32.31
q32.32
q32.33
q33
q33.1
q33.2
q33.3
q34
q34.1
q34.11
q34.12
q34.13
q34.2
q34.3
q35
q35.1
q35.2
q35.3
q36.1
q36.2
q36.3
q37.1
q37.2
q37.3
q41
q42.11
q42.12
q42.13
q42.2
q42.3
q43
q44
Stain
a factor with levels acen
gneg
gpos100
gpos25
gpos50
gpos75
gvar
stalk
http://genome.ucsc.edu
Human chromosome ideogram v38 in the data frame format.
data("UCSC.HG38.Human.CytoBandIdeogram")
data("UCSC.HG38.Human.CytoBandIdeogram")
A data frame with 862 observations on the following 5 variables.
Chromosome
a factor with levels chr1
chr10
chr11
chr12
chr13
chr14
chr15
chr16
chr17
chr18
chr19
chr2
chr20
chr21
chr22
chr3
chr4
chr5
chr6
chr7
chr8
chr9
chrX
chrY
chromStart
a numeric vector
chromEnd
a numeric vector
Name
a factor with levels p11
p11.1
p11.11
p11.12
p11.2
p11.21
p11.22
p11.23
p11.3
p11.31
p11.32
p11.4
p12
p12.1
p12.2
p12.3
p12.31
p12.32
p12.33
p13
p13.1
p13.11
p13.12
p13.13
p13.2
p13.3
p13.31
p13.32
p13.33
p14
p14.1
p14.2
p14.3
p15
p15.1
p15.2
p15.3
p15.31
p15.32
p15.33
p15.4
p15.5
p16.1
p16.2
p16.3
p21
p21.1
p21.2
p21.3
p21.31
p21.32
p21.33
p22
p22.1
p22.11
p22.12
p22.13
p22.2
p22.3
p22.31
p22.32
p22.33
p23
p23.1
p23.2
p23.3
p24.1
p24.2
p24.3
p25.1
p25.2
p25.3
p26.1
p26.2
p26.3
p31.1
p31.2
p31.3
p32.1
p32.2
p32.3
p33
p34.1
p34.2
p34.3
p35.1
p35.2
p35.3
p36.11
p36.12
p36.13
p36.21
p36.22
p36.23
p36.31
p36.32
p36.33
q11
q11.1
q11.2
q11.21
q11.22
q11.221
q11.222
q11.223
q11.23
q12
q12.1
q12.11
q12.12
q12.13
q12.2
q12.3
q13
q13.1
q13.11
q13.12
q13.13
q13.2
q13.3
q13.31
q13.32
q13.33
q13.4
q13.41
q13.42
q13.43
q13.5
q14
q14.1
q14.11
q14.12
q14.13
q14.2
q14.3
q15
q15.1
q15.2
q15.3
q16.1
q16.2
q16.3
q21
q21.1
q21.11
q21.12
q21.13
q21.2
q21.21
q21.22
q21.23
q21.3
q21.31
q21.32
q21.33
q22
q22.1
q22.11
q22.12
q22.13
q22.2
q22.3
q22.31
q22.32
q22.33
q23
q23.1
q23.2
q23.3
q23.31
q23.32
q23.33
q24
q24.1
q24.11
q24.12
q24.13
q24.2
q24.21
q24.22
q24.23
q24.3
q24.31
q24.32
q24.33
q25
q25.1
q25.2
q25.3
q25.31
q25.32
q25.33
q26
q26.1
q26.11
q26.12
q26.13
q26.2
q26.3
q26.31
q26.32
q26.33
q27
q27.1
q27.2
q27.3
q28
q28.1
q28.2
q28.3
q29
q31.1
q31.2
q31.21
q31.22
q31.23
q31.3
q31.31
q31.32
q31.33
q32
q32.1
q32.11
q32.12
q32.13
q32.2
q32.3
q32.31
q32.32
q32.33
q33
q33.1
q33.2
q33.3
q34
q34.1
q34.11
q34.12
q34.13
q34.2
q34.3
q35
q35.1
q35.2
q35.3
q36.1
q36.2
q36.3
q37.1
q37.2
q37.3
q41
q42.11
q42.12
q42.13
q42.2
q42.3
q43
q44
Stain
a factor with levels acen
gneg
gpos100
gpos25
gpos50
gpos75
gvar
stalk
http://genome.ucsc.edu
A data frame containing chromosome name, start and end position, band name, and intensity of Giemsa stains for each cytoband.
data(UCSC.Mouse.GRCm38.CytoBandIdeogram)
data(UCSC.Mouse.GRCm38.CytoBandIdeogram)
A data frame with 403 observations on the following 5 variables.
Chromosome
a factor with levels chr1
chr10
chr11
chr12
chr13
chr14
chr15
chr16
chr17
chr18
chr19
chr2
chr3
chr4
chr5
chr6
chr7
chr8
chr9
chrX
chrY
ChromStart
a numeric vector
ChromEnd
a numeric vector
Band
a factor with levels qA
qA1
qA1.1
qA1.2
qA1.3
qA2
qA3
qA3.1
qA3.2
qA3.3
qA4
qA5
qA5.1
qA5.2
qA5.3
qA6
qA7.1
qA7.2
qA7.3
qB
qB1
qB1.1
qB1.2
qB1.3
qB2
qB2.1
qB2.2
qB2.3
qB3
qB3.1
qB3.2
qB3.3
qB4
qB5
qB5.1
qB5.2
qB5.3
qC
qC1
qC1.1
qC1.2
qC1.3
qC2
qC3
qC3.1
qC3.2
qC3.3
qC4
qC5
qC6
qC7
qD
qD1
qD2
qD2.1
qD2.2
qD2.3
qD3
qE
qE1
qE1.1
qE1.2
qE1.3
qE2
qE2.1
qE2.2
qE2.3
qE3
qE3.1
qE3.2
qE3.3
qE4
qE5
qF
qF1
qF2
qF2.1
qF2.2
qF2.3
qF3
qF4
qF5
qG1
qG1.1
qG1.2
qG1.3
qG2
qG3
qH1
qH2
qH2.1
qH2.2
qH2.3
qH3
qH4
qH5
qH6
Stain
a factor with levels gneg
gpos100
gpos33
gpos66
gpos75
http://genome.ucsc.edu