刻度线、网格以及标签(二)
2. 刻度线 —— margins
如果你绘制的刻度线比较密集,那么你画出来的图像中刻度线可能会重叠在一起,并且刻度标签也可能发生重叠
为了解决这个问题,你可以在相邻的刻度之间设置很小的间隔
2.1 最小刻度线间隔
tick_separation
参数控制两个刻度之间的最小距离,这个参数只能应用在刻度线,无法在标签中设置,标签有其自己的参数可以设置
<ticks>
# 应用于所有刻度
tick_separation = 3p
...
<tick>
# 特定分组的最小刻度间距
tick_separation = 2p
...
</tick>
...
</ticks>
这个参数主要用于在缩放图像时自动调整刻度
因为 circos
支持局部调整大小,该参数被用于自动显示或隐藏刻度,该值应该始终保持在 2-3
个像素,保证你的刻度线不会乱串
注意:刻度线间隔只会在每个 <tick>
块内部检查是否重叠,而不会在 <tick>
块之间检查
刻度线厚度对刻度间距没有影响,刻度之间的距离是根据位置计算的
来看一个例子
chromosomes_units = 1000000
chromosomes_display_default = no
chromosomes = hs1;hs2;hs3:0-100;
chromosomes_scale = hs1:0.5;hs2:1;hs3:6.5
<ticks>
radius = dims(ideogram,radius_outer)
multiplier = 1e-6
label_offset = 5p
thickness = 4p
size = 20p
# ticks must be separated by 10 pixels in order to be displayed
tick_separation = 15p
<tick>
spacing = 0.25u
color = red
show_label = no
label_size = 12p
format = %.2f
</tick>
<tick>
spacing = 0.5u
color = blue
show_label = no
label_size = 12p
format = %.2f
</tick>
<tick>
spacing = 1u
color = green
show_label = no
label_size = 12p
format = %.2f
</tick>
<tick>
spacing = 5u
color = black
show_label = yes
label_size = 20p
format = %d
</tick>
<tick>
spacing = 10u
color = black
show_label = yes
label_size = 24p
format = %d
</tick>
</ticks>
在这个例子中,绘制了 3
条染色体,根据放大倍数的不同,由于某些位置的刻度间隔接近 tick_separation
参数值而被压缩了
0.25u
和 0.5u
刻度线没有出现在 hs1,0.25u
的刻度线没有出现在 hs2
在这张图中,我们只绘制了 1
号染色体,并将 100-110Mb
区域放大 10
倍
因此刻度线的间距所表示的距离相应的减小了 10
倍,所以,原先看不出来的红色刻度线也全部显示出来了
2.2 ideogram 边缘的最小刻度
想要压缩染色体边缘的刻度,可以使用 min_distance_to_edge
参数
该参数既可以在 <ticks>
块中设置全局间距,也可以在 <tick>
块中设置局部间距
<ticks>
min_distance_to_edge = 10p
...
<tick>
min_distance_to_edge = 5p
...
</tick>
...
</ticks>
3. 刻度线 —— label margins
与刻度线类似,可以调整刻度标签之间的间距,增加可读性
如果没有绘制刻度线,那么相应的刻度标签也不会被绘制,因此,压缩刻度线也就压缩了刻度标签
使用 label_separation
参数控制标签分隔,该参数与 tick_separation
类似,不会绘制与另一个标签之间距离小于此距离的标签
<ticks>
tick_separation = 2p
label_separation = 5p
...
<tick>
tick_separation = 5p
label_separation = 10p
...
</tick>
...
</ticks>
标签与刻度线边距的机制是一样的,这里不再赘述
如果要关闭重叠检查,可以将其设置为 0
3.1 染色体边缘的最小标签距离
使用 min_label_distance_to_edge
参数控制,与刻度线参数 min_distance_to_edge
一样
3.2 压缩分组中第一和最后一个刻度
使用 skip_first_label
和 skip_last_label
参数
<ticks>
skip_first_label = yes
skip_last_label = yes
...
<tick>
skip_first_label = no
...
</tick>
...
</ticks>
该参数的目的是减少染色体边缘附近的标签混乱
作用与 min_label_distance_to_edge
类似
chromosomes_units = 1000000
chromosomes_display_default = no
chromosomes = hs1;hs2;hs3:0-100;hs4:100-150
chromosomes_scale = hs1:0.5;hs2:1;hs3:4;hs4:8
4. 刻度线 —— offsets
刻度及其标签的径向位置可以通过 offsets
参数控制
4.1 刻度线偏移
偏移参数 offsets
可以在 <ticks>
和 <tick>
块内设置
其单位可以是像素点 p
,或相对值 r
(相对于 ideogram
的厚度)
该参数可以同时应用于刻度及其标签,只移动刻度不移动标签那不是乱套了吗
<ticks>
...
offset = 2p
...
<tick>
offset = 1p
...
</tick>
</ticks>
4.2 刻度标签偏移
设置了刻度的偏移就是同时设置了标签的偏移,但是标签有其独立的偏移参数 label_offset
,设置该值并不会影响刻度线
其相对值为相对于刻度的大小
<ticks>
...
label_offset = 0.4r
...
<tick>
label_offset = 2p
...
</tick>
</ticks>
下面的例子,设置偏移为 0
offset = 0p
5. 网格(grids)
你可以对任何刻度添加径向网格,网格将会绘制在高亮的最上层,其他数据的后面
网格的径向起始和终止位置可以在 <ticks>
和 <tick>
块内设置
show_grid = yes
<ticks>
grid_start = 0.5r
grid_end = 0.975r
grid_color = black
grid_thickness = 2p
...
<tick>
spacing = 1u
...
grid = yes
grid_color = grey
grid_thickness = 1
grid_start = 0.55r
grid_end = 0.95r
</tick>
<tick>
spacing = 5u
...
grid = yes
grid_color = dgrey
grid_thickness = 2
grid_start = 0.6r
grid_end = 0.925r
</tick>
<tick>
spacing = 10u
...
grid = yes
grid_color = black
grid_thickness = 2
</tick>
</ticks>
图片长这样