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

circos 学习手册(十五)

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

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

6. 标签格式

在前面的教程中,刻度是由乘子 multiplierformat 参数设置的

乘数用于派生刻度标签的值(value = position * multiplier),format 格式化字符串控制标签的显示方式

例如:

chromosomes_units = 1000000

multiplier = 1/1u = 1e-6

format = %d:

10000000 = 10u => label = 10

format = %.2f
label => 10.00

6.1 multiplier

乘数有助于避免标签中出现大量的 0,例如

<ticks>
multiplier   = 1/1u
...

<tick>
 format = %d
 ...
</tick>

<tick>
 format = %.1f
 ...
</tick>
...
</ticks>

如果乘数为 1/1u,则间隔为 1Mb 的刻度的格式为 %d,如果间隔为 0.1Mb,格式为 %.1f

你可以调整刻度的乘数,例如

<ticks>
multiplier   = 1/1u
...

<tick>
 ...
</tick>

<tick>
 multiplier    = 1000/1u
 thousands_sep = yes
 ...
</tick>
...
</ticks>

第二刻度的级别为 1000/1u,会使得标签为 100000(如果设置 thousands_sep=yes,将显示 100,000) 而不是 100

6.2 模刻度

如果定义了 mod 的值,那么将会根据公式对刻度线执行模运算来调整标签

given

  mod = M

then

  tick_label = mod(tick_value,M) * multiplier

mod 参数在每个 <tick> 块中定义,其目的在于进一步降低刻度标签的复杂性,以获取更精细的刻度

例如,刻度间隔有 1u0.1u,u=1,000,000

multiplier = 1/1u

<tick>
spacing = 0.1u
mod = 1u
</tick>

那么刻度为 10,100000 的标签为

mod(10,100,000 , 1,000,000) * 1e-6 = 100,000 * 1e-6 = 0.1

而不是 10.1,如果将乘数定义为 10/1u,那么你的刻度就是这个样子的

0 1 2 ... 8 9 10 1 2 ... 8 9 20 1 2 ... 8 9 30 1 2 ...

6.3 刻度间距的单位

你应该始终以 u 为单位定义刻度线参数,使其与 ideogram 具有相同的长度比例

例如,哺乳动物基因组可能使用 1u=1000000,而较小的基因组可能使用 1u=1000

6.4 前缀和后缀

通过 prefixsuffix 参数为刻度标签添加前后缀

...
<tick>
suffix = kb
prefix = +
...
</tick>

也可以通过在 format 中添加前缀和后缀

<tick>
format = position %.1f kb
...
</tick>
image.png

7. 相对刻度

在前面的示例中,都是使用绝对距离标记刻度标签及其间隔,下面将介绍如何使用相对距离

有两个独立的相对刻度设置

  • 相对间距
  • 相对标签

相对间距用于将刻度线设置为相对于 ideogram 的长度

相对标签用于将刻度的标签格式化为相对于 ideogram 的长度

7.1 相对间距

使用 rspacingspacing_type 参数 设置相对间距,例如,在染色体上每隔 1% 放置一个刻度

<ticks>
<tick>
spacing_type = relative
rspacing     = 0.01
...
</tick>
...
</ticks>

注意:相对间距和绝对间距之间不会有冲突,你可以通过 spacing_type 参数 切换两种间距的显示

<ticks>
# relatively spaced
<tick>
spacing      = 10u
rspacing     = 0.01
spacing_type = relative
...
</tick>

# absolutely spaced
<tick>
spacing      = 10u
rspacing     = 0.01
spacing_type = absolute
...
</tick>
...
</ticks>

两种方式混合使用

<ticks>
# 假设 chromosome_units=1000000
<tick>
spacing      = 1u
spacing_type = absolute
...
</tick>

# 每 1% 放置一个刻度
<tick>
rspacing     = 0.01
spacing_type = relative
color          = red
...
</tick>
...
</ticks>
image.png

7.2 相对标签

当刻度线使用相对间距值时,其标签也设置为相对的才更有意义

使用 label_relativermultiplier 参数将标签设置为相对的

<tick>
spacing_type   = relative
rspacing       = 0.01
label_relative = yes
format         = %.2f
...
</tick>

你可以为标签定义相对乘子

下面的标签格式为 0.01 0.02 0.03 ...

<tick>
spacing_type   = relative
rspacing       = 0.01
label_relative = yes
format         = %.2f # labels will be 0.01 0.02 0.03 ...
...
</tick>

设置 rmultiplier = 100

<tick>
spacing_type   = relative
rspacing       = 0.01
label_relative = yes
rmultiplier    = 100 # labels will be 1 2 3 4 ... 
format         = %d
</tick>

标签的格式将变成 1 2 3 4 ...

再添加后缀

<tick>
spacing_type   = relative
rspacing       = 0.01
label_relative = yes
rmultiplier    = 100 
format         = %d
suffix         = %  # labels will be 1% 2% 3% ... 
</tick>

<tick>
spacing_type   = relative
rspacing       = 0.1
label_relative = yes
rmultiplier    = 10 
format         = %d
suffix         = "/10" # labels will be 1/10 2/10 3/10 ...
</tick>

7.3 相对刻度 —— 相对于染色体或 ideogram

如果一个 ideogram 就是一整条染色体,那么前面设置的相对刻度,是可以的

但是,如果你只是显示染色体的一部分,或者将其分割成多个 ideogram,那么你可能想要的是相对于 ideogram 而不是染色体来设置间隔

可以设置 rdivisor 参数

<tick>
spacing_type   = relative
rspacing       = 0.1
rdivisor       = ideogram
</tick>
image.png

8. 特定位置的刻度

到目前为止,我们设置的刻度都是由间距定义的

下面我们将介绍如何在特定位置定义刻度线

8.1 特定的绝对位置的刻度

若要在特定位置上设置刻度,需要使用 position 参数,而不是 spacing 参数

<ticks>

<tick>
# 定义位置
position     = 25u
...
</tick>

<tick>
# 多个位置
position     = 30u,32u,34u,40u
...
</tick>

</ticks>

使用 position 参数就不要再用 spacing 参数了

8.2 特定的相对位置的刻度

放置在相对位置,要用 rposition 并设置 spacing_type = relative

<tick>
rposition      = 0.5,0.7,0.9
spacing_type   = relative
color          = blue
label_relative = yes
format         = %.2f
</tick>

注意rspacingrposition 不要同时使用

8.3 ideogram 的起始和终止位置的刻度

定了了两个特殊的位置:startend,表示 ideogram 的起始和终止位置

同时,可以为这两个刻度指定任意字符串作为标签

<tick>
position = start
label    = 3'
...
</tick>

<tick>
position = end
label    = 5'
...
</tick>
image.png

9. 刻度环

如果定义了多个位置,circos 会自动在多个半径位置绘制刻度

<tick>
# drawn at one radius
radius = dims(ideogram,radius_outer)
...
</tick>

<tick>
# drawn at two radii
radius = dims(ideogram,radius_outer)
radius = 0.8r
...
</tick>

<tick>
# drawn at three radii
radius = dims(ideogram,radius_outer)
radius = 0.8r
radius = 0.6r
...
</tick>
image.png

相关文章

  • circos 学习手册(十五)

    刻度线、网格以及标签(三) 6. 标签格式 在前面的教程中,刻度是由乘子 multiplier 和 format ...

  • circos 学习手册(二十五)

    轴范围(一) 1. 全局范围调整 这部分教程的重点是调整 ideogram 的范围,包括全局和局部 它定义了图像上...

  • 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/ixddnktx.html