circos 学习手册(二十五)

轴范围(一)

1. 全局范围调整

这部分教程的重点是调整 ideogram 的范围,包括全局和局部

scale = size/degree

它定义了图像上每个 ideogram 的放大系数

默认情况下,你可以使用如下方式绘制全部或部分 ideogram

chromosomes_display_default = yes

所有 ideogram 都有相同的放大倍数。

1.1 增加图像大小

使所有内容变大的最简单方式是增加输出图像的大小。最好的方法是重写 <image> 块中的 radius 参数。

<image>
<<include etc/image.conf>>
radius* = 3000p
</image>

默认的值是 radius = 1500p,这一设置将创建大小为 3000*3000 像素的图像。

1.2 全局范围控制

在图像内,你可以调整单个 ideogram 或一组 ideogram 的放大倍数。

你可以使用 chromosomes_scale 参数调整每个 ideogram 的长度比例。

chromosomes_scale = hs1:0.2;hs2:0.2;hs3:0.2;hs8:5;hs9:5;hs10:5

0.2 倍绘制 123 号染色体,以 5 倍绘制 8910 号染色体。其他所有的 ideogram 都会适当缩放,以使所有元素都适配在圆圈内。

1.3 调整多个 ideogram 的范围

使用正则表达式对多个 ideogram 进行调整

chromosomes_scale = /rn/:0.5

正则表达式与列表组合

chromosomes_scale = /rn/:0.5;rn5:2

rn5 扩大 2 倍,其他都缩小 0.5

1.4 刻度和刻度标签的显示

通过在 <ticks> 中定义 tick_separationlabel_separation 参数,你可以在刻度及其标签比较密集的区域压缩它们的显示,有助于避免标签的过度拥挤。

另一个参数有助于管理刻度标签,它控制 ideogram 边缘的标签的显示。

<ticks>
tick_separation = 3p
label_separation = 10p
min_label_distance_to_edge = 10p
...
</ticks>
1.5 切换 ideogram 刻度的显示

更改 ideogram 的比例时,可能需要切换特定 ideogram 刻度的显示,以保持图像的干净。

要隐藏特定 ideogram 的刻度线,可以在 <tick> 中设置 chromosomes 参数

<tick>
chromosomes = -hs9
spacing     = 0.5u
...
</tick>

在特定 ideogram 上显示刻度

<tick>
chromosomes_display_default = no
chromosomes = hs9
spacing     = 0.5u
...
</tick>
image.png

2. 全局相对范围调整

在上一节中,我们展示了如何调整 ideogram 的大小。本节,你将学到如何绘制一个比其他 ideogram 大两倍的 ideogram

2.1 相对图像缩放

假设我们要更改人类染色体的比例,以使其恰好填满图像的四分之一,可以设置

scale(hs1) * size(hs1) / size(all displayed ideograms) = 0.25

更简单的方法是

chromosomes_scale = hs1:0.25r

r 表示相对于圆的周长

2.2 相对图像缩放多个 ideogram

通过正则表达式,可以调整多个 ideogram 的比例

chromosomes_scale = /mm/:0.1r

可以混合相对比例和绝对范围,但是相对比例总和不能超过 1,例如

chromosomes_scale = hs1:0.75r;hs2:0.75r

circos 不会检查比例表达式的完整性,有两个 ideogram 分别占据 0.75,将会产生奇怪的效果。

2.3 多个 ideogram 作为一组进行缩放

假设,所有小鼠染色体作为一个组占据图像的 50%,你可以通过计算每种尺寸的相对大小来实现。例如 0.5/6=0.0833

chromosomes_scale = /mm/:0.0833r

更好的方法是,使用后缀 n,表示将图像平均分为正则表达式匹配的数量

chromosomes_scale           = /mm/:0.5rn

每个匹配的 ideogram 大小是一样

2.4 多个基因组的应用

考虑显示三个基因组(人、小鼠、大鼠)的图像。将大鼠和小鼠的染色体限制为图像的 1/4

chromosomes_color = /hs/:green;/mm/:red;/rn/:blue
chromosomes_scale = /mm/:0.25rn;/rn/:0.25rn

3. 区间范围调整

同一染色体不同 ideogram 区域的缩放。

我们通过将 12 号染色体分为 3 个区域,绘制 0-60Mb 区域。生成的图像中有 6ideogram

chromosomes = hs1[a]:0-20;hs2[b]:0-20;hs1[c]:20-40;hs2[d]:20-40;hs1[e]:40-60;hs2[f]:40-60
chromosomes_scale = a:0.5;b:0.5;e:5;f:5

我们使用 (a,b,c,...) 标签来表示每个 ideogram,仅用染色体名是无法唯一指定相应的 ideogram

4. 区域缩放

局部比例调整是 circos 最酷的功能之一。在本节之前的示例中,我们展示了如何通过将染色体分成多个 ideogram 并为每个 ideogram 分配不同的比例值来调整局部缩放。

但是,这种方法要求创建多个 ideogram,有时这种方式是可行的。尤其是在需要裁剪和缩放数据域的情况下。

局部比例调整适用于在不进行裁剪的情况下缩放部分数据域。你可以把 ideogram 当做橡皮筋,应用局部比例调整就相当于局部拉伸或压缩橡皮筋。

你可以使用 <zooms> 块调整长度比例,例如

<zooms>
 <zoom>
 chr = hs1
 start = 100u
 end   = 120u
 scale = 5
 </zoom>
 <zoom>
 chr = hs1
 start = 120u
 end   = 130u
 scale = 10
 </zoom>
</zoom>

hs1100-120Mb 局部拉伸 5 倍,120-130Mb 拉伸 10 倍。

注意,缩放的定义与 chromosomeschromosomes_breaks 无关。缩放设置只有应用在绘制的基因组区域时才会对图像产生影响。

在下面这个例子中,我们在 hs1hs2 上定义了几个缩放区域。在 hs1 中对部分区域进行放大,在 hs2 中对部分区域缩小。

5. 重叠缩放区域

当定义了重叠缩放区域时,ideogram 位置的缩放级别被视为任何重叠区域中最高的

例如,你定义了如下区域

100-200Mb - 2x
150-180Mb - 3x
160-170Mb - 5x

其效果如下

100-150Mb - 2x
150-160Mb - 3x
160-170Mb - 5x
170-180Mb - 3x
180-200Mb - 2x

6. 平滑范围

在这个例子中,我们定义了一系列逐渐增大/减小的区域,以免在短距离内发生较大的比例变化。

为了自动平滑缩放,每个 zoom 块都可以定义 smooth_distancesmooth_steps 参数。当使用平滑时,可以为感兴趣的区域定义缩放,然后定义平滑步长和平滑距离

<zoom>
chr    = hs1
start  = 120u
end    = 125u
scale  = 10
smooth_distance = 2r
smooth_steps    = 10
</zoom>

在这个块中,我们在 1 号染色体上定义了一个 5Mb 的区域,并放大 10 倍。平滑距离为 2r=10Mb,平滑步长为 10,所以每个平滑步长为 10Mb/10=1Mb。并且缩放在平滑区间内线性减小。

7. 组合缩放

我们将本部分中讨论的所有比例调整合并到一个图像中

在这个例子中,我们展示了 1-3 号染色体,2 号染色体被分为 3ideogram

chromosomes        = hs1;hs2[a]:0-100;hs2[b]:150-);hs3
chromosomes_breaks = -hs2:40-60
chromosomes_scale  = a:2;b:0.5

8. 数据范围调整

在这个例子中,我们使用局部比例调整来吸引人们注意 1 号和 2 号染色体上的稀疏数据区域。

使用局部比例调整的好处是数据不会被裁剪,因此绘制了所有的数据点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

名本无名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值