搜索
查看: 14763|回复: 1

基因组分析·Circos作图基础(一)

[复制链接]

33

主题

46

帖子

230

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
230
发表于 2017-2-1 16:21:33 | 显示全部楼层 |阅读模式
注:本文是生信媛微信公众号原创文章
作者:三土
原文链接:http://mp.weixin.qq.com/s/-6-eWibp98TCOlZ68vR2Yw

                                                                                                
大家好,上一周我们预告了基因组圈图的绘制方法,所以今天我想从基础的部分慢慢说起。如果您的英文水平还不错,所有的circos使用教程都可以在http://circos.ca/documentation/tutorials进行学习。当然,如果您跟我一样不喜欢去啃英文,那就由我带着大家一起来开始circos的学习吧。

(1)Circos的安装

Circos是一个基于Perl写的一个软件,它依赖较多的Perl模块,所需要的模块如下:
[mw_shl_code=perl,true]
Config::General
File::Basename
File::Spec::Functions
GD
GD:olyline
Getopt:ong
IO::File
List::Util
Math::Bezier
Math::BigFloat
Math::Round
Math::VecStat
Memoize
Params::Validate
Pod::Usage
Readonly
Set::IntSpan
Regexp::Common[/mw_shl_code]

Perl模块的安装,大家可以自己动手网上搜索一下实现方法。而安装过程会涉及基本的linux命令操作,在后续的《小白生信学习记》中会提及。这里均暂不赘述。
将所需的模块安装完之后,下载circos软件,下载地址为:http://circos.ca/software/download/  目前最新版本是0.69-3。把它安装Linux/Unix系统上。安装过程很容易,只需要把压缩文件解压缩即可。
然后,我们把circos软件加入到环境变量
[mw_shl_code=bash,true]export PATH=/path/way/to/circosPATH[/mw_shl_code]
为了验证我们的模块有没有安装完整,可以运行circos -module来观察。如果都是完整的话,应该会看到以下的结果:
circos1.1.jpg
如果有Missing的模块就把它装上即可,当所有的模块检测都通过之后,就可以用了。接下来从基础的图形开始讲解。


(2)基础文件配置

Circos主要的功能是画圈图,所以我们要定义这个圈的一些基本信息,我们用VIM编辑器创建一个配置文件circos.conf,输入以下信息:

<<includeetc/colors_fonts_patterns.conf>>
<image>
<<includeetc/image.conf>>
</image>
karyotype = karyotype.txt
chromosomes_units = 100000
chromosomes_display_default = yes
<ideogram>
<spacing>
default = 0.005r
</spacing>
radius = 0.80r
thickness = 6p
fill = yes
fill_color = deepskyblue
stroke_color = black
stroke_thickness = 1p
show_label = yes
label_font = light
label_radius = 1r + 110p
label_size = 30
label_parallel = yes
</ideogram>
<<includeetc/housekeeping.conf>>

这些代码看了是不是有点懵?那我就进行详解吧!首先,这里面所有的“<<>>”里的内容都是一些默认配置的文件,一般不需要修改,这些文件都在在circos/etc目录下面,当然高手们可以按照自己的需求去修改,对于我们这些小白玩家,还是暂时不去修改。
接下来就是一个最重要的文件,核型文件karyotype的配置,这个文件是圈图的基础,它定义了每个染色体的大小。我们再次打开VIM编辑器,新建karyotype.txt文件,填写下列信息:

chr - scaffold1 1 0 1102171 deepskyblue
chr - scaffold2 2 0 2826618red


首先用chr开头,然后空一格加一个“-”,scaffold名称,序号(从1开始),然后是染色体的起始和终止,最后一列是填充的颜色。
chromosomes_units是用来设置每个刻度代表的长度。若其单位为 u,我们把它设置为1000000=1u,那么1u就代表1Mb的长度。
chromosomes_display_default用来展示所有染色体,一般设置为yes,如果你想只展示几个染色体,可以设置为no,然后单独把需要展示的染色体列出来。
<ideogram>到</ideogram>是用来配置将染色体在圈图上展示出来的一个关键参数,在这里进行详细讲读。
spacing是用来设置圈图中染色体之间的空隙大小,我们设置为0.005r的意思是每个染色体之间的空隙占周长0.5%
radius是用来设置染色体的圈距离圆心的距离,设置为0.8r的意思是染色体的圈距离圆心80%的意思。
thickness是用来设置染色体圈的厚度,可以用r表示,也可用像素p表示,我们设置为6个像素。
fill 是用来设置是否为染色体圈填充颜色,颜色取决于核型文件karyotype最后一列颜色的数据。
fill_color是用来自定义填充颜色。
stroke_color是用来定义染色体圈的轮廓颜色。
stroke_thickness用来定义染色体轮廓的厚度。
show_label用来定义是否展示染色体的标签,这个标签对应核型文件的第四列。
label_font是设置label的字体。
label_radius是用来设置标签的位置。
label_size用来设置字体大小。
label_parallel用来设置字体方向,yes是易于阅读的方向。

(3)运行和结果

好了我们把核型文件karyotype.txt和配置文件circos.conf放在同一目录下,运行以下命令:
[mw_shl_code=bash,true]circos -conf circos.conf[/mw_shl_code]
好了经过几秒钟的运行以后,我们得到了以下图形:
circos1.2.png
咦?这个圈图怎么光秃秃的啥都没有呀?没关系,这是我们绘制圈图的基础,那么下一期我们将在这个图形里面加入更多的信息,敬请期待!

写在最后。
如果看完大家有什么问题,可以后台给我们发送消息,我们尽力予以解答。


欢迎到微信公众号订阅我们
生信媛
bio_sxy
sxy.png.jpg

                    
                                                                                                                                                                                                                           



上一篇:绕过root权限,如何使用GFOLD进行差异表达分析一:GFOLD的安...
下一篇:基因组分析·Circos作图基础(二)
回复

使用道具 举报

0

主题

11

帖子

259

积分

中级会员

Rank: 3Rank: 3

积分
259
发表于 2017-6-9 17:12:18 | 显示全部楼层
赞!!!跟着学习了~~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2020-3-31 08:53 , Processed in 0.036105 second(s), 31 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.