circos 主要用于展示染色体上的相关数据,根据在染色上的位置进行不同方式的可视化。 首先我们需要一个染色体的位置文件。在circos 中,染色体的位置保存在一个文件当中,通过karyotype 参数进行设置,比如 染色体的位置保存在文件karyotype.human.txt 中,部分内容如下: 采用\t 分隔,共7列内容。前两列内容是规定的,都是chr\t- ,表示这部分内容是定义染色体相关信息的,第3列是染色体的ID, ID必须是唯一的,用于区分不同的染色体,第四列代表染色体的名字,这个名字会显示在最终生成的图片中;第五列和第六列分别代表起始位置和终止位置,这里的长度都是染色体的总长度,最后一列代表的是染色体的颜色,只不过采用了chr 前缀来表示颜色,注意不要和染色体的ID和name 搞混淆了。 在circos 中,内置了许多的颜色,相关的配置保存在软件安装目录的etc/colors.conf 文件中,其中etc/colors.ucsc.conf 文件中采用RGB标准,定义了chr的各种颜色值。 从这里也能够看出,上面的`karyotype.human.txt``文件中,颜色是如何通过最后一列的内容定义的。 染色体的基本参数在ideogram 中进行定义。所有的参数可以分成以下3大类别 染色体的位置 染色体的颜色 染色体的标签
染色体的位置circos 提供了一个圆形的整体布局,用于展示染色体的数据,每条染色体可以看做圆上的一段弧。通过染色体到圆心的距离来定义染色体的位置。具体的就是通过radius 参数进行定义。
在circos 中,关于这个参数的值,提供了两种定义的方式; 绝对值定义 绝对值的是通过像素定义,对应的后缀为p,代表pixels。比如radius = 1000p 相对值定义 相对值对应的后缀为r ,代表relative的意思。在etc/image.generic.conf 文件中,定义了参照的radius
radius of inscribed circle in image radius = 1500p
所以我们在配置文件中定义的radius = 0.80r , 实际等于0.8 * 1500 = 1200 像素。 染色体之间的间距通过spacing 这个block 进行定义,default 参数设置所有染色体之间的默认距离 如果你希望改变某两条染色体之间的距离,可以通过pairwise 这个block, 用法如下 通过染色体的ID 指定具体的两条染色体,之间用; 分隔,然后通过spacing 参数进行定义它们之间的距离。 需要注意的是,这里采用的相对值的定义方法,上面例子中的 20r 代表的是相对default是20倍的距离,所以使用相对值时,一定要理解相对的参照是哪一个。 染色体的颜色通过thickness 定义染色体的宽度,单位和radius 类似,有r 和p 两种,通常情况下我们使用p ,更加方便。比如thickness = 20p 。 对于染色体的显示,有以下两种方式 线段模式 这个模式是默认模式。在该模式下,染色体就当做一条线段,颜色采用karyotype 中的最后一列。 矩形模式 在该模式下,每条染色体被当做一个可以填充的矩形,所以会有边框和填充两部分构成。
stroke_thickness 和 stroke_color 定义边框宽度和颜色。如果希望有填充色,需要设置fill=yes , 此时会用karyotype 中的最后一列定义的颜色填充这个矩形。
染色体的标签在karyotype 中,我们定义了染色体的名字,也叫做label , 关于label 有对应的一系列参数,调整它的显示。 默认情况下,这个名字并不会显示在图上;可以通过show_label 进行显示,比如show_label = yes 。 label 通过文字的形式展现在图上,label_font 设置字体,label_radius 设置位置,label_size 设置大小, label_parallel 设置label的方向,yes 代表和染色体方向平行,no 代表和染色体方向垂直。 一个完整的ideogram 例子如下:
|