提升 UMI 分析精度和计算效率:Sentieon UMI 分子标记处理模块
单分子标签技术(Unique Molecular Identifier, UMI)被广泛应用在极高灵敏度的 NGS 检测中,尤其是目前炙手可热的循环肿瘤 DNA (ctDNA) 检测。ctDNA 作为一种非侵入性的肿瘤生物标志物,以其极高的灵敏度,可用于癌症早筛早检,治疗反应的实时监控等。因此,大量的研究工作围绕 ctDNA 而展开。然而,由于传统 NGS 检测灵敏度受限于 PCR 和测序的错误率(~1%),必须通过 UMI 来保证 ctDNA 检测的高灵敏度和特异性。
UMI 技术的原理是在 PCR 扩增前给每一条原始 DNA 加上一段特有的短标签序列,在建库和测序完成之后可以根据标签序列和比对位置回溯到原始 DNA,通过比对来源于同一 DNA 的多条序列的共同序列(consensus)来甄别突变是真实的还是引入的随机错误。当需要检测的目标突变的变异丰度低于 1%的时候,UMI 的使用可以大幅提升变异检测的准确性。
然而,以 fgbio 为代表的 UMI consensus 软件使用的统计模型比较粗糙,对不同随机过程的统计模型缺少严谨的预估,反而依赖复杂的流程和用户经验参数设置来优化结果,因此影响了 UMI consensus 结果的准确性,也限制了后续变异检测的灵敏度。另一方面,为了提高更低丰度变异检测的灵敏度,很多 UMI 应用已经将测序深度提高到了 2 万甚至 5 万,而为了检测更多癌症类型,panel 覆盖基因数目也越来越多。因此,对应的生信流程需要处理的数据量也随之大幅增加,对 UMI 流程的执行效率提出了更高的要求。
为了解决上述的问题,Sentieon 和客户反复调研之后,在 2019 年 11 月发布了 UMI 处理模块,旨在为业界提供优质、准确、高效的解决方案。Sentieon UMI 处理流程极度精简,参数简单,运算高效,且依然坚持了 Sentieon 产品一贯的数学和工程的严谨。Sentieon UMI consensus 模块通过严谨的统计模型重构了建库和测序过程中的各类错误对结果的影响,通过机器学习自动计算样本数据的多维度参数,更加准确的执行合并同组序列。同时,Sentieon UMI 流程最大限度的保留和充分利用了所有输入数据的信息,为后续变异检测提供了尽可能全面和准确的统计信息。
模拟数据测试
我们将通过模拟数据和稀释样本数据来验证 Sentieon UMI 流程的准确性。首先,我们使用模拟数据来对比 consensus molecule 和原始 read,检验 consensus 统计模型的准确性。然后,通过稀释样本来检验 UMI 流程对变异检测的影响。
首先,我们随机生成了 1 百万条 DNA 片段,片段长度从 100 到 500bp 不等。这些片段将是后续验证 UMI consensus 所对应的真值。然后,我们模拟了 PCR 扩增和测序两个步骤,生成了约 2 千万个序列,PCR 扩增模拟了 8 个 PCR 循环(cycle),在每组扩增出的序列中随机选取 3 个序列,在此过程中按照指定的错误率随机引入了 SNP 和 indel 的错误。测序过程使用 ART 来模拟 Hiseq2500 的测序过程,通过测序仪真实的错误模型来生成测出序列。针对双端 UMI,我们还引入了单链 DNA 错误。
模拟结果分别经过 Sentieon 和 fgbio 流程执行合并(consensus)处理。然后,我们将两个流程的处理结果 consensus molecule 和原始序列比对,以检验结果的正确性。
因为在 PCR 过程中我们随机抽取了三个序列,所以,每个位点将从三个 bases 合并成一个 consensus base。为了更仔细的对结果进行评估,我们把每个位点上的 pile up 分成三类:较为常见的情况下 3 个碱基全部一致(如 AAA), 2 个一致(如 AAC),和较为罕见的 3 个都不同的情况(如 ACG)。从上图的结果中可以看出,在所有这 3 种情况下,Sentieon UMI consensus 流程的错误率都比 fgbio 降低了两个数量级或以上。这里需要注意的是,即使在输入序列的三个碱基全部一致的情况下,Sentieon 和 fgbio 流程均还有错误。这是因为虽然一个原始碱基,例如 C,因为 PCR 和测序错误变成三个完全与 C 不同的,例如 AAA,的可能性非常小,但是在大量的模拟 PCR 扩增数据情况下,我们依然可以看到这样的情况发生。
fgbio 的错误率高主要体现在缺少对 PCR 扩增错误率的正确预估,以及放弃了将序列质量较低的位点,将它们直接标记为 N,因此增大了错误率。例如,在上图中,在 ACG 和 AAC 的两种情况下(左侧和中间两个 bar),fgbio 基本上完全放弃了这些位点,但是通过严格的统计模型预估,我们将这些位点的错误率分别降低到了 5%和 1‰。
稀释样本测试
测试真集来自于 2018 年 Qiagen 发表的相关文章(doi: 10.1093/bioinformatics/bty790)中 NA12878 和 NA24385 细胞系 DNA 的实验室混合 (in vitro mix)。测序深度在 UMI consensus 之前是 59000x,consensus 之后大约 7000x,目标突变的变异丰度约为 0.5%。数据分别经过 Sentieon UMI 流程和 fgbio 流程处理之后,通过 Sentieon TNscope 使用相同参数进行体细胞变异检测,结果与真集比对绘制 ROC 曲线。
从结果可以看出,无论是 SNV(左图)还是 Indel(右图),Sentieon UMI 流程的准确度均更高。从 F1 Score 来看,SNV 方面 Sentieon vs Fgbio 是 0.823 vs 0.748,Indel 方面 Sentieon vs Fgbio 是 0.742 vs 0.573。值得一提的是,Sentieon 软件流程按照模块化设计,consensus 之后的 bam 文件可以输入到各类变异检测软件,具有良好的兼容性。
速度测试
Fgbio 流程冗长繁琐,完成全部 UMI 处理一共要 8 个步骤,执行效率较低。相比之下,Sentieon UMI 在设计流程时,充分从易用性的角度出发,大幅精简了 UMI 流程,仅仅三步即可。在通过更复杂和严谨的统计模型保证准确性的前提下,Sentieon 坚持了其一贯的代码高效稳定的风格,UMI 流程整体处理速度对比 Fgbio 提高了 20 倍左右(32 线程工作站),极大的提升了 UMI 处理的整体速度,配合 Sentieon 的变异检测模块,为大 panel 高深度测序产品提供一个高效准确的分析流程框架。
设计原理
Sentieon UMI 设计的核心理念是不丢弃任何原始序列包含的可用信息,经过统计模型的处理之后为每一个 consensus 序列的每个位点赋予一个准确的质量值,供下一步的变异检测工具参考。举例来说,在一些例如同组 UMI 序列数量不足,序列正反链碱基不一致,原始序列质量值过低等情况下,以 fgbio 为代表的工具倾向于采用剪裁丢弃序列,或者直接标记 N 等简单粗暴的做法。相比之下,Sentieon 通过严格的统计模型,准确预估了例如单链错误率,PCR 错误率,测序错误率等参数,然后对每个 consensus 序列提供可靠的置信度评估。这样,后续的变异检测可以获取到充分的统计信息,并相应的对检测到的可能变异做出正确的评估。
在我们的模拟数据测试中,我们分析了统计模型给出的质量值和实际的错误率之间的关系,针对所有模拟的情况,包括不同的单链、PCR 和测序错误率。从上图统计中我们发现,我们给出的质量值高度准确的体现了这些统计过程的所引入的随机错误。这证明了 Sentieon UMI 不但在建立 consensus 序列上有极高的正确性,同时也能为每个 consensus 序列提供非常有价值的质量值。
常见问题
1. 对于特殊类型的 UMI,比如说动态长度的 UMI,Sentieon 软件能处理吗?
目前不能直接使用,但是 UMI extract 开源,用户可以自己修改满足不同的 UMI 需求。
2. 支持双端 UMI 吗?
支持。软件会估算两条链不一致的错误率,并对结果做修正。
3. 流程中的统计学模型的参数需要提前训练吗?
不需要,所有参数均直接从测试样本数据中学习。
4. 在去接头的步骤中,Sentieon UMI 流程是如何处理的?
Sentieon UMI 并没有专门的去接头步骤,只是在处理有重叠的 pair-end reads 时,如果 pair-end reads 相互测通,则把超出的部分切除。
5. 在通过统计学模型计算出质量值以外,软件会保存原始的序列信息吗?
会的,软件会把 family size 等原始信息写在 BAM 文件的 XZ tag 里,供用户查询或者进行个性化的进一步过滤。
6. 序列的过滤推荐在哪一步进行?
Adapter trimming 最好在 UMI 处理之前进行,在 consensus 之后软件会尽量保留所有的序列,以质量值区分可信度。所以如果后续变异检测软件能够读取并利用质量值,那么无需在变异检测之前进行过滤。如果质量值无法被利用,用户可以根据质量值和写在 XZ tag 里面的原始信息进行自行过滤。
评论