Package 'RCircos'

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

Help Index


Circos-like Plot of Genomic Data

Description

This is the R implement of basic Circos plots of genimic data.

Details

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.

Author(s)

Henry H Zhang

Maintainer: Henry H Zhang <[email protected]>

References

Hongen Zhang, Paul Meltzer, and Sean Davis. RCircos: an R package for Circos 2D track plots. BMC Bioinformatics, 2013, 14:244.


Adjust Scatter Plot Data to Fit the Data Track

Description

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.

Usage

RCircos.Adjust.Scatter.Values(scatter.values=NULL, min.value=NULL,  
    max.value=NULL, track.height=NULL, subtrack=NULL)

Arguments

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.

Author(s)

Henry Zhang


Highlight PLot Area Cross One or More Tracks

Description

Highlight a plot area with transparent color cross one or more tracks. RCircos core components and graphic device must be initialized first.

Usage

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)

Arguments

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.

Author(s)

Henry Zhang

Examples

## 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 Areas on One Data Track

Description

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.

Usage

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)

Arguments

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.

Author(s)

Henry Zhang

Examples

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

Plot Chromosome Ideogram

Description

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.

Usage

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)

Arguments

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.

Details

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.

Author(s)

Henry Zhang

Examples

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

Description

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.

Usage

RCircos.Clear.Track(track.num=NULL, side=NULL, to.center=FALSE, 
    inside.pos=NULL, outside.pos=NULL)

Arguments

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.

Author(s)

Henry Zhang

Examples

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

Description

Erase zoom-in plot area. RCircos core components and graphic device must be already initialized.

Usage

RCircos.Clear.Zoom.Area(zoom.pos=NULL, track.num=NULL,  
        inside.pos=NULL, outside.pos=NULL)

Arguments

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.

Author(s)

Henry Zhang

Examples

## 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 Connectors between Chromosome Ideogram and Gene Names

Description

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.

Usage

RCircos.Customized.Connection.Plot(gene.data, label.data, 
			gene.pos=NULL, label.pos=NULL)

Arguments

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.

Author(s)

Henry Zhang


Plot A Customized Shape

Description

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")

Usage

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)

Arguments

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.

Author(s)

Henry Zhang

Examples

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

Convert A Genomic Position to An Index of Circos Plot Position

Description

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.

Usage

RCircos.Data.Point(chromosome=NULL, start.posotion=NULL)

Arguments

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.

Value

An integer representing the index of RCircos plot positions.

Author(s)

Henry Zhang


The Default Base Pair Number of A Circos Unit

Description

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.

Format

The format is: num 30000


Default Character With in Circos Unit

Description

Default Circos units of a character on RCircos plot. This is the character size for best resolution and is a read only parameter.

Format

The format is: num 500


The Default Value of GAP in Circos (Chromosome) Unit between two Chromosome Ideogram

Description

The default total unit of a gap bewtween the ends of two neighbor chromosome ideograms. This is a read only parameter.

Format

The format is: num 300


Default Circos Units for RCircos

Description

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.

Format

The format is: num 103190


Default Character Size of RCircos Plot

Description

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.

Format

The format is: num 0.4


RCircos Environment

Description

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.

Format

The format is: <environment: 0xd67930>


Draw Connectors between Chromosome Ideogram and Gene Names

Description

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.

Usage

RCircos.Gene.Connector.Plot(genomic.data=NULL, track.num=NULL, 
        side="in", inside.pos=NULL, outside.pos=NULL, 
        genomic.columns=3, is.sorted=FALSE)

Arguments

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.

Author(s)

Henry Zhang

Examples

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

Sample Data for Gene Labels

Description

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.

Usage

data(RCircos.Gene.Label.Data)

Format

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

Source

Unpublished data.


Draw Gene Names on a Data Track

Description

Label gene names along chromosome ideogram or a data track. RCircos core components and graphic device must be initialized before drawing.

Usage

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)

Arguments

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.

Author(s)

Henry Zhang

Examples

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

Description

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.

Usage

RCircos.Get.Arrow.Shape(side="in")

Arguments

side

Character vector, either "in" or "out".

Value

A two dimensional numeric matrix for x and y coordinates of a polygon.

Author(s)

Henry Zhang

Examples

library(RCircos)
arrow <- RCircos.Get.Arrow.Shape("in")
arrow <- RCircos.Get.Arrow.Shape("out")

Find the order of Chromosome Names

Description

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.

Usage

RCircos.Get.Chromosome.Order(chromosomes=NULL)

Arguments

chromosomes

Character vector, names of chromosomes.

Value

Character vector, ordered chromosome name list.

Author(s)

Henry Zhang

Examples

library(RCircos)
chromosomes <- paste0("chr", c(1:10, 21,22, 11:20, "X", "Y"))  
chromosomes <- RCircos.Get.Chromosome.Order(chromosomes)

Methods to Retrieve RCircos Core Components Used in Current RCircos Session

Description

Retrieve base plot positions, plot ideogram, and plot parameters used in current RCircos session. RCircos core components must be initialized first.

Usage

RCircos.Get.Plot.Parameters()
RCircos.Get.Plot.Positions()
RCircos.Get.Plot.Ideogram()

Value

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.

Author(s)

Henry Zhang


Calculate the Height of Data in A Track

Description

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.

Usage

RCircos.Get.Data.Point.Height(plot.values=NULL, min.value=NULL, 
    max.value=NULL, plot.type=NULL, track.height=NULL)

Arguments

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.

Value

Numeric vector with values between 0 ~ 1

Author(s)

Henry Zhang

Examples

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)

Retrieve Parameter Values Stored in RCircos Environment

Description

These methods are used to view the defaul parameters stored in RCircos Environments.

Usage

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()

Value

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.

Author(s)

Henry Zhang


Calculate Plot Positions for Gene Labels

Description

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.

Usage

RCircos.Get.Gene.Label.Locations(genomic.data=NULL, 
	genomic.columns=3, is.sorted = TRUE)

Arguments

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.

Value

All or subset of input data frame with a new column for plot positions.

Author(s)

Henry Zhang


Calculate Parameters for Gene Name Plot

Description

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.

Usage

RCircos.Get.Gene.Name.Plot.Parameters()

Value

A data frame with names, maximum number of labels could be plotted, start position, end position, and label width for each chromosome.

Author(s)

Henry Zhang


Generate Color Scales for Heatmap Plot

Description

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

Usage

RCircos.Get.Heatmap.Color.Scale(heatmap.color=NULL)

Arguments

heatmap.color

Character vector, one of "BlueWhiteRed", "GreenWhiteRed", "GreenYellowRed", "GreenBlackRed", "YellowToRed", and "BlackOnly".

Value

A vector or two column matrix of rgb colors.

Author(s)

Henry Zhang

Examples

library(RCircos)
colorScales <- RCircos.Get.Heatmap.Color.Scale(heatmap.color="BlueWhiteRed")

Calculate X and Y Coordinates for Color Scale

Description

Calculate X and Y coordinates for the topleft corner of heatmap color scale.

Usage

RCircos.Get.Heatmap.Color.Scale.Location(scale.location = 1)

Arguments

scale.location

Integer of 1 ~ 12, represents the plot location (default is 1):
1: "bottom"
2: "left"
3: "top"
4.: "right"
5: "bottomleft"
6: "bottomright"
7: "leftright"
8: "leftbottom"
9: "topleft"
10: "topright"
11: "righttop"
12: "rightbottom"

Value

Numeric verctor of length 2 for x and y coordinates

Author(s)

Henry Zhang

Examples

library(RCircos)
location <- RCircos.Get.Heatmap.Color.Scale.Location(1)

Set Colors for One Track of Heatmap

Description

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.

Usage

RCircos.Get.Heatmap.Data.Colors(heatmap.value=NULL, min.value=NULL, max.value=NULL)

Arguments

heatmap.value

A numeric vector.

min.value

Numeric, the minimu value for heatmap scale.

max.value

Numeric,the maximum value for heatmap scale.

Value

Character vector of R color names with length same as the length of data values.

Author(s)

Henry Zhang

Examples

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

Set up Colors for Link Lines or Ribbons

Description

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.

Usage

RCircos.Get.Link.Colors(link.data, genomic.columns=3, by.chromosome=TRUE)

Arguments

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.

Value

A vector of color names with length same as the rows of input data.

Author(s)

Henry Zhang


Calcualte Plot Positions for A Genomic Interval

Description

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.

Usage

RCircos.Get.Paired.Points.Positions(genomic.data=NULL, genomic.columns=3,  
    plot.type=c("link", "ribbon", "pLink", "polygon", "tile"))

Arguments

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

Value

A data frame same as input but with two new columns for index of plot positions on circular line.

Author(s)

Henry Zhang

Examples

## 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 Boundary of A Data Track

Description

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.

Usage

RCircos.Get.Plot.Boundary(track.num=NULL, side=NULL, 
	inside.pos=NULL, outside.pos=NULL, erase.area=FALSE)

Arguments

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.

Value

Numeric vector of length 2, x and y coordinates of a data track.

Author(s)

Henry Zhang


Assign Plot Colors for Non-Link Data Plot

Description

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.

Usage

RCircos.Get.Plot.Colors(plot.data, color)

Arguments

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.

Value

A vector of color names with length same as the rows of input data.

Author(s)

Hongen Zhang


Get the Layer Numbers for Tile Plot

Description

Check out overlaps between different genomic positions on same chromosome and set up layer numbers for each line of the genomic data.

Usage

RCircos.Get.Plot.Layers(genomic.data=NULL, genomic.columns=NULL)

Arguments

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.

Value

A non-negative integer vector with length same as the total rows of input data.

Author(s)

Henry Zhang

Examples

library(RCircos)
data(RCircos.Tile.Data)
layers <- RCircos.Get.Plot.Layers(RCircos.Tile.Data, 3)

Calculate the Height of Polygons in A Data Track

Description

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.

Usage

RCircos.Get.Polygon.Height(data.heights, min.value=NULL,  
    max.value=NULL, inside.pos=NULL, outside.pos=NULL)

Arguments

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.

Value

Non-negative umeric matrix of column 2 representing the bottom and top positions of polygons.

Author(s)

Henry Zhang


Calculate Plot Positions for Genomic Data

Description

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.

Usage

RCircos.Get.Single.Point.Positions(genomic.data=NULL, genomic.columns=3)

Arguments

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

Value

A data frame same as input but with a new column for index of plot positions on a circular line.

Author(s)

Henry Zhang

Examples

## Not run: 
library(RCircos)
data(RCircos.Heatmap.Data)
dat <- RCircos.Get.Single.Point.Positions(RCircos.Heatmap.Data)

## End(Not run)

Calculate Start and End Positions for Plot Data

Description

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.

Usage

RCircos.Get.Start.End.Locations(plot.data, plot.width)

Arguments

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

Author(s)

Henry Zhang


Calculate Plot Positions for A Data Track

Description

Calculate inner and outer plot positions for a data track. RCircos core components must be initialized first. This function is mainly for internal use.

Usage

RCircos.Get.Track.Positions(side=NULL, track.num=NULL)

Arguments

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

Value

Numeric vector of length 2. The outer and inner positions of a track.

Author(s)

Hongen Zhang


Retriev Subset of Plot Data for Zoom

Description

Retrieve subset of plot data based on gene name or row header.

Usage

RCircos.Get.Zoom.Data(plot.data=NULL, name.col= NULL,
 	genomic.columns=3, target.gene=NULL, neighbor.genes=5)

Arguments

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.

Value

Data frame, subset of input data.

Author(s)

Henry Zhang

Examples

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

Retrieve Genomic Interval from Genomic Data for Zoom Plot

Description

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().

Usage

RCircos.Get.Zoom.Range(zoom.data=NULL, genomic.columns=3)

Arguments

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.

Value

A list with chromosome names, start end end positions.

Author(s)

Henry Zhang

Examples

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

Sample Data for RCircos Heatmap Plot

Description

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.

Usage

data(RCircos.Heatmap.Data)

Format

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

Source

Modified from NCBI GEO dataset: GSE32474.


Draw Heatmap for One Data Track

Description

Draw one track of heatmap. RCircos core components and graphic device must be initialized before drawing.

Usage

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)

Arguments

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.

Author(s)

Henry Zhang

Examples

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

Heatmap Colors Supported by Current Version of RCircos

Description

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().

Format

The format is: chr [1:6] "BlueWhiteRed" "GreenWhiteRed" "GreenYellowRed" "GreenBlackRed" "YellowToRed" "BlackOnly"


Sample Data for RCircos Histogram Plot

Description

A dataset with the first three columns as chromosome names, start position, and end position followed by a column of histogram data.

Usage

data(RCircos.Histogram.Data)

Format

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

Source

Unpulished data.


Plot Histogram for One Data Track

Description

Draw one track of histogram. RCircos core components and graphic device must be initialized before drawing.

Usage

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)

Arguments

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.

Author(s)

Henry Zhang

Examples

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

Initialize RCircos Plot Parameters

Description

Setup default values for RCircos plot parameters. All parameters are held in one list. This function is for internal use only.

Usage

RCircos.Initialize.Plot.Parameters(tracks.inside, tracks.outside)

Arguments

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.

Author(s)

Henry Zhang


Sample Data for RCircos Line Plot

Description

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

Usage

data(RCircos.Line.Data)

Format

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

Source

Unpublished data.


Draw Lines for One Data Track

Description

Draw one track of continue lines which connect each neighbor data points. RCircos core components and graphics device must bae initialized before drawing.

Usage

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)

Arguments

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.

Author(s)

Henry Zhang

Examples

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

Sample Data for RCircos Link Plot

Description

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.

Usage

data(RCircos.Link.Data)

Format

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

Source

Unpublished data.


Calculate x and y Coordinates for a Bezire Curve

Description

Calculate a quandratic Bezire curve between two points with (0,0) as control points. This function is for internal use.

Usage

RCircos.Link.Line(line.start=NULL, line.end=NULL)

Arguments

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.

Author(s)

Hongen Zhang


Draw Link Lines between Two or More Genomic Positions

Description

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.

Usage

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)))

Arguments

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.

Author(s)

Henry Zhang

Examples

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

List RCircos Plot Parameters

Description

Print out onto screen all plot parameters used by current RCircos session. RCircos core components must be already initialized.

Usage

RCircos.List.Plot.Parameters()

Author(s)

Henry Zhang

Examples

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

Sample Data of Mouse Gene Expression

Description

A data frame containing mouse genomic position information and gene expresio n values.

Usage

data(RCircos.Mouse.Expr.Data)

Format

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

Source

Modified from GEO dataset: GSE42081.


Setup RCircos Core Components with Multiple Species Genomes

Description

Setup RCircos core components with chromosome ideograms of multiple species for visulization of similarity and difference of genomic data between different species.

Usage

RCircos.Multiple.Species.Core.Components(cyto.info.list, species.list, 
    chr.exclude= NULL, tracks.inside, tracks.outside)

Arguments

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.

Author(s)

Hongen Zhang

Examples

## 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 Multiple Data Sets form Different Genomes

Description

Combine and modify the chromosome names in multiple species datasets to match the chromosomes in multiple species cytoband data.

Usage

RCircos.Multiple.Species.Dataset(data.list, species)

Arguments

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.

Value

A data frame same as the input data list but with modified chromosome names.

Author(s)

Henry Zhang

Examples

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

Padding Distance Constant between Two Chromosomes

Description

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.

Format

The format is: num 0.00291


Draw Lines between Two Genomic Positions on Same Chromosome

Description

Plot link lines inside a data track between two genomic positions on same chromosome. RCircos core components and graphic device must be initialized first.

Usage

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)

Arguments

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.

Author(s)

Henry Zhang

Examples

## 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 for Heatmap

Description

Plot a color scale showing the color ranges of heatmap. One or more tracks should be defined for plots in outside of chromosome ideogram.

Usage

RCircos.Plot.Heatmap.Color.Scale(max.value=NULL, min.value=NULL,
        color.type="BlueWhiteRed", scale.location=1, 
        scale.width=0, scale.height=0)

Arguments

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

Author(s)

Henry Zhang

Examples

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

Plot Types Supported by Current RCircos Version

Description

All supported plot types saved in RCircos Environment. The values are read only throug RCircos.Get.Supported.Plot.Types().

Format

The format is: char[1:15] "link", "ribbon", "pLink", "polygon", "tile", "ideogram", "heatmap", "bar", "histogram", "cLine","vLine", "points", "connector", "ticks", "text"


Point Plot for One Data Track

Description

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.

Usage

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)

Arguments

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.

Author(s)

Henry Zhang

Examples

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

RCircos Polygon Demo Data

Description

A data frame with four columns for chromosome names, start and end position for each genomic interval, and values for polygon heights.

Usage

data("RCircos.Polygon.Data")

Format

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


Draw Polygons on One Data Track

Description

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.

Usage

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)

Arguments

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.

Author(s)

Henry Zhang

Examples

## 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 Chromosome Ideogram from List of Lables

Description

Generate a pseudo ideogram from a character list for RCircos plot Each chromosome will have same length and no stain colors.

Usage

RCircos.Pseudo.Ideogram.From.Labels(chromosomes=NULL)

Arguments

chromosomes

A vector of labels (such as gene names) used for chromosome names and each element must be unique.

Value

A data frame as an ideogram data table.

Author(s)

Henry Zhang

Examples

## Not run: 
library(RCircos)
geneNames <- paste0("Gene_", 1:20)
cyto.info <- RCircos.Pseudo.Ideogram.From.Labels(geneNames)

## End(Not run)

Generate Pseudo Chromosome Ideogram from Plot Data Table

Description

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

Usage

RCircos.Pseudo.Ideogram.From.Table(plot.data=NULL, location.col=NULL, band.col=NULL)

Arguments

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.

Value

A data frame with ideogram data.

Author(s)

Henry Zhang

Examples

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

Sample Data of Rat Gene Expression

Description

A data frame containing rat genes, genomic position and expression values of these genes.

Usage

data(RCircos.Rat.Expr.Data)

Format

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

Source

Modified from GEO dataset: GSE42081.


Reset Methods for Modifying RCircos Core Components

Description

Reset RCircos core components: plot ideogram, plot position, and plot parameters.

Usage

RCircos.Reset.Plot.Ideogram(chrom.ideo)
RCircos.Reset.Plot.Positions(plot.positions)
RCircos.Reset.Plot.Parameters(new.params)

Arguments

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()

Author(s)

Henry Zhang

Examples

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

Sample Data for RCircos Ribbon Plot

Description

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.

Usage

data(RCircos.Ribbon.Data)

Format

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

Source

Unpublished data.


Draw Ribbon between Two Genomic Regions

Description

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.

Usage

RCircos.Ribbon.Plot(ribbon.data=NULL, track.num=NULL, 
    by.chromosome=FALSE, twist=FALSE, start.pos=NULL, 
    genomic.columns=3, is.sorted=TRUE)

Arguments

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.

Author(s)

Henry Zhang

Examples

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

Sample Data for RCircos Scatter Plot

Description

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

Usage

data(RCircos.Scatter.Data)

Format

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


Scater Plot for One Data Track

Description

Draw one track of scatter plot. RCircos core components and graphics device must be initialized before drawing.

Usage

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)

Arguments

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.

Author(s)

Henry Zhang

Examples

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

Setup Base Plot Positions

Description

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.

Usage

RCircos.Set.Base.Plot.Positions(total.points=NULL)

Arguments

total.points

Non-negative integer, total number of points to form a circular line.

Author(s)

Henry Zhang


Initialize Core Components for RCircos Plot

Description

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.

Usage

RCircos.Set.Core.Components(cyto.info, chr.exclude = NULL, tracks.inside, tracks.outside)

Arguments

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.

Author(s)

Hongen Zhang

Examples

## 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 for Circos Plot

Description

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.

Usage

RCircos.Set.Cytoband.Data(cyto.band.info=NULL)

Arguments

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.

Author(s)

Henry Zhang


Setup Plot Area for RCircos Plot

Description

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.

Usage

RCircos.Set.Plot.Area(margins = 0.25, ...)

Arguments

margins

Non-negative numeric, value for margins around plot area.

...

Other arguments passed...

Author(s)

Henry Zhang

Examples

## 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 Position for Zoom-in Plot

Description

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.

Usage

RCircos.Set.Zoom.Plot.Positions(zoom.info=NULL, total.genes=11,
    area.length=0.25, fixed.width=FALSE, gene.width=NULL)

Arguments

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.

Value

Numeric vector for index of RCircos.Base.Position

Author(s)

Henry Zhang

Examples

## 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 Genomic or Ideogram Data

Description

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.

Usage

RCircos.Sort.Genomic.Data(genomic.data=NULL, is.ideo=FALSE)

Arguments

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.

Value

Data frame same as input data but ordered by chromosome names then start positions

Author(s)

Henry

Examples

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

Sample Data for RCircos Tile Plot

Description

A data frame contining genomic position data only (chromosome, start and end positions).

Usage

data(RCircos.Tile.Data)

Format

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

Source

Unpublished Data.


Plot Tiles for One Data Track

Description

Draw one track of Tiles. RCircos core components and graphics device must be initialized before drawing.

Usage

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)

Arguments

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.

Author(s)

Henry Zhang

Examples

## 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 for A Data Track

Description

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.

Usage

RCircos.Track.Outline(inside.pos=NULL, outside.pos=NULL,
    num.layers=1, chrom.list=NULL, track.colors=NULL)

Arguments

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.

Author(s)

Henry Zhang

Examples

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

Description

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.

Usage

RCircos.Validate.Cyto.Info(cyto.info=NULL, chr.exclude=NULL, is.sorted=TRUE)

Arguments

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.

Value

A data frame with validated chromosome ideogram table.

Author(s)

Henry Zhang

Examples

## 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 Genomic Data

Description

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.

Usage

RCircos.Validate.Genomic.Data(genomic.data=NULL, 
    plot.type=c("plot", "link"), genomic.columns=3)

Arguments

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

Value

None. Function will exit with an error prompt.

Author(s)

Henry Zhang

Examples

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

Validate Genomic Information

Description

Check out if the chromosome name, start and end positions in the range of ideogram data.

Usage

RCircos.Validate.Genomic.Info(genomic.info=NULL)

Arguments

genomic.info

A vector with a chromosome name, start and end position on the chromosome

Author(s)

Henry Zhang

Examples

## 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 Plot Parameters

Description

Validate values of plot parameters before reset them in RCircos Environment. This function is mainly for internal use.

Usage

RCircos.Validate.Plot.Parameters(parameters=NULL)

Arguments

parameters

A list returned from RCircos.Get.Plot.Parameters().

Author(s)

Henry Zhang


Validate Track Positions

Description

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.

Usage

RCircos.Validate.Track.Positions(inside.pos=0, outside.pos=0, 
	erase.area=FALSE)

Arguments

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.

Value

A numeric vector with length of 2 for the real plot position of a customized track.

Author(s)

Henry Zhang


Draw Vertical Lines on One Data Track

Description

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.

Usage

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)

Arguments

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.

Author(s)

Henry Zhang

Examples

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

A Simple RCircos Plot Workflow

Description

Print out on screen to list procedures for a basic RCircos plot.

Usage

RCircos.Workflow()

Author(s)

Henry Zhang

Examples

## Not run: 
library(RCircos)
RCircos.Workflow()

## End(Not run)

Draw Outline for Zoom Plot Area

Description

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.

Usage

RCircos.Zoom.Area.Outline(zoom.pos=NULL, inside.pos=NULL,  
    outside.pos=NULL, num.layers=5, fill.col="white")

Arguments

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.

Author(s)

Henry Zhang

Examples

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

Calculate Zoomed Index of Circos Plot Positions for Genomic Intervals

Description

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.

Usage

RCircos.Zoom.Paired.Plot.Positions(zoom.data=NULL, zoom.pos=NULL)

Arguments

zoom.data

Data frame, data to be plotted onto zoom area.

zoom.pos

Non-negative integer, index of RCircos base plot positions.

Value

A two columns integer matrix representing the index of RCircos plot positions.

Author(s)

Henry Zhang


Calculate Zoomed Index of Circos Plot Positions for Single Point Genomic Data

Description

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.

Usage

RCircos.Zoom.Single.Plot.Positions(zoom.data=NULL, zoom.pos=NULL)

Arguments

zoom.data

Data frame, data to be plotted onto zoom area.

zoom.pos

Non-negative integer, index of RCircos base plot positions.

Value

An integer representing the index of RCircos plot positions.

Author(s)

Henry Zhang


Zoom in One or Partial Chromosome Ideogram

Description

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.

Usage

RCircos.ZoomIn.Chromosome(ideogram=NULL, chromosome=NULL, from=NULL, 
    to=NULL, zoom.in=NULL)

Arguments

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.

Value

Data frame, ideogram with new zoomed in region.

Author(s)

Henry Zhang

Examples

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

Zoomed-in Plot of Small Genomic Region

Description

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.

Usage

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)

Arguments

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.

Details

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.

Author(s)

Henry Zhang

Examples

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

Description

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.

Usage

RCircos.ZoomOut.Chromosome(zoom.out.ratio=NULL)

Arguments

zoom.out.ratio

A float number between 0 and 1, the ratio of target chromosome ideogram to be zoomed out.

Value

None. New ideogram object is set to RCircos environment.

Author(s)

Henry Zhang

Examples

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

Cytoband Information for Rat Chromosome Ideogram

Description

A data frame containing chromosome name, start and end position, band name, and intensity of Giemsa stains for each cytoband.

Usage

data(UCSC.Baylor.3.4.Rat.cytoBandIdeogram)

Format

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

Source

http://genome.ucsc.edu


Cytoband Information for Human Chromosome Ideogram

Description

A data frame containing chromosome name, start and end position, band name, and intensity of Giemsa stains for each cytoband.

Usage

data(UCSC.HG19.Human.CytoBandIdeogram)

Format

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

Source

http://genome.ucsc.edu


Human Chromosome Ideogram Version 38

Description

Human chromosome ideogram v38 in the data frame format.

Usage

data("UCSC.HG38.Human.CytoBandIdeogram")

Format

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

Source

http://genome.ucsc.edu


Cytoband Inforamtion for Mouse Chromosome Ideogram

Description

A data frame containing chromosome name, start and end position, band name, and intensity of Giemsa stains for each cytoband.

Usage

data(UCSC.Mouse.GRCm38.CytoBandIdeogram)

Format

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

Source

http://genome.ucsc.edu