查看原文
其他

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

2017-01-10 三土 生信媛

大家好,我是三土,非常高兴又和大家见面了!上一周我简单的说了一下如何画出一个简单的基因组圈图,但是目前这个图形看起来实在太单调了,我们需要添加一些额外的信息。

那我们打开上一期的circos.conf文件,在后面加入以下信息:

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>

 

这些信息的意思是将染色体的大小以刻度的形式在圈图上展示出来。具体每一行的意思跟上一期的描述是类似的,具体可以回看Circos作图基础(一),这里不再赘述。

这里主要讲一讲这个format的意思:%d 表示结果为整数;%f 结果为浮点数; %.1f 结果为小数点后保留1位; %.2f 结果为小数点后保留2位。

 

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


 

我们可以看到在圈图的周围标注上了刻度,这个刻度代表了染色体的位置。

但是我们还是希望加入一些信息,比如基因组的注释信息等。如果我们想在圈图上画上基因的信息(例如正链上的基因或者负链上的基因),我们可以先提取基因组的基因组注释GFF文件信息,比如下面这样:

 

scaffold150251 50535

scaffold169374 69886

scaffold169961 71241

scaffold171337 71960

scaffold171957 72610

scaffold173051 74196

scaffold180568 81518

scaffold196098 96289

scaffold196641 96991

scaffold197152 97901

scaffold197898 98539

 

我们把这个信息单独放在一个文件里面,例如sensegene.gff(正义链),然后再建立一个文件,存放antisensegene.gff(反义链),接着在配置文件circos.conf写下列代码:

 

<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>

 

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


 看起来是不是有点感觉了?我们还想在中间加一些其他的注释信息,比如rRNAtRNA的注释,其实原理是一样的,我们选取ncRNAGFF文件进行处理,我们把不同的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.txtantisense_strand_ncRNA.txt上,接着在circos.conf配置文件下填写以下代码:

 

<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>

 

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

scaffold1 0 1102171

scaffold2 0 2826618

好了,再次运行看看,我们得到了什么结果:


看起来感觉好多了,但是我们还是缺了一些东西。我们还需要展示GC含量和GC偏向性,限于篇幅,我准备下一期再讲如何把这两个东西展示在上面。

下面把到目前为止的circos配置文件代码贴在下面,由于微信的问题,可能会有一些空格显示不全的现象,需要大家自己动手改正(吐槽一下伸手党,代码的目的是为了让大家亲手写一遍代码,纯粹的复制粘贴不可取哦):

 

<<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>>

 

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



欢迎关注,欢迎转发~




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

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