Circos 是用Perl语言编写,采用GPL许可,可以运行于任何有Perl语言解释器的操作系统(如 Windows, Mac OS X, Linux 及其他类UNIX系统)的免费软件。
Circos最初主要用于基因组序列相关数据的可视化,已应用于多个领域,大多数关系型数据都可以尝试用circos来可视化 。
由于perl语言本身的一些特点,使得很多人望而生畏,大家也可以使用R自带的 circlize 包绘制。
下载:http://circos.ca/software
下面我们通过windows来演示如何绘制简单的circos图。circos本身执行命令很简单:
circos -conf circos.conf
主要难点在配置文件编写上,下面我们一步步来讲解简单的数据格式和配置文件编写,配置文件如下:
# circos.conf
# karyotype定义染色体的名字、ID、起始位置信息
# 格式:chr - ID LABEL START END COLOR
# 解释:空格分割,前两列格式固定以chr开始
karyotype = data.txt
# links块以曲线连接显示基因组内部之间的联系
<links>
<link>
# 定义关联信息文件
file = link.txt
show = yes
ribbon = yes
flat = yes
radius = 0.95r
bezier_radius = 0r
color = black_a5
</link>
</links>
# 将染色体在圈图上展示出来,代表每个染色体的图形
<ideogram>
# 是否显示每个染色体带宽
show_bands = yes
fill_bands = yes
# 是否显示每个染色体标签、字体等信息
show_label = yes
label_font = default
label_radius = 1r + 75p
label_size = 100
label_parallel = yes
<spacing>
# 定义染色体之间的间距,为图形半径的5%
default = 0.05r
</spacing>
# 染色体区域的绘制位置,设置图形半径的0.9倍的位置
radius = 0.9r
# 染色体区域的宽度,可以是相对图形半径(r),也可以说绝对像素值(p)
thickness = 200p
# 染色体区域填充颜色
fill = yes
</ideogram>
# 默认引用的文件
<image>
<<include etc/image.conf>>
</image>
<<include etc/colors_fonts_patterns.conf>>
<<include etc/housekeeping.conf>>
data.txt
文件如下:
chr – hs1 GENE1 0 5 chr1
chr – hs2 GENE2 0 6 chr2
chr – hs3 GENE3 0 7 chr3
chr – hs4 GENE4 0 4 chr4
chr – hs5 GENE5 0 5 chr5
chr – hs6 GENE6 0 6 chr6
chr – hs7 GENE7 0 7 chr7
chr – hs8 GENE8 0 7 chr8
chr – hs9 GENE9 0 8 chr9
band hs1 band1 band1 0 1 black
band hs1 band1 band1 1 2 yellow
band hs1 band1 band1 2 3 red
band hs1 band1 band1 4 5 blue
我们定义了9个染色体,标签分别从GENE1~9,同时我们定义了chr1的带宽并指定了颜色。
link.txt
文件如下:
L1 hs2 0 6
L1 hs4 0 3
L2 hs4 3 4
L2 hs9 0 3
link文件我们定义了2条关系,第一条关系是hs2~hs4的关系,并且指定hs4段(0~3)连接hs2(0~6)段。
配置好数据和配置文件后执行circos -conf circos.conf
即可(注意data.txt和link.txt目录)。
参考资料:
1.http://circos.ca/documentation/tutorials/
咨询
是否提供做图服务?或者培训?
陈浩
可以