成品预览:
mark

一、环境需求

R 及 Rstudio 的安装配置

一步一步安装及配置R及Rstudio(详细图文)

RCircos安装
options()$BioC_mirror
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
options()$BioC_mirror
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
library(BiocManager)

# 方法一
BiocManager::install("RCircos",ask = F,update = Foptions()$BioC_mirror
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
options()$BioC_mirror
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
library(BiocManager)

# 方法一
BiocManager::install("RCircos",ask = F,update = F)

二、绘制圈图

0.载入包
rm(list=ls())

# 载入包
library(RCircosrm(list=ls())

# 载入包
library(RCircos)
1.绘制人染色体圈图
# 绘制人染色体圈图 ------------------------------------------------------
# 导入内建人类染色体数据
data(UCSC.HG19.Human.CytoBandIdeogram)

# 设置染色体数据
cyto.info <- UCSC.HG19.Human.CytoBandIdeogram
# 设置不显示的染色体,如 c(1,3)
chr.exclude <- NULL
# 设置内部环形个数
tracks.inside <- 10
# 设置外部环形个数
tracks.outside <- 0

# 导入上面四个基本参数
RCircos.Set.Core.Components(cyto.info, chr.exclude,tracks.inside, tracks.outside)


# 列出所有绘图参数
RCircos.List.Plot.Parameters()

# 绘制染色体图形,默认方法显示染色体名称。
RCircos.Set.Plot.Area()
RCircos.Chromosome.Ideogram.Plot(# 绘制人染色体圈图 ------------------------------------------------------
# 导入内建人类染色体数据
data(UCSC.HG19.Human.CytoBandIdeogram)

# 设置染色体数据
cyto.info <- UCSC.HG19.Human.CytoBandIdeogram
# 设置不显示的染色体,如 c(1,3)
chr.exclude <- NULL
# 设置内部环形个数
tracks.inside <- 10
# 设置外部环形个数
tracks.outside <- 0

# 导入上面四个基本参数
RCircos.Set.Core.Components(cyto.info, chr.exclude,tracks.inside, tracks.outside)


# 列出所有绘图参数
RCircos.List.Plot.Parameters()

# 绘制染色体图形,默认方法显示染色体名称。
RCircos.Set.Plot.Area()
RCircos.Chromosome.Ideogram.Plot()

数据格式:

mark

绘制:

mark

2.绘制基因
# 添加基因名称与连线 ------------------------------------------------------

# 加载内置的RCircos.Gene.Label.Data数据集
data(RCircos.Gene.Label.Data);

# 指定内容在内侧的环形还是外侧的环形生成
side <- "in";
# 指定内容在第几个环形生成
track.num <- 1;

# 绘图
RCircos.Gene.Connector.Plot(RCircos.Gene.Label.Data, track.num, side);

# 在染色体上添加基因名称, 指定内容在第几个环形生成
name.col <- 4;
track.num <- 2;

# 绘图
RCircos.Gene.Name.Plot(RCircos.Gene.Label.Data, name.col,track.num, side# 添加基因名称与连线 ------------------------------------------------------

# 加载内置的RCircos.Gene.Label.Data数据集
data(RCircos.Gene.Label.Data);

# 指定内容在内侧的环形还是外侧的环形生成
side <- "in";
# 指定内容在第几个环形生成
track.num <- 1;

# 绘图
RCircos.Gene.Connector.Plot(RCircos.Gene.Label.Data, track.num, side);

# 在染色体上添加基因名称, 指定内容在第几个环形生成
name.col <- 4;
track.num <- 2;

# 绘图
RCircos.Gene.Name.Plot(RCircos.Gene.Label.Data, name.col,track.num, side);

数据格式:

mark

绘制:

mark

3.绘制热图

# 添加热图类型的环形 ---------------------------------------------------------------
# 加载内置的RCircos.Heatmap.Data数据集
data(RCircos.Heatmap.Data);

# 指定以第6列数据生成热图
data.col <- 6;
# 指定内容在第5个环形生成
track.num <- 5;
# 指定内容在内侧的环形生成
side <- "in";

# 绘图
RCircos.Heatmap.Plot(RCircos.Heatmap.Data, data.col, track.num, side# 添加热图类型的环形 ---------------------------------------------------------------
# 加载内置的RCircos.Heatmap.Data数据集
data(RCircos.Heatmap.Data);

# 指定以第6列数据生成热图
data.col <- 6;
# 指定内容在第5个环形生成
track.num <- 5;
# 指定内容在内侧的环形生成
side <- "in";

# 绘图
RCircos.Heatmap.Plot(RCircos.Heatmap.Data, data.col, track.num, side);

数据格式:

mark

绘制:

mark

4.绘制散点图

# 添加散点图类型的环形 -------------------------------------------------------------
# 加载内置的RCircos.Scatter.Data数据集
data(RCircos.Scatter.Data);

# 指定以第5列数据图形中散点纵坐标
data.col <- 5;
# 指定图形在第6个环形生成
track.num <- 6;
# 指定图形在内侧环形生成
side <- "in"
# 指定数据大于1的点以红色显示,小于数据1的点以蓝色显示
by.fold <- 1;

# 绘图
RCircos.Scatter.Plot(RCircos.Scatter.Data, data.col,track.num, side, by.fold# 添加散点图类型的环形 -------------------------------------------------------------
# 加载内置的RCircos.Scatter.Data数据集
data(RCircos.Scatter.Data);

# 指定以第5列数据图形中散点纵坐标
data.col <- 5;
# 指定图形在第6个环形生成
track.num <- 6;
# 指定图形在内侧环形生成
side <- "in"
# 指定数据大于1的点以红色显示,小于数据1的点以蓝色显示
by.fold <- 1;

# 绘图
RCircos.Scatter.Plot(RCircos.Scatter.Data, data.col,track.num, side, by.fold);

数据格式:

mark

绘制:

mark

5.绘制折线图
# 添加折线图类型的环形 -------------------------------------------------------------------

# 加载内置的RCircos.Line.Data数据集
data(RCircos.Line.Data);
# 指定以第5列数据做为图形中拆线的纵坐标
data.col <- 5;
# 指定图形在第7个环形生成
track.num <- 7;
# 指定图形在内侧环形生成
side <- "in";

# 将chromosome列加入 `chr`,不然会因为数据格式不一致报错
RCircos.Line.Data$chromosome = paste0("chr",RCircos.Line.Data$chromosome)
# 绘图
RCircos.Line.Plot(RCircos.Line.Data, data.col, track.num, side# 添加折线图类型的环形 -------------------------------------------------------------------

# 加载内置的RCircos.Line.Data数据集
data(RCircos.Line.Data);
# 指定以第5列数据做为图形中拆线的纵坐标
data.col <- 5;
# 指定图形在第7个环形生成
track.num <- 7;
# 指定图形在内侧环形生成
side <- "in";

# 将chromosome列加入 `chr`,不然会因为数据格式不一致报错
RCircos.Line.Data$chromosome = paste0("chr",RCircos.Line.Data$chromosome)
# 绘图
RCircos.Line.Plot(RCircos.Line.Data, data.col, track.num, side);

数据格式:

mark

绘制:

mark

5.绘制直方图

# 添加直方图类型的环形 --------------------------------------------------------------------
# 加载内置的RCircos.Histogram.Data数据集
data(RCircos.Histogram.Data);
# 指定以第4列数据做为图形中直方的纵坐标
data.col <- 4;
# 指定图形在第8个环形生成
track.num <- 8;
# 指定图形在内侧环形生成
side <- "in";
# 绘图
RCircos.Histogram.Plot(RCircos.Histogram.Data, data.col, track.num, side# 添加直方图类型的环形 --------------------------------------------------------------------
# 加载内置的RCircos.Histogram.Data数据集
data(RCircos.Histogram.Data);
# 指定以第4列数据做为图形中直方的纵坐标
data.col <- 4;
# 指定图形在第8个环形生成
track.num <- 8;
# 指定图形在内侧环形生成
side <- "in";
# 绘图
RCircos.Histogram.Plot(RCircos.Histogram.Data, data.col, track.num, side);

数据格式:

mark

绘图:

mark

6.绘制网络图
# 添加网络图类型的环形 --------------------------------------------------------------------
# 加载内置的RCircos.Tile.Data数据集
data(RCircos.Tile.Data);
# 指定图形在第9个环形生成
track.num <- 9;
# 指定图形在内侧环形生成
side <- "in";
# 绘图
RCircos.Tile.Plot(RCircos.Tile.Data, track.num, side# 添加网络图类型的环形 --------------------------------------------------------------------
# 加载内置的RCircos.Tile.Data数据集
data(RCircos.Tile.Data);
# 指定图形在第9个环形生成
track.num <- 9;
# 指定图形在内侧环形生成
side <- "in";
# 绘图
RCircos.Tile.Plot(RCircos.Tile.Data, track.num, side);

数据格式:

mark

绘图:

mark

7.添加和弦图
# 添加一个或多个基因间的联系曲线 ----------------------------------------------------------
# 加载内置的RCircos.Link.Data数据集
data(RCircos.Link.Data);
# 指定图形在第11个环形生成
track.num <- 11;
# 绘图
RCircos.Link.Plot(RCircos.Link.Data, track.num, TRUE);
# 加载内置的RCircos.Ribbon.Data数据集
data(RCircos.Ribbon.Data# 添加一个或多个基因间的联系曲线 ----------------------------------------------------------
# 加载内置的RCircos.Link.Data数据集
data(RCircos.Link.Data);
# 指定图形在第11个环形生成
track.num <- 11;
# 绘图
RCircos.Link.Plot(RCircos.Link.Data, track.num, TRUE);
# 加载内置的RCircos.Ribbon.Data数据集
data(RCircos.Ribbon.Data);

数据格式:

mark

绘图:

mark

三、导出PDF

点击 Export , 选择Save as PDF

mark

修改导出大小,最好是正方形的,保存

mark

会在根目录发现导出的圈图

mark