美文网首页作图
十二. Circos基因组作图

十二. Circos基因组作图

作者: 小飞虎 | 来源:发表于2023-12-12 11:50 被阅读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.

相关文章

  • circos作图

    本文学习参考:生信媛:https://mp.weixin.qq.com/s/qXDlKf7ut8QF2c5_0hi...

  • Circos入门教程

    1 Circos简介 Circos是一个非常酷炫的基因组数据可视化软件,能够将基因组数据映射到环形的基因组坐标上,...

  • R 数据可视化 —— circlize 基因组绘图函数

    绘图函数 创建基因组数据的绘图区域的函数是 circos.genomicTrack(),或者 circos.gen...

  • Circos 图绘制

    circos 图绘制基因组信息有优势,在很多文章出现。circos 使用Perl写的,要安装一些必要的perl模块...

  • 如何绘制基因组类型Cirocs图? | OmicStudio

    为了满足科研同伴绘制基因组类型circos图的需求,联川生物近期推出了circos云工具,功能强大,操作简单,接下...

  • circos作图二

    使用Circos画图,需要有大量的配置信息。将全部信息写进一个文件会使得文件过于复杂,修改起来也不方便,Circo...

  • circos作图一

    一:安装 直接conda安装 二. 准备配置文件 用vim karyotype.txt(核型文件)的配置,新增如下...

  • circos作图四(links)

    通常circos的中间部分不是空白区域,会用一条条线进行连接,表示两个染色体部分区域有关系。对于link,circ...

  • 从零开始学习circos(一)

    circos是基因组学最经常使用的图之一,软件按照调试已经完成了,相对简单。circos最繁盛的地方是学习conf...

  • circos 学习手册(二十六)

    技巧(一) 1. 微生物基因组 circos 适用于包含一条染色体的基因组,例如,环状细菌基因组。 1.1 交叉原...

网友评论

    本文标题:十二. Circos基因组作图

    本文链接:https://www.haomeiwen.com/subject/qbwrirtx.html