当前位置 : 主页 > 编程语言 > java >

CNVnator原理简介

来源:互联网 收集:自由互联 发布时间:2022-06-23
​ CNVnator是一款利用全基因组数据进行CNV检测的软件,对应的文章链接如下 ​​https://genome.cshlp.org/content/21/6/974.long​​ 基于read depth的分析策略, 采用滑动窗口的方式,将基因组划分为

CNVnator是一款利用全基因组数据进行CNV检测的软件,对应的文章链接如下

​​https://genome.cshlp.org/content/21/6/974.long​​

基于read depth的分析策略, 采用滑动窗口的方式,将基因组划分为等长的窗口,称之为​​bin​​, 利用不同窗口内测序深度的分布来预测CNV, 如下图所示

CNVnator原理简介_聚类

图A中横坐标为平均测序深度,用RD signal表示,纵坐标为对应的​​bin​​​的频率,实际上是不同测序深度频率分布图,在图中可以看到三个峰,最高的一个拷贝数正常的染色体区域对应的​​bin​​, 另外两个峰分别表示纯合缺失和单体型重复。图B表示与邻近区域的测序深度差异值的分布,不同的峰对应不同的拷贝数情况。

从上图可以看出,利用测序深度的分布能够反映出染色体区域的拷贝数差异。cnvnator软件的算法具体可以分为以下几步

1.比对参考基因组

要计算测序深度,首先需要将测序的reads比对到参考基因组上,比对是最关键的一个步骤就是如何比对到基因组多个区域的reads。当一条reads比对到基因组上的多个位置时,单从数据分析的角度,是完全无法区分其究竟属于哪一个区域的,因为这些区域同源度非常的高。对于这样的reads, 有两种处理策略,第一种是直接剔除,保留unque-mapping的reads; 第二种是随机选取其中的一个位置,作为该reads的真实比对位置,cnvnator算法采用的是第二种策略。

2. 构建RD signal

比对之后,就可以将基因组划分为等长窗口,计算每个窗口内的测序深度了,这里需要注意的是, 利用gc含量在校正原始的测序深度。PCR对不同GC含量序列的扩增存在偏倚,所以在计算窗口内的RD signal, 需要校正这一系统误差,cnvnator的校正公式如下

CNVnator原理简介_聚类_02

global表示所有​​bin​​​窗口内原始RD signal的平均值,gc表示和当前​​bin​​​的GC含量相同的所有​​bin​​窗口原始RD signal的平均值,将二者的比值作为一个系数,对原始的RD signal进行校正。

3. mean-shift 聚类

mean-shift是一种聚类算法,利用校正之后的RD signal值,对邻近的​​bin​​​进行聚类,理论上聚为一类的​​bin​​具有相同的cnv拷贝数,图示如下

CNVnator原理简介_系统误差_03

需要注意的是,这里只是对染色体位置接近的​​bin​​进行聚类,并不是等同于CNV分析中的segmentation。

4. segmentation

上述的聚类信号只有在染色体的局部具有意义,当放到大全基因组范围来识别CNV时,必须通过segmentation算法来实现,cnvnator采用的是自己独特的算法,有个关键的参数称之为bandwidth, 不同的取值会影响到CNV区域的划分,图示如下

CNVnator原理简介_聚类_04

取值越大,小片段的CNV信号会被掩盖,取值越小,数值越小,CNV检测的假阳性率会高。

5. signal merging

根据与邻近segment RD signal的差异, 将原始划分的segment进行合并。

6. cnv calling

对划分好的不同segment, 预测其对应的拷贝数。

在利用CNVnator软件进行分析时,bin和bandwidth两个参数的选择对结果影响很大。通过该软件可以检测各种长度的cnv, 而且分型的准确率非常高,是一款值得推荐的cnv检测软件。

·end·

CNVnator原理简介_取值_05

上一篇:ISCA数据库简介
下一篇:没有了
网友评论