circos 学习手册(十三)

刻度线、网格以及标签(一)

1. 刻度线 —— 基础

刻度、刻度标签以及网格是在 <ticks> 块中定义,一个 <ticks> 块可以包含任意数量的 <tick>,每个 <tick> 块之间有不同的间距

<ticks> 块中包含全局刻度参数,如 colormultiplierformat

其所有参数都会被每个 <tick> 块继承,因此可以在每个 <tick> 块中重新定义这些参数

建议将 tick 配置保存在一个单独的配置文件中,通常是 ticks.conf,然后在主配置文件中导入

# circos.conf
<<include ticks.conf>>
...
1.1 切换刻度的显示

可以使用 show_ticksshow_tick_labels 控制是否绘制刻度线及其标签

show_ticks       = yes
show_tick_labels = yes

仅在绘制刻度线时才绘制刻度标签,在这里,刻度线是指的是径向线,表示随着 ideogram 距离前进。

刻度线标签是用于标记刻度线的位置的随附文本元素

如果需要绘制大量的标签(1000个),可能需要等待较久的时间才能画出来,你可以在命令行中使用 -noshow_ticks 标志跳过刻度线

> bin/circos -noshow_ticks ...

同样的,你可以指定 -noshow_tick_labels 禁止标签绘制

1.2 全局和局部刻度参数

<ticks> 块包含全局刻度参数以及多个 <tick> 块,来指定如何格式化给定间隔或指定位置上的刻度

全局参数会影响每个 <tick>,但在每个 <tick> 块内部可以用不同的值覆盖它们

<ticks>

  ... global tick parameters ...

  <tick>
  ... tick level parameters ...
  </tick>

  <tick>
  ... tick level parameters ...
  </tick>
  ...

</ticks>

其中最基本的三个参数是 radius, label_multiplierorientation

1.3 tick radius,multiplier and orientation

radius 指定刻度线的径向位置,通常会将其设置在 ideogram 的外半径上

label_multiplier 用于获取刻度标签,例如,当其值为 1e-6,那么在 10000000 位置的刻度线的标签就是 10

该乘数应用于原始的刻度值,与 chromosomes_unit 值无关

orientation 控制刻度及其标签的朝向

  • 朝外 orientation=out
  • 朝内 orientation=in

ideogram 上绘制标签时,如果是在外径处绘制,应该设置为 out,如果在内径绘制,应该设置为 in,防止刻度及标签与 ideogram 重叠

radius           = dims(ideogram,radius_outer)
label_multiplier = 1e-6
orientation      = out

注意:对于 radius,你可以使用 dims() 关键字指定半径,这个关键字带有两个参数,第一个是 feature,第二个是想要获取的 feature 的参数的值

如果你不想绘制在 ideogram 上面,想向外移出一点,可以设置

radius = dims(ideogram,radius_outer) + 25p

有时,你会想在图像半径内绘制刻度线,很简单,把相对位置换成图像就行了

radius = dims(image,radius) - 25p

你还可以指定多个半径值,这样就会创建多个刻度线

1.4 刻度间距

tick 的位置由间隔(相邻 tick 之间的距离)或特定位置控制,间距可以是绝对值也可以是相对值(相对于 ideogram 的长度)

通常,可以在 tick 内部定义刻度线显示的间距,例如下面的例子中,三条刻度线分别设置了 1Mb,5Mb,10Mb 的间距,其中 uchromosomes_units=10_000_000 定义

<ticks>

  radius               = dims(ideogram,radius_outer)
  multiplier           = 1e-6

  <tick>
  spacing = 10u
  ... parameters for ticks every 10u (=10Mb)...
  </tick>

  <tick>
  spacing = 5u
  ... parameters for ticks every 5u (=5Mb)...
  </tick>

  <tick>
  spacing = 1u
  ... parameters for ticks every 1u (=1Mb)...
  </tick>

</ticks>

刻度线以间距降序的方式绘制,因此 10u 的刻度先绘制,然后是 5u,最后是 1u

一般不能在已经绘制了刻度线的地方绘制更小的刻度线,除非设置了 force_display 参数

注意:最好不要绘制太多的刻度线,会等到天荒地老的。合理设置好 chromosomes_units 和刻度间隔

1.5 刻度线参数
  • spacing - 刻度线之间的距离,单位 u (chromosomes_units)b(base)
  • chromosomes - 可选的染色体列表,表示是否绘制刻度线
  • size - 刻度线长度,p(pixels)r(relative)相对于 ideogram 的厚度
  • thickness - 刻度线的粗细,pr 相对于刻度线的大小
  • color - 刻度线及其标签的颜色
  • show_label - 是否显示刻度线标签,只有在 show_tick_labels 设置了的情况下发挥作用
  • label_size - 刻度标签大小,pr,相对于刻度的大小
  • label_offset - 标签与刻度线末端之间的填充大小,pr,相对于刻度的大小
  • format - 刻度线标签的格式化字符串格式
1.6 通过 ideogram 切换刻度线显示

你可以在 <ticks><tick> 块内部设置需要显示刻度的染色体

<ticks>
chromosomes_display_default = yes
chromosomes = -hs1;-hs2:0-50;-hs3:100-)
...
</ticks>

当然,如果你不想显示某一染色体区域的刻度线,可以在块中设置 chromosomes 参数

<ticks>
chromosomes_display_default = yes
chromosomes = -hs1;-hs2:0-100;-hs3:100-)

<tick>
spacing     = 10u
chromosomes = -hs2
...
</tick>

...
</ticks>

这样可以删除 hs2 染色体上 10Mb 的刻度线,<ticks><tick> 两个块内部定义的染色体会合并显示

上面定义了 chromosomes_display_default = yes,默认会显示全部刻度线

如果 chromosomes_display_default = no,你需要定义在哪里显示刻度,哪些区域需要被排除在外

<ticks>
chromosomes_display_default = no
chromosomes = hs1;hs2:0-100;hs3:100-)
...
</ticks>

可以在多个 <tick> 块中组合需要绘制或不绘制的区域

<ticks>
chromosomes_display_default = no
chromosomes = hs1;hs2:0-100;hs3:100-)

<tick>
spacing     = 5u
chromosomes = hs4
</tick>

<tick>
spacing     = 10u
chromosomes = -hs2;hs5
</tick>

</ticks>

最后来个例子

show_ticks          = yes
show_tick_labels    = yes

<ticks>

chromosomes_display_default = no

chromosomes          = hs1;hs2:0-100;hs3:100-)

radius               = dims(ideogram,radius_outer)
label_offset         = 5p
orientation          = out
label_multiplier     = 1e-6
color                = black

<tick>
spacing        = 1u
size           = 8p
thickness      = 2p
color          = dgrey
show_label     = no
</tick>

<tick>
chromosomes    = hs4
spacing        = 5u
size           = 12p
color          = dred
thickness      = 2p
show_label     = yes
label_size     = 20p
label_color    = dred
label_offset   = 3p
format         = %d
</tick>

<tick>
chromosomes    = -hs2;hs5
spacing        = 10u
size           = 14p
thickness      = 2p
show_label     = yes
label_size     = 24p
label_offset   = 5p
format         = %d
</tick>

</ticks>
image.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

名本无名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值