CIRCOS图绘制,大家可能在基因组和多组学的文章能经常见到,下图也是官方给出的统计信息和示例:
大家可以看出CIRCOS图给读者展示的信息也非常多,官方的程序是用Perl语言编写而成,由于perl语言本身的难度这给学习使用CIRCOS图的初学者带来了很多不便,今天给大家介绍使用R包circlize绘制简单的Circos图。
circlize包官方给出的示例
下面我们利用 circlize 绘制一个简单的 Circos 图:
# install.packages("circlize") 安装circlize
library(circlize)
factors = 1:8
par(mar = c(0.5, 0.5, 0.5, 0.5))
# 定义面板
circos.par(cell.padding = c(0, 0, 0, 0))
# 初始化
circos.initialize(factors, xlim = c(0, 1))
# 第一圈
circos.track(
ylim = c(0, 1),
track.height = 0.05,
bg.col = rand_color(8),
bg.border = NA
)
# 添加关系
for (i in 1:20) {
# 随机生成关系
se = sample(1:8, 2)
circos.link(
se[1],
runif(2),
se[2],
runif(2),
col = rand_color(1, transparency = 0.4),
border = NA
)
}
circos.clear()
一个简单的 circos 图就绘制好了,如果需要更多的信息展示可以依次叠加绘制多圈,详细请参考 circlize_book 。
参考资料:
1.http://circos.ca/
2.https://jokergoo.github.io/circlize_book/book/