查看原文
其他

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

2017-01-03 三土 生信媛

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

   

(1)Circos的安装


Circos是一个基于Perl写的一个软件,它依赖较多的Perl模块,所需要的模块如下:

 

Config::General

File::Basename

File::Spec::Functions

GD

GD::Polyline

Getopt::Long

IO::File

List::Util

Math::Bezier

Math::BigFloat

Math::Round

Math::VecStat

Memoize

Params::Validate

Pod::Usage

Readonly

Set::IntSpan

Regexp::Common

 

Perl模块的安装,大家可以自己动手网上搜索一下实现方法。而安装过程会涉及基本的linux命令操作,在后续的《小白生信学习记》中会提及。这里均暂不赘述。

将所需的模块安装完之后,下载circos软件,下载地址为:http://circos.ca/software/download/  目前最新版本是0.69-3。把它安装LinuxUnix系统上。安装过程很容易,只需要把压缩文件解压缩即可。

然后,我们把circos软件加入到环境变量:exportPATH=/path/way/to/circos:$PATH

为了验证我们的模块有没有安装完整,可以运行circos -module来观察。如果都是完整的话,应该会看到以下的结果:


 

如果有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放在同一目录下,运行以下命令:

 

circos -conf circos.conf

 

好了经过几秒钟的运行以后,我们得到了以下图形:

 

咦?这个圈图怎么光秃秃的啥都没有呀?没关系,这是我们绘制圈图的基础,那么下一期我们将在这个图形里面加入更多的信息,敬请期待!


写在最后。

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


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存