circos绘图ideogram.conf文件的配置

ideogram在基因组绘图中往往表示的就是染色体,在大多数情况下,ideogram是配置文件中重要的部分,也是相对参数较多的circos配置文件。主要内容包括染色体的半径、宽度、颜色,染色体排列方式以及它们之间的间隔距离等。

1、参数的含义

首先写一个范例来说明各个参数之间的含义,#后面为注释。

<ideogram>
<spacing> #此标签对用于放置默认的染色体之间的间距。
default = 0.005r #染色体之间的间距
</spacing>
show_bands = yes #必须有bands信息才能设置yes(显示)
fill_bands = yes #是否填充
band_transparency = 4 #透明度
radius = 0.90r #绘制染色体的半径
thickness = 20p #图形线条的粗细
fill = yes #是否填充
stroke_color = dgrey #染色体边线颜色
stroke_thickness = 2p #边线的宽度
show_label = yes #是否显示标注(染色体的名称)
label_font = default #标记(染色体的名称)字体在etc/fonts.conf中查看
label_radius = 1r + 75p #标记(染色体的名称)显示的位置——染色体圆弧外75p以内的位置
label_size = 30 #字体大小
label_parallel = yes #是否(与描述的区域的切线)平行
</ideogram>

2、染色体显示与排序

1)染色体默认显示:chromsomes_display_default=yes #不用设置,系统默认,除非你想让染色体默认不显示

2)选择部分染色体显示:chromosome=hs1;hs2;hs3;hs4

3)选择部分染色体不现实(filter):chromosome=hs1;hs2;hs3;hs4

4)染色体显示排序:chromosomes_order = hs2,hs4,hs3,hs1 对默认的排序方式重新排列

5)将两条染色体隔开:chromosomes_order = hs2,-,-,hs3 其他染色体按照默认方式排列

6)将指定染色体放在首位(^):chromosomes_order = ^,hs5 用休止符号指定

7)指定染色体放在末尾($):chromosomes_order = hs5,$ 用美元符号指定

8)分组指定特殊位置:chromosomes_order = hs3,hs2|,hs8,hs1 其他染色体默认顺序排列,但是hs2跟在hs3后排列,hs1跟在hs1后排列,最终的顺序 则为 4、5、3、2、6、7、8、1

9)选择一条染色体的部分显示:

chromosomes = ...;ID:START-END;...

chromosomes_units = 1000000 #定义染色体作图的时的单位,也做u,即1u=1000000bp

chromosomes = hs1:0-100;hs2:50-150;hs3:50-100;hs4;hs5;hs6;hs7;hs8 #相当于hs1只显示0-100单位之间的bases,hs2 显示50-150单位之间的base

chromosomes = hs1;hs2;hs3;hs4;hs5;hs6;hs7;hs8

chromosomes_breaks = -hs1:100-200;-hs2:0-50;-hs2:150; #hs1 100u-200u之间不显示,hs2 0-50u之间不显示;hs2 150u之后的区域不现实;表示到末尾。

3、Ideogram显示之间的间隔

1)<spacing>标签对之间放间隔信息,可以使用u和r作为单位。其中<spacing>default=1u</spacing>用于设置所有ideograms之间的默认值。如果单独对特定的一对或者几个ideograms设置则可以在spacing标签之间使用<pairwise hs1;hs2>标签指定spacing信息。例如:

<ideogram> <spacing>
default = 10u #默认值
<pairwise hs1;hs2> #指定hs1和hs2
spacing = 0.25r #设置hs1和hs2之间的spacing信息为0.25r
</pairwise> #标签成对出现
<pairwise hs3> #<spacing>中可以放多个<pairwise></pairwise>标签对,以便于个性化设置。
spacing = 15u
</pairwise>
</spacing> </ideogram>

2)axis_break——轴断

在<spacing>标签对之间break=2u表示ideogram的轴断(axis_break轴断用于表示染色体不全,在轴断出有部分染色体未显示)。轴断可以在染色体内部或者两段。axis_break_style=n用于设置轴断的样式。Axis_break_style的值由<break_style n></break_style>标签对定义。axis_break_at_edge=yes 表示在ideogram没有展示染色体的首尾的时候,在首尾使用axis_break。

<ideogram> <spacing>
default = 10u
break = 2u #定义
axis_break = yes
axis_break_style = 2 #选择风格
axis_break_at_edge = yes #是否在首尾显示axis_break
<break_style 1> #定义axis_break风格1,这里并没有调用这种风格
stroke_color = black
fill_color = blue
thickness = 0.25r
stroke_thickness = 2
</break_style>
<break_style 2> #定义axis_break风格2,被axis_break_style = 2 调用
stroke_color = black
stroke_thickness = 3
thickness = 1.5r
</break_style></spacing></ideogram>

3)为染色体单独命名(设置tag)

由于部分染色体可能会只取部分显示,或者一条染色体取出两部分显示。重新命名(tag)更容易操作,例如对染色体排序的时候则可以直接使用tag排序,无需写出全部内容。

方法:在设置染色体显示的时候,在染色体名称后面,定义显示部分的前面用”[]”设置tags。默认使用tag作为label显示,不用单独设置label_with_tag=yes。设置label_with_tag=no即可关闭。

chromosomes = hs1[a]:0-50;hs1[b]:150-);hs2[c]:0-50;hs2[d]:150-);hs3[e] #定义显示的区段,并给每个ideograms设置tag。

label_with_tag = no

4)ideograms的半径

设置统一默认方式:radius=0.85r (在<ideogram>标签下)

也可以单独对某个或者多个ideograms设置半径,在染色体名称(或者tags)后加半径大小,用冒号隔开。

chromosomes_radius = hs1:0.5r;hs2:0.55r;hs3:0.6r;hs4:0.65r;hs5:0.7r;hs6:0.75r;hs7:0.8r;hs8:0.85r;hs9:0.9r;hs10:0.95r

5)label设置

label即在ideogram(染色体)上的标注,区分染色体。Label设置的字体label_font必须是在字体文件中已经定义的(字体文件用<include colors_fonts_patterns.conf>>调用)。

*label_radius= dims(ideogram,radius_outer) + 50p 表示label的半径,其中ideogram表示以ideogram的半径为参考;radius_outer表示在ideograms的外圈位置;+50bp表示在radius_outer的基础上外延50bp。radius_inner表示内径。(邓飞龙的circos学习笔记,博客地址www.dengfeilong.com)

*label_radius =(dims(ideogram,radius_outer)+dims(ideogram,radius_inner))/2 #内外半径的中间位置,即放在ideogram上。

* label_radius = dims(image,radius) - 50p image #表示以整天图片为参考。

<ideogram>
show_label = yes #是否显示label
label_with_tag = yes #是否使用tag作为label
label_font = light #label字体
label_radius = dims(ideogram,outer_radius) + 0.05r #label的半径,即定义label显示的位置,做特别说明
label_center = yes #所有label集中在定义的半径内。
label_size = 48p #字体大小
label_color = grey #颜色
label_parallel = yes #label是否与圆的切线平行
label_case = upper #大写字母
label_format = eval(sprintf("chr%s",var(label))) #对label格式化,在数据中即可完成。
...
</ideogram>

6)临时设置(第一个ideogram位置和默认放置顺序)

第一个的位置在图片设置文件中已经定义,也可以对其定义。系统设置的各个位置如有图所示。
用angle_offset=90,这可设置第一个ideogram的位置。

而顺时针和逆时针排列方式也可以定义:angle_orientation = counterclockwise(逆时针)

*都在<image>标签对里面。如果是调用image文件,可以用*来重置文件内的参数。

博主注:时间匆忙,内容都是从circos学习笔记直接复制而来,排版和整体内容比较混乱,其中必定有不少错误,请各位谅解指正。

发表评论

匿名网友