搜索
查看: 5962|回复: 0

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

[复制链接]

33

主题

46

帖子

230

积分

管理员

Rank: 9Rank: 9Rank: 9

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



大家好,我是三土,非常高兴又和大家见面了!上一周我简单的说了一下如何画出一个简单的基因组圈图,但是目前这个图形看起来实在太单调了,我们需要添加一些额外的信息。
那我们打开上一期的circos.conf文件,在后面加入以下信息:
[mw_shl_code=perl,true]show_ticks = yes
show_tick_labels = yes
<ticks>
skip_first_label = no
skip_last_label = no
radius = dims(ideogram,radius_outer)
color = black
thickness = 2p
size = 30p
multiplier = 1e-6
format = %.2f
<tick>
spacing = 20000b
size = 10p
show_label = no
thickness = 3p
</tick>
<tick>
spacing = 100000b
size = 20p
show_label = yes
label_size = 25p
label_offset = 10p
format = %.2f
</tick>
</ticks>
[/mw_shl_code]
这些信息的意思是将染色体的大小以刻度的形式在圈图上展示出来。具体每一行的意思跟上一期的描述是类似的,具体可以回看Circos作图基础(一),这里不再赘述。
这里主要讲一讲这个format的意思:%d 表示结果为整数;%f 结果为浮点数; %.1f 结果为小数点后保留1位; %.2f 结果为小数点后保留2位。

OK,我们再一次运行circos程序,即可看到一下结果:
2.1.jpg

我们可以看到在圈图的周围标注上了刻度,这个刻度代表了染色体的位置。
但是我们还是希望加入一些信息,比如基因组的注释信息等。如果我们想在圈图上画上基因的信息(例如正链上的基因或者负链上的基因),我们可以先提取基因组的基因组注释GFF文件信息,比如下面这样:

scaffold 150251 50535
scaffold 169374 69886
scaffold 169961 71241
scaffold 171337 71960
scaffold 171957 72610
scaffold 173051 74196
scaffold 180568 81518
scaffold 196098 96289
scaffold 196641 96991
scaffold 197152 97901
scaffold 197898 98539

我们把这个信息单独放在一个文件里面,例如sensegene.gff(正义链),然后再建立一个文件,存放antisensegene.gff(反义链),接着在配置文件circos.conf写下列代码:
[mw_shl_code=applescript,true]<highlights>
z = 0
<highlight>
file = sensegene.gff
r0 = 0.90r
r1 = 0.99r
fill_color = 169,169,169
</highlight>
<highlight>
file = antigene.gff
r0 = 0.81r
r1 = 0.90r
fill_color = 169,169,169
</highlight>
</highlights>[/mw_shl_code]



r0和r1代表这个图形的起始和终止分别距离圆心的距离。所以这次我们得到的图像是这样的(当然如果大家想换其他的颜色也是可以的,可以参照RGB表来选取自己喜欢的颜色:http://jsxzjh.bokee.com/3744988.html):

circos2.2.jpg
看起来是不是有点感觉了?我们还想在中间加一些其他的注释信息,比如rRNA,tRNA的注释,其实原理是一样的,我们选取ncRNA的GFF文件进行处理,我们把不同的ncRNA填充不同的颜色:

scaffold1 159172 159247fill_color=(255,0,0)
scaffold1 159256 159327fill_color=(255,0,0)
scaffold1 159412 159488fill_color=(255,0,0)
scaffold1 159525 159597fill_color=(255,0,0)
scaffold1 725393 725468fill_color=(255,0,0)
scaffold1 1085115 1085187fill_color=(255,0,0)
scaffold1 1098272 1099826fill_color=(0,0,255)
scaffold1 1100055 1102171fill_color=(0,191,255)
我们把正链和负链的信息分别存储在sense_strand_ncRNA.txt和antisense_strand_ncRNA.txt上,接着在circos.conf配置文件下填写以下代码:
[mw_shl_code=applescript,true]<highlight>
file = sense_strand_ncRNA.txt
r0 = 0.69r
r1 = 0.78r
</highlight>
<highlight>
file = temp.txt
r0 = 0.69r
r1 = 0.691r
fill_color = black
</highlight>
<highlight>
file = antisense_strand_ncRNA.txt
r0 = 0.60r
r1 = 0.69r
</highlight>[/mw_shl_code]

为了不让正负链之间的图形展示看起来很突兀,我又加了一个temp.txt的文件,其格式为:

scaffold1 0 1102171
scaffold2 0 2826618

好了,再次运行看看,我们得到了什么结果:
circos2.3.jpg
看起来感觉好多了,但是我们还是缺了一些东西。我们还需要展示GC含量和GC偏向性,限于篇幅,我准备下一期再讲如何把这两个东西展示在上面。
下面把到目前为止的circos配置文件代码贴在下面,由于微信的问题,可能会有一些空格显示不全的现象,需要大家自己动手改正(吐槽一下伸手党,代码的目的是为了让大家亲手写一遍代码,纯粹的复制粘贴不可取哦):
[mw_shl_code=applescript,true]<<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>
show_ticks = yes
show_tick_labels = yes
<ticks>
skip_first_label = no
skip_last_label = no
radius = dims(ideogram,radius_outer)
color = black
thickness = 2p
size = 30p
multiplier = 1e-6
format = %.2f
<tick>
spacing = 20000b
size = 10p
show_label = no
thickness = 3p
</tick>
<tick>
spacing = 100000b
size = 20p
show_label = yes
label_size = 25p
label_offset = 10p
format = %.2f
</tick>
</ticks>
<highlights>
z = 0
<highlight>
file = sensegene.gff
r0 = 0.90r
r1 = 0.99r
fill_color = 169,169,169
</highlight>
<highlight>
file = antigene.gff
r0 = 0.81r
r1 = 0.90r
fill_color = 169,169,169
</highlight>
<highlight>
file = sense_strand_ncRNA.txt
r0 = 0.69r
r1 = 0.78r
</highlight>
<highlight>
file = temp.txt
r0 = 0.69r
r1 = 0.691r
fill_color = black
</highlight>
<highlight>
file = antisense_strand_ncRNA.txt
r0 = 0.60r
r1 = 0.69r
</highlight>
</highlights>
<<includeetc/housekeeping.conf>>[/mw_shl_code]


好了,如果大家对绘制圈图有什么意见或者建议,请及时跟我保持沟通哦,谢谢大家!


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




上一篇:基因组分析·Circos作图基础(一)
下一篇:基因组分析·Circos作图基础(三)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2020-3-31 09:48 , Processed in 0.022533 second(s), 30 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.