当然除了基因组文章,其他类型的文章也可以考虑这种图。接下来我将会写一些列教程(可能有视频),通过教别人学Circos的方式来自学Circos。
建议在Linux环境下配置Circos,之后只要用conda就能配置好分析环境
## circos
conda create -c bioconda -n circos circos
测试软件安装结果
# 测试circos
conda activate circos
# 确认安装
circos -V
# 显示如下
# circos | v 0.69-8 | 15 Jun 2019 | Perl 5.026002
可以从
http://circos.ca/software/download/
下载官方的教程文件,分别是
Circos依赖于一些列的配置文件,用来定义复杂图形的各个部分,最终加工成图形。
因此,用Circos画图是一个不断增添内容的过程,你要不断根据输出结果来调整输入参数。
并且整个分析中,你还要拥有过关的数据预处理的能力,这是因为Circos不是数据处理工具,它只是展示你已有的数据。
第一步,先新建一个文件夹,用于存放本次分析的所有数据和配置文件
mkdir -p my_first_circos && cd my_first_circos
然后用
vim karyotype.tair10.txt
编辑文本,新增如下内容
chr - chr1 chr1 0 30427617 black
chr - chr2 chr2 0 19698289 black
chr - chr3 chr3 0 23459830 black
chr - chr4 chr4 0 18585056 black
chr - chr5 chr5 0 26975502 black
之后创建一个
circos.conf
文件,用于增加各类配置参数
touch circos.conf
用
vim circos.conf
,增加我们的第一条记录,染色体信息
karyotype = karyotype.tair10.txt
然而要想真正的出图,还需要增加至少以下配置语句才行
<ideogram>
<spacing>
default = 0.005r
</spacing>
radius = 0.90r
thickness = 20p
fill = yes
stroke_color = dgrey
stroke_thickness = 2p
</ideogram>
<image>
<<include etc/image.conf>>
</image>
<<include etc/colors_fonts_patterns.conf>>
<<include etc/housekeeping.conf>>
在当前路径下运行
circos -conf circos.conf
, 最终效果图如下
虽然图比较丑,但是至少我们成功运行了人生第一次的circos, 这就相当于买了一套毛坯房,后面要做的事情就是不断装修。
比如说,我们至少可以让不同染色体拥有不同的颜色,修改之前的
karyotype.tair10.txt
中的最后一列
chr - chr1 chr1 0 30427617 chr1
chr - chr2 chr2 0 19698289 chr2
chr - chr3 chr3 0 23459830 chr3
chr - chr4 chr4 0 18585056 chr4
chr - chr5 chr5 0 26975502 chr5
在当前路径下运行
circos -conf circos.conf
, 最终效果图如下
这就引出了第一个知识点,
配色
。
为了实现配色,需要
circos.conf
文件了有一个和配色有关的语句
<<include etc/colors_fonts_patterns.conf>>
这里
<<>>
表示通过
相对路径
的方式加载另外一个配置文件,它的实际路径是和
circos
所在目录同级的
etc
,可用下面语句看到
colors_fonts_patterns.conf
的内容
circos_path=$(dirname `which circos`)
less ${circos_path%bin}/etc/colors_fonts_patterns.conf
你会发现,这个文件里还嵌套其他的配置文件。最终通过层层排查,你才知道
etc/colors.ucsc.conf
才是实际定义我们填写的颜色名的文件,而颜色的定义如下:
chr1 = 153,102,0
chr2 = 102,102,0
chr3 = 153,153,30
chr4 = 204,0,0
chr5 = 255,0,0
还有一个问题,为什么这里用的是两个尖括号
<<
,而不是一个尖括号
<
呢?这是因为
<
已经被用于分隔不同的语句块,如下语句就表示
etc/image.conf
里的配置信息是用来调整和
image
有关的配置,而不是去调整
ideogram
的配置。
<image>
<<include etc/image.conf>>
</image>
以上是快速开始部分,后续将会在此基础上,做出发表级别的图。
> # 颜色配置
> colors <- c
(
"#FFE4E1", "#E0FFFF", "#F0FFF0", "#FFF8DC"
)
# 各年龄段主色
> bar_colors <- c
(
"#CD5C5C", "#4682B4", "#32CD32", "#DAA520"
)
# 外环条形颜色
> # 初始化参数
>
circos
.clear
(
)
>
circos
.par
(
+ gap.after = c
(
rep
(
8, 3
)
, 8
)
, # 增加扇区间隙
+ start.degree = 90,
+ track.margin = c
(
0.01, 0.05
)
> # 主环形
图
初始化
>
circos
.initialize
(
factors = names
(
data_list
)
,
+ x = rep
(
1, length
(
data_list
)
)
,
+ sector.width = rep
(
1, length
(
data_list
)
)
)
错误: Range of the sector
(
0-6月
)
cannot be 0.
当矩形
图
无法满足要求的时候,我们就要掰弯它。
circos
图
是出现在各大期刊上的概率大大提高了,这不仅仅因为它好看,其次
Circos
还能同时展示出不能类型的数据。
一
、
Circos
的安装
1、conda安装
通过conda search
circos
,我们可以看到有很多个
circos
版本,因此我们无论安装哪个版本都是可以的。conda软件的安装在前面的文章中已经具体讲解。
[外链
图
片转存失败,源站可能有防盗链机制,建议将
图
片保存下来直接上传
(
img-iGohKlon-1615
在
从零开始
学
Circos
绘制
圈
图
(
一
)
我们已经
绘制
出
一
个比较丑的
circos
图
,这
一
部分是讲解
一
些细节。
这
一
部分会从上
一
步的两个文件开始,分别是
karyotype.tair10.txt
chr - chr1 chr1 0 30427617 chr1
chr - chr2 chr2 0 19698289 chr2
chr - chr3 chr3 0 23459830 chr3
CIRCOS
是用于可视化循环
图
的软件工具。如果你想
从零开始
学
习
CIRCOS
,以下是
一
些步骤和资源可以帮助你入门:
1. 了解
CIRCOS
:首先,你需要了解
CIRCOS
的基本概念和用途。
CIRCOS
主要用于可视化循环数据,如基因组比对、染色体相互作用等。你可以阅读官方网站(http://
circos
.ca/)上的文档,了解其功能和使用方式。
2. 安装
CIRCOS
:在
学
习
CIRCOS
之前,你需要在你的计算机上安装
CIRCOS
。官方网站上有详细的安装指南,根据你的操作系统选择适合的安装方法。
3.
学
习语法和配置文件:
CIRCOS
使用自己的配置文件来定义
图
表的外观和数据的呈现方式。你需要
学
习
CIRCOS
的语法和配置文件结构。官方网站提供了详细的文档和示例,你可以按照文档逐步
学
习和实践。
4. 练习使用示例:
CIRCOS
官方网站上提供了许多示例配置文件和数据,你可以下载并尝试运行这些示例。通过实际操作,你可以更好地理解和掌握
CIRCOS
的使用方法。
5. 探索其他资源:除了官方网站,你还可以寻找其他
学
习资源,如教程、博客文章和视频教程。这些资源可以帮助你更深入地了解
CIRCOS
的高级功能和应用场景。
总的来说,
学
习
CIRCOS
需要
一
定的时间和实践经验。通过阅读文档、尝试示例和不断练习,你可以逐步掌握
CIRCOS
的使用技巧,并能够创建出令人满意的循环
图
可视化效果。祝你
学
习顺利!
太阳照常升起901:
使用purge_haplogs处理基因组杂合区域
m0_74862797:
如何下载SRA存放在AWS的原始数据
Spark_xY6:
告别3D-DNA试试chromap和yahs做Hi-C辅助组装吧
Huli_ya:
利用3D-DNA流程组装基因组
LKemia: