在展示染色体信息时,如果想要重点展示其中某一段区域的信息,可以借助zooms
来实现。zooms
起到一个伸缩的功能,将原本的区域放大或者缩小。
配置文件写法如下:
zooms
由多个zoom
构成,每个zoom
必须具备以下几个参数
- chr
- start
- end
- scale
其中chr
, start
, end
这三个参数指定需要缩放的染色体区域,scale
指定需要缩放的倍数。
看一个具体的例子:
在上面的示意图中,对染色体多处区域进行了缩放。其中对1号染色体上的部分区域进行了放大,对2号染色体上的部分区域进行了缩小。
1号染色体100-120Mb区域放大2倍,接下来的区域依次类推,分别放大了3倍, 4倍,5倍;对应配置文件的写法为
2号染色体100-120Mb 区域缩小为原来的0.5倍,接下来的区域依次类推,分别缩小为原来0.25, 0.1,0.25, 0.5;对应配置文件的写法为
在上述的例子中,需要缩放的区域之间没有重叠,当这些区域之间以后重叠时,重叠区的缩放比例以最高的为准。比如下面的缩放比例
实际处理时会变成如下的缩放比例
对于没有争议的区域,就按照指定的比例缩放,对于指定了多个缩放比例的overlap
区,以最大的数值作为最终的缩放比例。
在zoom
相关参数中,还有两个很特别的参数
- smooth_distance
- smooth_steps
写法如下:
这两个参数的作用是控制邻近区域的缩放情况。不指定这两个参数时,只有目标区域会进行缩放;指定这两个参数后,会对上下游区域进行缩放。
smooth_distance
控制需要缩放的上下游区域的距离,2r
代表是目标区域的两倍,由于目标区域为120u到125u
, 长度为5M,需要缩放的上下游区域就是2 X 5 = 10M,这些区域也需要方法scale
倍数; smooth_steps
控制上下游区域缩放的步数,上下游区域的缩放比例是一个线性增长的关系,在下面的示意图中,可以看到,1号染色体目的区域上游的10M区域110-120
, 也放大为原来的10倍,其缩放不是整个区域直接放大10倍,而是划分成了10个子的区域,每个区域缩放比例逐渐递增,有1.8递增到9.2,总和加起来是原先的10倍。
对于zooms
而言,其参数一共只有6个,具体的含义上文也给很给出了详细的解释。但是对于染色体的缩放,除了zooms
之外,还有其他的参数也可以实现
1. 对整个染色体进行缩放
通过chromosomes_scale
参数来实现,写法如下
chromosomes_scale = hs1:0.2;hs2:0.2;hs3:0.2;hs8:5;hs9:5;hs10:5
hs1:0.2
表示将1号染色体缩小为原来的0.2倍,对于每条染色体的缩放比例,采用分号分隔。
2. 对染色体部分区域进行缩放
写法如下
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
以hs1
为例,在chromosomes
中,指定了a
, c
, e
3个区间,在chromosomes_scale
中,对这3个区间进行了缩放。