❝❞
OmicCircos
是一款R
应用程序和软件包,用于生成组学
数据的高质量圆形图
。相比矩形热图
,环形热图有以下优势
:
空间利用率高
:环形热图将数据呈现为一个圆环状,相比矩形热图能更好地利用空间。它可以容纳更多的数据点
,在有限的显示空间内展示更多信息。比如同时展示基因表达、CNV、融合基因、相关性等信息。
视觉效果突出
:由于环形热图的设计较为独特,其视觉效果往往更加突出和引人注目。通过鲜明的颜色和环形排列,环形热图能够快速吸引用户的注意力,使得数据的分布和模式更易于理解和解读。
可扩展性强
:环形热图的结构使得它在处理大规模数据时表现出色。因为数据点可以沿着圆环的周长进行排列,所以环形热图可以轻松适应数千甚至数百万个数据点的展示需求。
易于比较和对比
:环形热图的环形结构使得不同环之间的比较和对比变得更加直观和方便。通过观察不同区域的颜色和强度,用户能够更准确地判断数据的差异和相似性。
适用于周期性数据
:对于周期性数据(例如时间序列数据),环形热图可以以环形的方式呈现,更好地展示数据的周期模式和趋势。
Top 100 DEGs 的连接性、表达模式和染色体位置的圆形可视化。
「案例 1:」
「案例 2:」
安装和加载OmicCircos
:
# BiocManager::install("OmicCircos")
options(stringsAsFactors = FALSE)
library(OmicCircos)
## hg19核型文件
data(UCSC.hg19.chr)
head(UCSC.hg19.chr)
加载数据:
data("TCGA.PAM50_genefu_hg18");
data("TCGA.BC.fus");
data("TCGA.BC.cnv.2k.60");
data("TCGA.BC.gene.exp.2k.60");
data("TCGA.BC.sample60");
data("TCGA.BC_Her2_cnv_exp");
head(TCGA.BC.fus)
pvalue <- -1 * log10(TCGA.BC_Her2_cnv_exp[,5]);
pvalue <- cbind(TCGA.BC_Her2_cnv_exp[,c(1:3)], pvalue);
head(pvalue)
Her2.i <- which(TCGA.BC.sample60[,2] == "Her2");
Her2.n <- TCGA.BC.sample60[Her2.i,1];
Her2.j <- which(colnames(TCGA.BC.cnv.2k.60) %in% Her2.n);
cnv <- TCGA.BC.cnv.2k.60[,c(1:3,Her2.j)];
cnv.m <- cnv[,c(4:ncol(cnv))];
cnv.m[cnv.m > 2] <- 2;
cnv.m[cnv.m < -2] <- -2;
cnv <- cbind(cnv[,1:3], cnv.m);
head(cnv[,1:7])
Her2.j <- which(colnames(TCGA.BC.gene.exp.2k.60) %in% Her2.n);
gene.exp <- TCGA.BC.gene.exp.2k.60[,c(1:3,Her2.j)];
head(gene.exp[,1:7])
colors <- rainbow(10, alpha=0.5);
library(scales)
show_col(colors, ncol = 5)
通过环形叠加可视化多个数据集:
# 设置图形四周的边距
par(mar=c(0, 0, 0, 0));
# 创建空白的绘图区域
plot(c(1,800), c(1,800), type="n", axes=FALSE, xlab="", ylab="", main="");
# cir设置基因组版本
# W设置每一圈的宽度
# 首先绘制基因组
circos(R=400, cir="hg18", W=4, type="chr", print.chr.lab=TRUE, scale=TRUE);
# 绘制基因表达热图
circos(R=300, cir="hg18", W=100, mapping=gene.exp, col.v=8, type="heatmap2",
cluster=TRUE, col.bar=TRUE, lwd=0.1, col="blue");
# 绘制CNV多行折线图
# 注意type为ml3,用阶梯形的多行折线图来展示cnv
# `?circos`详细查看参数
circos(R=220, cir="hg18", W=80, mapping=cnv, col.v=4, type="ml3", B=FALSE, lwd=1, cutoff=0);
# 绘制pvalue折线图
# Correlation p values between expression and CNVs
circos(R=140, cir="hg18", W=80, mapping=pvalue, col.v=4, type="l", B=TRUE, lwd=1, col=colors[1]);
# 绘制融合基因连线
cols <- rep(colors[7], nrow(TCGA.BC.fus));
col.i <- which(TCGA.BC.fus[,1]==TCGA.BC.fus[,4]);
cols[col.i] <- colors[1];
col.i
# [1] 5 13 14 17
show_col(cols, ncol = 6)
对来自同一个染色体的4对融合基因
进行高亮(红色)展示:
circos(R=130, cir="hg18", W=10, mapping=TCGA.BC.fus, type="link2", lwd=2, col=cols);
查看更多可视化案例:
参考教程:
OK,今天的分享到此为止,希望能对您有所帮助。
您的关注、点赞、在看、转发
是对益站最大的鼓励和支持
哈。
❝对本篇文章有疑问,可以在益站
❞发消息留言
,也欢迎各位童鞋扫码入(QQ)群
。
Scan to Follow