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

circos 学习手册(三)

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

配置文件语法(续)

4 动态执行参数

在配置文件中,通常以如下方式设置一个常量

variable = value

例如

color = blue

但是,有时候,你可能想用另一个参数的值或函数来指定配置参数的值。

4.1 访问配置参数的值

可以使用语法将一个参数的值赋值给另一个参数

parameter2 = conf(parameter1)

或者,用指定块内的参数赋值

parameter2 = conf(block1,parameter1)
parameter2 = conf(block1,block2,parameter1)
...

举个例子

<plots>
 show_histogram = yes
 <plot>
  show = conf(plots,show_histogram)
  type = histogram
  ...

在解析配置文件的时候,会将所有 conf(parameter) 替换成对应的 parameter 的值

使用这个语法时,需要确保包含参数的完整块路径,如

<block1>
<block2>
parameter1 = ...
</block2>
</block1>

要使用 conf(block1,block2,parameter1) 获取对应的值

如果你想要在当前块引用参数并向上层进行搜索,可以用 . 代表路径

<plots>
 <plot>
  type = histogram
  r0   = 0.5r
  r1   = conf(.,r0)+50p
  ...

这种方式在 rules 中非常有用

<plots>
 <plot>
  x    = 10
  ...

  <rules>
   <rule>
   # x 没有在这个块中定义,但是会
   # 在外面的块中搜索
   condition = conf(.,x) == 10
   ...

4.2 访问数据属性

<rules> 中,可以用 var() 函数来获取数据点属性,如位置或者值等信息

<rule>
COLOR = var(ID)

4.3 对参数执行操作

任何参数都可以编写为 Perl 代码并在运行时执行

但是必须将参数写在 eval 函数内

thickness = eval(1+1)
color     = eval("b"."l"."u"."e")

eval 函数能够非常方便的推断和操作其他配置文件中的参数

track_color = blue
track_width = 100
track_start = 0.5

<plots>
<plot>

# color=blue
color = conf(track_color)
# r0  = 0.5r
r0    = eval(conf(track_start) . "r")
# r1  = 0.5r+100p
r1    = eval(conf(track_start) . "r" + conf(track_width) . "p")
</plot>
</plots>

conf(track_color) 会做简单的替换,并不需要使用 eval 函数,如果你要对参数值进行操作,不需保证 eval 函数内的表达式是一个有效的可执行代码

因为 eval 参数需要书写正确的 perl 语法,因此错误率很高

注意:最常犯的错是忘记加引号

## OK
x = eval( 1.05 . "r" )
## NOT OK,perl 会将 r 作为一个裸词,引发错误
x = eval( 1.05 . r )
覆盖值

上面已经提到过,通常,只有少数参数能够设置多个实例,大多数参数都不支持多个实例

那如何覆盖原来的值呢?

<ideogram>
position = 0.9r
position* = 0.8r # this value will be used
...
</ideogram>

通过在参数名称添加后缀 *,将会用新值来覆盖原来定义的值

你可以在参数名后面添加任意多的 *,而参数最后的值是 * 最多的那次的赋值

5 字体

字体文件在 fonts 文件夹下

light          = fonts/modern/cmunbmr.otf # CMUBright-Roman
normal         = fonts/modern/cmunbmr.otf # CMUBright-Roman
default        = fonts/modern/cmunbmr.otf # CMUBright-Roman
semibold       = fonts/modern/cmunbsr.otf # CMUBright-Semibold
bold           = fonts/modern/cmunbbx.otf # CMUBright-Bold
italic         = fonts/modern/cmunbmo.otf # CMUBright-Oblique
bolditalic     = fonts/modern/cmunbxo.otf # CMUBright-BoldOblique
italicbold     = fonts/modern/cmunbxo.otf # CMUBright-BoldOblique

如果要设置自己的字体,可以将你的字体 TTF 文件拷贝到 fonts 文件夹下,然后在 fonts.conf 配置文件中引入

6 单位

配置文件中定义的许多参数都需要单位

  • b(base) - 表示距离
  • p(pixels) - 像素大小:轨迹半径,标签大小,字形大小
  • r(relative) - 相对量,比如 label radial padding 相对于 label width 的大小
  • u(chromosome units) -
  • n (no unit) - 无单位值的显式后缀

有后缀的值可以混合使用

# 1 pixel padding
padding = 1p 
# relative padding (e.g. relative to label width)
padding = -0.25r

# radius of track (relative to inner ideogram radius)
r0 = 0.5r
# combination of relative and pixel values
r1 = 0.5r+200p

(未完,待再续......)

相关文章

  • circos 学习手册(三)

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

  • circos 学习手册(二)

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

  • circos 学习手册(四)

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

  • circos 学习手册(一)

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

  • circos 学习手册(五)

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

  • circos 学习手册(七)

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

  • circos 学习手册(六)

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

  • circos 学习手册(三十)

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

  • circos 学习手册(九)

    ideogram(四) 7、可变半径 默认情况下,每个 ideogram 都放置在相同的径向位置,可以通过 块...

  • circos 学习手册(十)

    highlights(一) 1. wedge highlights 高亮是一种特殊的轨迹类型,用于高亮显示图形区域...

网友评论

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

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