首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

circos 可视化手册-ideogram 篇

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大类别

  1. 染色体的位置
  2. 染色体的颜色
  3. 染色体的标签

染色体的位置

circos提供了一个圆形的整体布局,用于展示染色体的数据,每条染色体可以看做圆上的一段弧。通过染色体到圆心的距离来定义染色体的位置。具体的就是通过radius参数进行定义。

circos中,关于这个参数的值,提供了两种定义的方式;

  1. 绝对值定义 绝对值的是通过像素定义,对应的后缀为p,代表pixels。比如radius = 1000p
  2. 相对值定义 相对值对应的后缀为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类似,有rp两种,通常情况下我们使用p,更加方便。比如thickness = 20p

对于染色体的显示,有以下两种方式

  1. 线段模式 这个模式是默认模式。在该模式下,染色体就当做一条线段,颜色采用karyotype中的最后一列。
  2. 矩形模式 在该模式下,每条染色体被当做一个可以填充的矩形,所以会有边框和填充两部分构成。

stroke_thicknessstroke_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例子如下:

下一篇
举报
领券