作图

十二. Circos基因组作图

2023-12-12  本文已影响0人  小飞虎

前言

最近进行基因组数据分析,绘制圈图,想做两个基因组的比较分析,通过查询文献,发现棉花基因组圈图在细节方面做的较好,主要就是染色体排布中间对称,这样共线性连线就不会出现交叉现象,于是尝试从头开始利用circos绘制圈图。通过不断调整,成品如下:


circos.png

1. 软件安装:

conda install -c bioconda circos

可能会出现报错:GD模块没有安装,可以直接下载GD模块,手动安装。

2. 文件准备

安装好Circos以后,就可以进行绘图,首先创建一个文件夹,在文件夹中准备相关配置文件:

1.circos.conf
2.ideogram.conf
3.ideogram.label.conf
4.ideogram.position.conf
5.bands.conf
6.ticks.conf

另外,在当前文件夹在创建一个文件夹data,存放自己准备的数据文件,例如我的圈图准备画8层:

1.karyotype
2.Genedensity
3.GC_content
4.Expression1
5.Expression2
6.Expression3
7.Copia/Gypsy
8.link

准备好以上文件(文件基本格式:chr start end value,共4列\t隔开),运行以下命令即可输出图片circos.png和circos.svg:
circos -conf circos.conf
接下来详细介绍文件的准备

3. 配置文件:circos.conf

circos.conf是circos的主要配置文件,画图也是通过命令:circos -conf circos.conf来完成,但circos.conf引用了文件夹中其他配置文件,如:ideogram.conf,bands.conf等,另外还有安装文件etc中的一些配置文件(conda安装的位置:~/.conda/pkgs/circos-0.69.8-hdfd78af_1/etc/),如:housekeeping.conf,image.generic.conf等。
circos.conf文件格式:

show_scatter   = yes
show_line      = yes
show_histogram = yes
show_heatmap   = yes
show_tile      = yes
show_highlight = yes
use_rules      = yes
<<include colors_fonts_patterns.conf>> #<<>>表示引用的其他配置文件,在当前文件和系统的etc文件中查找
<<include ideogram.conf>>
<<include ticks.conf>>
<<include etc/housekeeping.conf>>
<<include etc/image.conf>>
karyotype = data/1.karyotype  
#1.karyotype为染色体信息文件,格式如下:
#chr    -   a1  a.Chr01 0   23931628    chr1
#chr    -   a2  a.Chr02 0   56312238    chr2
#chr    -   a3  a.Chr03 0   61034414    chr3

chromosomes_units = 2000000 #染色体的单位2M,如果是一个染色体可以设置为1M
#chromosomes_reverse = /b[1-18]/
chromosomes_reverse = b1,b2,b3... #设置染色体方向
chromosomes_order = a1,a2,...a18,b18,....b2,b1#设置染色体排列顺序,物种a:1-18,物种b:18-1,同时物种b通过chromosomes_reverse设置为染色体反向,这样保证了中间对称,更美观,

<links> #<links> 和</links>之间的部分是进行link的设置,格式和html相似
z       = 0
radius  = 0.39r #绘图半径0.39r
thickness = 1p #设置连线粗细
<link>
z       = 50
color   = grey #总体设置连线颜色,后面<rule>可以重新设置
thichness = 4
file    = data/8.link #读取文件
#link文件格式:
#a1     6343321 6346963 b1   7987463 7991529
#a1     7081344 7082400 b1   8185204 8186260
#a1     7113128 7114630 b1   8217069 8218575
<rules>#个性化设置
<rule>
condition = var(chr1) eq "a1"  #对染色体a1进行设置
color = 154,103,2 #对染色体a1颜色进行设置
</rule>

<rule>#<rule>到</rule>为一个设置单元
condition = var(chr1) eq "a2" #对染色体a1颜色进行设置
color = 102,102,0
</rule>
...
</rules>
</link>
</links>
#以上<links>到</links>是对中心link区域的设置,以下<plots>到</plots>是对其他层画图设置
<plots>
<plot>#<plot><plot>是对其中一层的画图设置,其他层类似设置
type              = histogram #画图类型为柱状图
color             = 190,166,46 #颜色
file              = data/3.GC_content #读取文件
#文件格式,窗口为1M
#a5     1       1000000 0.0396
#a5     1000001 2000000 0.0435
#a5     2000001 3000000 0.0288
fill_color        = 190,166,46#填充颜色
r0                = 0.40r #图层位置0.40r到 0.40r+100p之间
r1                = 0.40r+100p
orientation       = out #朝向外
min               = 0#显示最大最小值设置
max               = 0.1
<backgrounds>
<background>#背景色设置
color = 241,239,239
</background>
</backgrounds>
</plot>
...#其他图层参考上面设置
<\plots>

注:以上是circos.conf文件设置,最重要,也是相对较为复杂的一个文件

4. 配置文件:ideogram.conf

以下是染色体配置文件:

<ideogram>
<spacing>
default = 0.005r#染色体之间间隔距离
<pairwise a1;b1>#设置其中两个染色体之间距离
spacing = 6r #在图形上面留下空白区域
</pairwise>
<pairwise a18;b18>
spacing = 6r#在图形下面对称留下空白区域
</pairwise>
</spacing>
<<include ideogram.position.conf>>
<<include ideogram.label.conf>>
<<include bands.conf>>
radius*       = 0.825r
</ideogram>

5. 配置文件:ideogram.label.conf

染色体标签设置:

show_label       = yes
label_font       = bold#设置为黑体
label_radius     = 1.075r#位置
label_size       = 28#字体大小
label_parallel   = yes #与圆相切
label_format     = eval(sprintf("%s",var(label))) #标签格式为文本格式

6. 配置文件:ideogram.position.conf

染色体位置文件:

radius           = 0.90r
thickness        = 20p
fill             = yes
fill_color       = dgrey
stroke_thickness = 2p
troke_thickness  = 0

7. 配置文件:bands.conf

show_bands            = yes
fill_bands            = yes
band_stroke_thickness = 2
band_stroke_color     = white
band_transparency     = 0

8. 配置文件:ticks.conf

对染色体刻度和刻度标签进行设置:

show_ticks          = yes
show_tick_labels    = yes
<ticks>
radius           = dims(ideogram,radius_outer)
orientation      = out
label_multiplier = 1e-6
color            = black
size             = 20p
thickness        = 2p
label_offset     = 4p
format           = %d

<tick>
spacing        = 1u
show_label     = no
size           = 10p
</tick>
<tick>
spacing        = 5u
show_label     = no
label_size     = 20p
size           = 15p
</tick>
<tick>
spacing        = 10u
show_label     = yes
label_size     = 24p
</tick>
</ticks>

9. 配置文件:housekeeping.conf和image.generic.conf

配置文件housekeeping.conf和image.generic.conf,位于安装文件的etc文件中,一般不需要修改,有时候却可以修改,如:
(1). 在画图的时候如果一个文件的比如基因密度或GC含量,需要画图的位点超过25000个的时候就会报错,但我们可以在housekeeping.conf文件中,找到max_links,max_points_per_track的位置根据自己的情况进行修改:

max_links            = 25000
max_points_per_track = 25000

(2). 在默认条件下绘制的第一个染色体的位置是从3点钟的位置开始,如果想调整起始位置,可以调整image.generic.conf文件中的参数,如angle_offset = -90 ,这时第一个染色体的位置是从12点钟的位置开始,如果我们想在上方留出空白区域可以设置:angle_offset = -85.

上一篇下一篇

猜你喜欢

热点阅读