circos 学习手册(二十)

2D 数据绘制(一)

2D 数据的绘制语法与 link 类似,在 块中每个 块定义一个图形,包括绘制格式以及数据文件,还可以包含

circos 支持几种类型数据的图像,像散点图、折线图、热图、直方图等。

下面我们先以散点图为例,来简单说明绘制语法

1. 散点图

我们使用的数据记录的是每 100kbSNP 密度

1.1 默认设置

每个 都有默认的参数设置,在 etc/tracks 中定义了

# etc/tracks/scatter.conf
glyph            = circle
glyph_size       = 10
color            = grey
stroke_color     = black
stroke_thickness = 0
r1               = 0.79r
r0               = 0.7r
orientation      = out

这些设置会应用于每个类型 type=scatter 块,你可以使用 undef 取消定义

stroke_color = undef

1.2 基本散点图语法

各种二维数据类型图像的格式参数基本相同,但是会有一些例外。对于散点图,基本定义如下





show  = yes
type  = scatter

file  = data/6/snp.density.txt
r1    = 0.75r
r0    = 0.90r
max   = 1.0
min   = 0.0

glyph            = rectangle
glyph_size       = 8
color            = red
stroke_color     = dred
stroke_thickness = 1




circos 学习手册(二十)_第1张图片
image.png

参数含义:

  • show - 与高亮及连接一样,是否显示图像
  • type - 绘图的类型,可以使散点图、直方图、热图等
  • file - 需要绘制的数据文件
  • min/max - 绘制范围,超过范围的数据将被裁剪
  • r0/r1 - 绘制图像的内径和外径,像高亮一样,支持绝对值和相对值(也可混合使用)
  • glyph - 散点图符号的形状,可以是圆形、矩形或三角形之一
  • glyph_size - 符号的大小,像素单位
  • color - 符号的填充色
  • stroke_color - 符号的轮廓颜色
  • stroke_thickness - 符号的轮廓的厚度,像素单位

数据格式

chr start end value options

注意valuestart-end 指定的范围相关联,而不是碱基对的位置

# value 0.005 at span 1000-2000
hs1 1000 2000 0.005
# value 0.010 at span 2001-2001, e.g. a single base position
hs1 2001 2001 0.010

circos 使用数据文件的起始和结束位置,是为了保持数据与 link 文件一致。

图形符号会绘制在跨度(start-end)的中间,因此,上面的符号将会在 15002001 位置绘制

min/max 范围之外的数据点不会绘制,所以,你并不需要用规则把这些点剔除。

1.3 图像背景

r0r1 参数定义了图像的径向起始和终止位点。

你可以使用 块添加背景填充。



color = vvlgrey


通过定义多个 background 块,可以对背景填充设置条纹和分层。用 y0y1 定义填充的径向范围



color     = vlgrey
# absolute fill range
y1        = 0.5
y0        = 0


color     = vlred
# relative fill range
y1        = 1r
y0        = 0.75r


circos 学习手册(二十)_第2张图片
image.png

1.4 绘图轴

你可以使用 块在绘制的图像内添加一组 y 轴网格线



color     = red_a5
thickness = 1
spacing   = 0.025r


color     = red_a3
thickness = 2
spacing   = 0.1r


这个轴是一系列具有固定间距的同心圆弧。间距值可以使绝对值或相对值

1.5 绘制格式规则

格式化规则的使用与 link 类似,可以在条件字段中使用 var(value) 来表示特定值的数据点。如


condition    = var(value) > 0.5
stroke_color = dgreen
color        = green
glyph        = rectangle
glyph_size   = 6

circos 学习手册(二十)_第3张图片
image.png

这一规则会将值大于 0.5 的所有点变成深绿色轮廓、绿色填充色以及大小为 6 的矩形符号

当然,你也可以在 rule 内部设置 show=no 来隐藏某些数据点

2. 折线图

折线图与散点图的不同之处在于,在每个点位置没有绘制符号,而是用线把这些点连接起来。

折线图的格式与散点图非常相似,但是有以下区别。

  • type=line
  • glyphs - 没有 glyph 参数,也就没有 glyph_size 参数
  • stroke_thicknessstroke_color 变成了 thicknesscolor
  • 距离大于 max_gap 的相邻点不会用线连接起来,避免数据中较大的间隙

min/max 数据范围之外的点防止在 min/max 极值点。因此,如果许多相邻的点落在数据范围之外,则连接线可能会沿着绘图的底部或顶部延伸

如果要从数据集中删除这些点,可以在 rule 中设置 show=no

例如,如果你的 min/max 值为 0/0.5,那么该规则将删除范围之外的点,使其不会影响绘制线条的方式



condition  = var(value) < 0 || var(value) > 0.5
show       = no


image.png

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