十二. Circos基因组作图

前言

最近进行基因组数据分析,绘制圈图,想做两个基因组的比较分析,通过查询文献,发现棉花基因组圈图在细节方面做的较好,主要就是染色体排布中间对称,这样共线性连线就不会出现交叉现象,于是尝试从头开始利用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.

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容