circos 学习手册(二)

配置文件语法

配置文件是通过 Config::General 模块进行解析的。

看过上一篇的朋友应该记得,完成 circos 环境配置是需要安装这一 Perl 模块的。

所有相关功能都会在下面描述,但是对于有需求的朋友,可以浏览 Config::General 模块的的主页来了解这些文件的语法和解析细节。

Config::General 模块的主页:

https://metacpan.org/pod/release/TLINDEN/Config-General-2.50/General.pm

配置语法

1 简单语法

配置通过如下设置方式,变量 => 值

variable = value

虽然 Config::General 支持以空白符作为定界符,但是在 circos 中所有的定义都需要用 =

在一些情况下,参数支持列表(通常以逗号分隔)

param = value,value,...

在少数情况下,参数可以接受多个实例

radius = 0.9r
radius = 0.8r

如果你尝试为不支持的参数进行多重定义,则会引发错误

一些设置可以用 的方式包裹起来,形成一种层次结构

了解 xml 或者 html 文件的朋友应该很熟悉这种以 来划定块区域的方式


 thickness = 30p
 fill      = yes
 ...

一些块又可以包含其他块,例如数据配置,包含在 块中




 file      = data/set1.txt
 color     = black
 ...



 file      = data/set2.txt
 color     = red
 ...



注意:块标签必须配对,要有结束标签


...
 # <-- 缺少闭合标签,会报错

2 块标签

flag 值:

  • R,代表必须
  • M,代表允许多个块,块内容会合并
  • +,代表允许多个块
circos 学习手册(二)_第1张图片
块标签

2 指定配置参数的方式

可以在 4 个地方指定配置方式,重要性根据顺序增加:

  1. 在所有图形轨迹中配置全局数据点( 在 块标签内设置)
  2. 在给点图形轨迹中配置局部数据点(在 块标签内设置)
  3. 为单个数据点配置(在数据文件中配置)
  4. 使用规则块(在 块标签内设置)

根据上面的顺序,在 rule 内设置的参数值会覆盖 数据文件 中的值;

数据文件中的值会覆盖任何 块标签内设置的值;

又会覆盖上一层 块标签内设置的值。



# 全局参数
fill_color = white



... # 省略其他参数, 如 file, type, position, etc

# 在这个局部图形轨迹中,覆盖参数 fill_color 的值
fill_color = grey

# 在数据文件 data.txt 中:
#
# ...
# hs1 10 20 0.50 fill_color=dblue
# ...
# 这个数据点会覆盖上面的颜色


condition  = var(value) < 0.33
# 匹配条件筛选数据点,如,值小于 0.33 的
# fill_color 设置为 orange
fill_color = orange






如果你要画大量相似的图形,像直方图组,热图等,通过设置全局参数将非常方便


# 图形类型参数 type,指定为 heatmap,热图
type  = heatmap
min   = 0
max   = 1
# spectral-4-div 代表一个颜色列表,下面会介绍
color = spectral-4-div


file = data.1.txt
r1   = 0.6r
r0   = 0.5r
...



file = data.2.txt
r1   = 0.7r
r0   = 0.6r
...



file = data.3.txt
r1   = 0.8r
r0   = 0.7r
...



file = data.4.txt
r1   = 0.9r
r0   = 0.8r
...

上面的例子中,每张图具有相同的最大值、最小值以及同样的配色

而每个 块内部的参数,指定了只属于该模块的参数配置

3 外部导入

像一些参数配置是很少需要修改的,例如颜色和字体

为了保持主配置文件的模块化,可以使用 <> 来导入这些静态的值

circos 中,应该始终从 etc/ 目录下导入两个文件

# 颜色、字体和填充模式
<>
# 系统和 debug 参数
<>

etc/colors_fonts_patterns.conf 文件又导入一些其他文件

# etc/colors_fonts_patterns.conf


import(etc/colors.conf)



import(etc/fonts.conf)



import(etc/patterns.conf)

circos 要求这些块必须存在和设置值

通常,会将 ideograms 块单独存为 ideogram.conf

将刻度线格式存为 ticks.conf

因为这两个配置通常比较长,但是又和数据没有关系,可以通过外部文件导入方式,导入主配置中

<>
<>

因为,通常这两个文件会和 circos.conf 放在同一个文件夹下面,所以前面不需要加路径

如果你有一些参数很少改变,应该考虑把它存储在外部文件中

你可以在配置文件的任意位置用 <> 导入,如块内部


file = data.4.txt
r0 = 0.8r
r1 = 0.9r
<>

包含可以任意嵌套,疯狂套娃?哈哈

当你用 <> 导入时,circos 将会搜索下面的路径

  • CONFIG_FILE 的相对路径
  • CONFIG_FILE_PATH/etc 的相对路径
  • CIRCOS_PATH/etc
  • CIRCOS_PATH/../etc
  • CIRCOS_PATH/..
  • CIRCOS_PATH

(未完待续……)

你可能感兴趣的:(circos 学习手册(二))