Circos 的核心就是配置文件的编写,在配置文件中,包含两个方面的内容:

  1. 数据
  2. 参数

作为一款可视化工具,毫无疑问肯定是需要建立在数据的基础上的。有了数据之后,如何展示,会有许多的参数需要设置和调整,这些参数就是我们需要理解和掌握的东西。

首先看一下配置文件的一个基本示例:

circos 配置文件解析_数据

这个配置文件是我从官方提供的​​tutorials​​​包中找的一个示例。对于​​circos​​的配置文件,需要理解以下3点:

  1. ​#​​开头的行代表注释
  2. 参数通过​​key = value​​的形式进行设置
  3. 通过​​include​​可以引入其他的配置文件

由于circos 中包含的参数非常多,如果全部写在一个配置文件中,会显得非常的臃肿,而且不利于管理和调试。为了解决这样的问题,circos 通过include 将其他文件中的配置导入到当前配置文件中,这里​​include​​的作用和C语言中的incldue 语法一样,都是一个字符串替换的作用。

比如上面例子中的​​<<include ideogram.conf>>​​​,​​ideogram.conf​​的内容如下:

circos 配置文件解析_ide_02

在执行的过程中,​​<<include ideogram.conf>>​​​这句话会直接替换成​​ideogram.conf​​​文件中的内容。通过这种​​include​​的方法,可以将一个复杂的conf 文件,按照模块拆分成多个,方便管理和维护。

有一点需要注意的是,​​circos​​查找配置文件的路径有两种:

基于当前目录的查找

通常情况下,软件会自动在当前目录查找名为​​circos.conf​​的配置文件,如果找不到,就会到当前目录的上级目录去找。

在软件安装目录代表查找

​circos​​的安装目录如下:

circos 配置文件解析_配置文件_03

其中的​​etc​​​目录下存储的是软件的默认配置文件,示例文件中的​​<<include etc/image.conf>>​​​就是导入目录下的配置。在​​etc​​目录下的配置是软件内置的,包括了字体,颜色,图片等内容的设置,在没有充分理解参数作用的前提下,不建议改动里面的内容。

以下3个系统的配置是必须导入的

circos 配置文件解析_数据_04

一般写在配置文件的最后即可。

如果众多的参数,​​circos​​根据功能的不同划分成了不同的block。不同模块直接构成了如下的树状结构

circos 配置文件解析_ide_05

可以看出有些模块之间存在嵌套关系,是一个父节点和子结点的关系。在右侧的4个​​block​​​ ,是系统内置的,左侧的​​block​​ 是入门阶段需要去掌握的。

对于​​block​​​, 采用​​html​​​类似的闭合标签的写法,比如上文中​​ideogram.conf​​的例子。

了解了配置文件的整体结构,接下来就是各个击破,详细了解每个block各项参数的含义和用法即可。