提升UMI分析精度和计算效率:Sentieon UMI分子标记处理模块

简介: 提升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里面的原始信息进行自行过滤。


 


软件试用:Sentieon基因数据分析加速软件 -官方试用下载 (insvast.com)

目录
相关文章
|
Linux
Linux大文件查看利器:掌握Less命令的使用和技巧
Linux大文件查看利器:掌握Less命令的使用和技巧
1697 0
|
SQL 监控 关系型数据库
深入理解MySQL日志:通用查询、慢查询和错误日志详解
深入理解MySQL日志:通用查询、慢查询和错误日志详解
1837 0
|
12月前
|
Ubuntu Linux Shell
Sentieon软件快速入门指南
Sentieon为纯CPU计算加速软件,完全适配主流CPU计算架构:Intel、AMD、海光等X86架构CPU,华为鲲鹏、阿里倚天等ARM架构CPU。可灵活部署在实验室单机工作站、HPC集群、超算中心和云计算中心,保持同一套流程下不同规模数据计算结果的一致性。Sentieon软件团队拥有丰富的软件开发及算法优化工程经验,致力于解决生物数据分析中的速度与准确度瓶颈,为来自于分子诊断、药物研发、临床医疗、人群队列、动植物等多个领域的合作伙伴提供高效精准的软件解决方案,共同推动基因技术的发展。
457 4
Sentieon软件快速入门指南
|
10月前
|
存储 人工智能 Serverless
智能理解 PPT 内容,快速生成讲解视频
本方案利用函数计算 FC 部署 Web 应用,调用百炼模型服务实现 PPT 到视频的自动转换。视觉模型智能理解 PPT 图文内容,快速生成相匹配的解说词;文本模型对解说词进行优化,提高其可读性和吸引力;语音模型则根据解说词生成生动流畅的旁白音频。整个过程高度集成,只需一键操作,系统即可自动整合图片、文本和音频素材,快速生成对应讲解视频。
808 17
|
前端开发 Android开发
Starting a Gradle Daemon, 1 incompatible and 2 stopped Daemons could not be reus
Starting a Gradle Daemon, 1 incompatible and 2 stopped Daemons could not be reus
2453 0
|
存储 NoSQL 安全
go 连接mongodb执行查询的代码
在Go语言中,你可以使用官方的MongoDB驱动程序 `"go.mongodb.org/mongo-driver/mongo"` 来连接MongoDB并执行查询。以下是一个简单的示例代码,演示如何连接MongoDB并执行查询: 首先,确保你已经安装了MongoDB驱动程序: ```bash go get go.mongodb.org/mongo-driver/mongo ``` 然后,可以使用以下示例代码: ```go package main import ( "context" "fmt" "log" "time" "go.mongodb.org/mongo-driv
278 0
|
关系型数据库 分布式数据库 数据库
PolarDB for PostgreSQL报错问题之psql连接数据库报错如何解决
PolarDB for PostgreSQL是基于PostgreSQL开发的一款云原生关系型数据库服务,它提供了高性能、高可用性和弹性扩展的特性;本合集将围绕PolarDB(pg)的部署、管理和优化提供指导,以及常见问题的排查和解决办法。
|
定位技术 Python
Python中ArcPy基于矢量范围批量裁剪大量栅格遥感影像
Python中ArcPy基于矢量范围批量裁剪大量栅格遥感影像
331 1
|
数据采集 弹性计算 数据可视化
GWAS全基因组关联分析工具GAPIT最新版!详细安装教程与报错解决方案笔记(Linux版)
GWAS全基因组关联分析工具GAPIT最新版!详细安装教程与报错解决方案笔记(Linux版)
|
网络协议 Shell Docker
docker compose详细使用教程
docker compose详细使用教程
1554 0
下一篇
开通oss服务