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

circos 学习手册(十七)

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

link 和 relationships(二)

3. link formatting

通常,如果有多个数据文件,则每个文件都与自己的 <link> 块相关联

<links>

 # global parameters here
 ...

 <link>
  file = /path/to/file
  # local parameters for this data set
  ...
 </link>

 <link>
  file = /path/to/file
  # local parameters for this data set
  ...
 </link>

 ...

</links>

当在一个图像中组合多个 link 数据时,需要记住几件事

  • 首先,要为每个数据集设置想要的 z-depthz 值高的绘制在低的数据集之上。在这个例子中,我用浅灰色(z=5)绘制前 10000 条记录,然后用浅灰色(z=10)绘制前 2500 条记录,然后用灰色(z=15)绘制前 1000 条记录,以此类推

  • 其次,可以为每个数据集调整几何形状。在这个例子中,我修改了 crestbezier 半径纯度的值

  • 最后,颜色和厚度可以有效帮助数据分层。通常用浅色细线绘制 z 值较低的 link

image.png

4. link rules - Part I

rules<plot><link> 块中特殊的块,它根据位置、值、格式或者与数据有关的任何其他属性

一般格式是

# for 2D plots
<plots>

 <plot>

 <rules>

  <rule>
  ...
  </rule>

 </rules>

 </plot>

</plots>

# for links
<links>

 <link>

 <rules>
  <rule>
  ...
  </rule>

 </rules>

 </link>

</links>

每个 <link> 块可以有一个关联的 <rules> 块,该块又包含一个或多个 <rule> 块。每个 <rule> 块都包含一个测试条件和格式参数。

link 通过测试条件,rule 块中的格式化参数将会应用于该 link

数据点被独立测试

rule 将独立应用于每个数据点。数据点可以是高亮显示、直方图,散点图或连接。

rule 被应用到一个数据点时,你可以访问数据点的属性,但是不能访问其他数据点。也就是说,没有直接的机制能够反问邻接数据点,但是你可以通过将一个 prevnext 参数与数据点关联起来

hs1 0 9 0.25 next=0.5
hs1 10 19 0.5 prev=0.25,next=0.75
hs1 20 29 0.75 prev=0.5,next=1.00
...

rule 语法

每个 rule 必须包含一个 condition 参数,用于测试每个数据点

4.1 rule 条件

条件的格式是 perl 代码,会被自动执行而不需要显式使用 eval() 函数。

可以使用一些辅助函数来简化对多个参数的测试(如 between)。你可以在条件表达式中任何数值后面加上 kbmbgb 表示碱基对乘子

有些特定的关键字在运行时被解析,例如 var(FIELD) 函数可以访问单个数据点的属性,其中 FIELD 可以是:

  • CHRnlink 中跨度 n 的染色体号(e.g. var(chr1))
  • STARTn:跨度 n 的起始位置 (e.g. var(start2))
  • ENDn:跨度 n 的终止位置(e.g. var(end2))
  • POSn:跨度 n 的中间位置 (e.g. var(position1))
  • SIZEn:跨度 n 的大小(e.g. var(size1))
  • REVn:如果 link 末端位置倒序返回 1 (e.g. start > end)
  • INV:如果 link 是颠倒的,返回 1(两个末端只有一个发生颠倒)
  • INTERCHR:如果 link 末端在不同染色体上返回 1,否则返回 0(e.g. var(interchr))
  • INTRACHR:如果 link 末端在相同染色体上返回 1,否则返回 0(e.g. var(intrachr))

上述所说的跨度 n,表示连接的起始点和终止点,即 n=1(起始) 或 n=2(终止)

数字后缀仅应用于 link,并测试 link 的开始和结束,与单个坐标范围相关联的数据类型不使用数字后缀(eg,start

condition = var(chr1) eq "hs1"  # link starts on hs1
condition = var(size1) < 1mb    # link start span is shorter than 1Mb
condition = 1                   # always true for any link

4.2 条件测试

规则按以下顺序应用:

  • 首先,任何包含 importance 参数的规则,按照 importance 降序方式排序

  • 其次,任何不包含 importance 参数的规则,按照出现顺序排序。importance 参数允许你对规则优先级进行排序,而不必移动它们

当规则通过测试时,它将应用于数据点,此时,规则链是否终止,取决于 flow 参数

默认情况下,通过第一条规则便终止规则链,当规则失败时,将在数据点上测试下一个规则。直到通过规则测试或者规则都测试完毕为止

规则级联

默认情况下,当通过规则,将终止规则链

<rule>
# if this rule passes
</rule>

<rule>
# all subsequent rules are not tested
</rule>

可以通过设置 flow 参数来更改此行为。如果 flow=continue,那么通过的规则不再使用级联短路。后续规则将被测试

<rule>
...
flow = continue # if this rule passes, continue testing
</rule>

flow 参数可以有四个不同的值

# continue testing
flow = continue { if true|false }
# continue testing, but start at top of rule chain
flow = restart  { if true|false }
# stop testing
flow = stop     { if true|false }
# goto rule associated with tag=TAG
flow = goto TAG { if true|false }

你可以有多个 flow 参数以满足不同的情况

<rule>
...
flow = stop if false
flow = goto otherrule if true
</rule>

<rule>
tag = otherrule
...
</rule>

如果存在 flow 指令,则规则可能缺少条件,你可以使用以下方法短路所有规则

<rule>
flow = stop
</rule>

使用 goto 跳过不想测试的规则

<rule>
flow = goto myrule
</rule>

... rules you don't want to use

<rule>
tag = myrule
...
</rule>

规则示例

下面是个简单的例子

<link>

 <link>

 file       = data/5/segdup.txt

 <rules>

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

  <rule>
   condition  = between(hs1,hs2)
   color      = green
   z          = 10
   flow       = continue
  </rule>

  <rule>
   condition  = between(hs2,hs3)
   color      = blue
   thickness  = 2
   z          = 15
  </rule>

 </rules>

 </link>

</links>
  • 第一条规则是当 var(intrachr)true 时,通过设置 show=no 来关闭染色体 link 的显示

  • 第二条规则,将 hs1hs2 之间的所有 link 变为绿色,并将它们绘制在其他 link 的顶部。flow = continue 参数将测试后面的规则

  • 最后一条规则,将 hs2hs3 之间的 link 涂成蓝色,使其更厚,并进一步增加 z

image.png

相关文章

  • circos 学习手册(十七)

    link 和 relationships(二) 3. link formatting 通常,如果有多个数据文件,则...

  • circos 学习手册(二十七)

    技巧(二) 6. 复杂直方图 6.1 直方图填充 可以使用如下规则,基于直方图的 bin 值更改其填充色 6.2 ...

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