美文网首页
circos 学习手册(十三)

circos 学习手册(十三)

作者: 名本无名 | 来源:发表于2020-12-19 18:07 被阅读0次

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

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

相关文章

  • circos 学习手册(十三)

    刻度线、网格以及标签(一) 1. 刻度线 —— 基础 刻度、刻度标签以及网格是在 块中定义,一个 ...

  • circos 学习手册(二十三)

    2D 数据绘制(四) 6. 文本标签—Basic 文本标签轨迹将文本字符串与基因组范围相关联。文本是径向放置的,对...

  • circos 学习手册(二)

    配置文件语法 配置文件是通过 Config::General 模块进行解析的。 看过上一篇的朋友应该记得,完成 c...

  • circos 学习手册(三)

    配置文件语法(续) 4 动态执行参数 在配置文件中,通常以如下方式设置一个常量 例如 但是,有时候,你可能想用另一...

  • circos 学习手册(四)

    配置文件语法(再续) 7 颜色 在主配置文件中导入 etc/colors_fonts_patterns.conf ...

  • circos 学习手册(一)

    介绍 circos 以圆环的形式展示基因组数据及相关的注释信息,能够生成出版级别的图片,非常适合对染色体内、外关系...

  • circos 学习手册(五)

    数据文件 circos 的输入文件是纯文本数据文件 像染色体定义、数据( ),关系( ),强调(

  • circos 学习手册(七)

    ideogram(二) 2、ideogram 过滤 核型文件通常定义了基因组中的所有染色体,使用过滤器可以选择性的...

  • circos 学习手册(六)

    ideogram(一) 介绍 在生物学应用背景下,circos 图通常对应于染色体,组装的 contigs 或者克...

  • circos 学习手册(三十)

    技巧(五) 17. 自动化热图 17.1 更改热图颜色 热图的颜色是使用颜色列表指定的 或 计数器可用于动态更改配...

网友评论

      本文标题:circos 学习手册(十三)

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