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

circos 学习手册(十八)

作者: 名本无名 | 来源:发表于2020-12-25 17:28 被阅读0次

link 和 relationships(三)

5. link rules - Part II

规则 rule 可以允许你定制分层和格式化你的 link

上节,我们了解了如何根据染色体改变 link 的颜色

在这一节中,我们将展示如何根据 link 的染色体或基于位置和 link 末端的大小来对 link 进行分层和格式化

5.1 多条件

一个规则可以有多个条件参数。它们使用 AND 进行连接,即所有条件都要满足。

例如,测试 link 是否在染色体之间的且起始大小是否大于 40kb

<rule>
condition = var(interchr)
condition = var(size1) > 40kb
...
</rule>

也可以组合在一个参数内

condition = var(interchr) && var(size1) > 40kb

记住:条件使用 AND 组合,而不是 OR

5.2 帮助函数

下面几个帮助函数可以简化测试数据点的位置

  • on(CHR):数据所在染色体 CHR上返回 1,对于 links 将测试两端点
  • from(CHR):如果 link 起始点在染色体 CHR 上,返回 1,只用于 link
  • to(CHR):如果 link 结束在染色体 CHR,返回 1,只用于 link
  • between(CHR1,CHR2)linkCHR1CHR2 之间返回 1,忽略方向,只用于 link
  • fromto(CHR1,CHR2):如果 link 是从 CHR1CHR2 返回 1,只用于 link
  • tofrom(CHR1,CHR2):如果 link 是从 CHR2CHR1,返回 1,只用于 link

on() 函数还有一个变体,用于测试染色体以及坐标

  • on(CHR,START,END),如果数据点在染色体 CHR 的区间 START-END 内,返回 1link 测试两端

要测试数据点坐标是否完全落在区间内

  • within(CHR,START,END),如果数据点完全落在染色体 CHR 的区间 START-END 内,返回 1link 测试两端

5.3 示例

<rules>

<rule>
  
condition  = var(interchr) 
condition  = within(hs2,40Mb,80Mb)
z          = 60
color      = red
thickness  = 5
</rule>

<rule>
condition  = max(var(size1),var(size2)) > 40kb
z          = 50
color      = green
thickness  = 5
</rule>

<rule>
condition  = max(var(size1),var(size2)) > 10kb
z          = 45
color      = dgrey
thickness  = 4
</rule>

<rule>
condition  = max(var(size1),var(size2)) > 5kb
z          = 40
color      = grey
thickness  = 3
</rule>

<rule>
condition  = max(var(size1),var(size2)) > 1000
z          = 35
color      = lgrey
thickness  = 2
</rule>

</rules>

第一条规则,为任何一端位于 hs2:40-80Mb 区域的 link 添加颜色为红色

后面 4 条规则根据 link 末端的最大最小值更改颜色和厚度。最大的末端的 link 被绘制成绿色,后续规则测试较低的尺寸

image.png

6. link rules - Part III

rule 可以影响 link 的几何形状。我们修改前面的例子,使连接延伸到染色体的外径

image.png

下面的例子,将对染色体内的连接进行了采样。第一条规则将隐藏其两端彼此间的距离在 1Mb 以内的任何对象。

这里使用 var(pos1)var(pos2) 对连接的开始和结束位置进行中间采样

第二条规则应用于末端在 50Mb 以内的染色体连接,这些设置为蓝色并通过设置 bezier_radius 大于 1 使其朝外。

最后一条规则禁止任何其他染色体内的连接,即两端间距超过 100 Mb 的连接

<rule>
condition  = var(intrachr)
condition  = abs(var(pos1) - var(pos2)) < 1Mb
show       = no
</rule>

<rule>
condition  = var(intrachr)
condition  = abs(var(pos1) - var(pos2)) < 50Mb
color         = dblue_a2
bezier_radius = 1.1r
bezier_radius_purity = 0.25
</rule>

<rule>
condition  = var(intrachr)
condition  = abs(var(pos1) - var(pos2)) < 100Mb
color         = dgreen_a2
crest         = 2
bezier_radius = 0.75r
bezier_radius_purity = 0.25
</rule>

<rule>
condition  = var(intrachr)
show       = no
</rule>
image.png

7. link rules - Part IV

规则可以基于 link 特征函数设置格式化值。例如,你可以将 link 的厚度定义为与 link 的跨度大小成正比。

在前面的示例中,规则将常量赋值给格式参数

<rule>
...
thickness = 2
color     = red
</rule>

若要根据连接的特征指定值,可以使用 eval

<rule>
...
thickness = eval(max(1,round(var(size1)/1000)))
</rule>

eval() 将解析参数,并将其分配给参数。上面的 tickness 将连接的第一个跨度的大小除以 1000

如果跨度为 28kb,则厚度为 28.如果小于 500bp,则厚度为 1

对于本例的图像,我设置了四个表达式,它们都使用 eval 为连接指定厚度,半径,颜色和 z 深度的变量值

<rule>
condition  = 1
thickness  = eval(sprintf("%d",remap_round(max(var(size1),var(size2)),1,25000,2,6)))
radius     = eval(sprintf("%fr",remap(min(var(size1),var(size2)),1,25000,0.5,0.999)))
color      = eval(sprintf("spectral-11-div-%d",remap_round(scalar min(var(size1),var(size2)),1,25000,1,11)))
z          = eval(int(max(var(size1),var(size2))/100))
</rule>

厚度与跨度的大小成比例,max 函数取两个断点中跨度较大的值,remap_round() 函数将大小重新映射到 [2,6],并赋值给 tickness 参数

对半径和颜色应用了类似的重映射,我们将颜色映射到 [1,11],这是 Brewer 调色板的颜色范围

z-depth 表达式根据较大的跨度将连接有效的划分为 100bp 的存储单元。首先绘制与较小块跨度相关的 link,避免花费太多的时间来绘制单元,本例的规则也可以表示为

z = eval(int(max(var(size1),var(size2))/500))

z = eval(int(max(var(size1),var(size2))/1000))

可能不会对最终的图像造成太大影响

image.png

相关文章

  • circos 学习手册(十八)

    link 和 relationships(三) 5. link rules - Part II 规则 rule 可...

  • circos 学习手册(二十八)

    技巧(三) 10. ID 字段 本节将演示如何根据 ID 字段格式化数据 每个数据点都可以为格式化参数设置值,如 ...

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