肿瘤基因突变检测是NGS的一个重要应用,其分析难点主要在于低频变异的准确性。不同于遗传病检测,肿瘤样本类型多样,测序方法和参数复杂,且缺乏对应各种场景的公共标准真集。再加上常用开源软件经常遇到的准确性低,稳定性差,速度慢等问题。这使得广大诊断公司在评估肿瘤变异检测工具、搭建高效稳定的生信流程上,面临巨大的挑战。

作为NGS数据二级分析的产品专家,Sentieon推出了一系列肿瘤分析流程,适用于从组织样本到液态活检等不同场景。其中,TNscope模块采用Sentieon自主设计的算法,搭配机器学习模型,追求最高的灵敏度、准确度以及使用的灵活性,适合临检样本。TNhaplotyper2模块在结果上匹配GATK最新4.1版本的Mutect2,同时提速10倍以上,更加适用于科研样本。

本期分享近期发表的3篇文献,对TNscope和TNhaplotyper2的性能和准确性进行的详细和客观的评估。最后我们将展示BMS(百时美施贵宝)使用Sentieon TNscope检测MNV纠正TCGA数据库的案例。

TNscope

TNscope模块对于低频变异的检测灵敏度非常高,搭配丰富可调的过滤参数或者机器学习过滤器,可以在临检样本上达到很高的灵敏度和特异性。目前,TNscope流程已被业内多家诊断公司采用,在室间质评等质控场景下均有优异表现。

2020年7月由中山大学和安诺优达联合发表的一篇文章中,作者建立测试数据集,系统的比对了目前流行的包括TNscope在内的多款肿瘤变异检测软件,从准确度和速度两方面给出了评测数据。

文中作者使用细胞系真集合成不同肿瘤纯度的真集数据,来评估不同的肿瘤变异检测流程。在这里,作者将HG001和HG002 两个标准品原始reads按不同稀释比例(10%-60%)混合,合成了4套100x深度的模拟数据,经过比对,去重,重比对,BQSR等步骤后,用6款变异检测软件进行变异检测,包括TNscope (v201808.05),TNseq (v201808.05,匹配3.8版本MuTect2结果),Mutect2 (v4.0.7),NeuSomatic (v0.2.0),VarScan2 (v2.3.9),Strelka2 (v2.8.4)。输出结果经过RTG Tools和真集比对计算Precision和Recall。

在区分度较大的5%变异丰度数据集中,我们可以看到, TNscope和Mutect2 (和TNhaplotyper2结果一致) 在SNP和Indel检测上都大幅度领先其他软件,尤其是TNscope能够在基本杜绝假阳性的基础上达到较高的灵敏度。

除了准确度以外,生信流程的分析速度是临检环境的另一个关注点,尤其是随着样本量的增长,高深度大panel的普及,单个样本测序数据量也在飞速增长。提高分析速度,加快产品交付周期变得至关重要。本文比较了不同软件的计算时长:TNscope的速度遥遥领先,和Mutect2相比提速10倍左右。

综合本文中准确度和速度两方面的指标,Sentieon的TNscope性能超越了其他所有参评的软件模块。我们期待TNscope能够助力更多的临检用户,在提升分析准确性的同时大幅提升速度,压缩计算成本。

TNhaplotyper2

在科研领域,GATK的Mutect2以其优异的性能和Broad Institute的强力背书一直被业内作为金标准所接受。进入GATK4时代以来,Mutect2进入了技术尝试期,在子版本更新中,频繁更新算法,大量引入新参数,相邻子版本的变异检测结果差异有时会高达50%。这样的大幅变化,给用户带来了很大困惑,对Mutect2的稳定性也产生怀疑。因此,Sentieon在匹配了4.0.2版本之后也暂停了对不稳定Mutect2版本的匹配更新。进入4.1版本之后,Mutect2 完成beta更新测试,在完善功能模块的同时,版本更新也逐步稳定。所以,Sentieon应广大用户的要求,发布了匹配目前最新的4.1.9版本的TNhaplotyper2加速方案。

2020年7月份,在BMC Medical Genomics上发布了的一篇文章,对4.1版本的Mutect2进行了性能测试。作者选取了同一个组织样本的新鲜冷冻(Fresh Frozen)样本以及福尔马林固定切片(FFPE)样本进行了NGS测序,对结果数据进行肿瘤突变检测。随后以新鲜冷冻样本为金标准,考察不同检测软件流程在处理FFPE样本时的准确度表现。

文章选用了四个常用的软件,包括了Mutect2 (v4.1.2),VarScan2 (v2.2.3),Shimmer (v0.2),以及Strelka2 (版本未汇报)。作者首先使用每个软件检测新鲜冷冻样本FF的变异,作为比较的基准,然后检测FFPE样本的变异,并和FF的结果进行比较。比较的方法是通过调整每个软件最有代表性的肿瘤概率annotation,例如Mutect2用TLOD,Strelka2使用EVS等,这样在生成ROC curve上找到F1最大值,作为每个软件的优化结果。

从上图中可以看出,Mutect2和Strelka2给出的FFPE结果比较接近,说明能更好的区分FFPE的artifact,远远优于VarScan2和Shimmer的结果。作者在讨论中也着重指出了,不同检测软件的选取对于突变结果的影响甚至超过了样本类型的影响,这也再次证明了软件的性能对于最终结果准确性的巨大影响。

值得注意的是,文中使用的4.1.2并不是当前的最新版本,Sentieon TNhaplotyper2所匹配的版本4.1.9的准确性会比文中所显示的更加优异。同时,TNhaplotyper2运行时间仅为Mutect2的1/10,大大缩短了项目周期,节约了计算成本,是科研用户的最佳选择。

MNV肿瘤合并

本篇文献来自于药企BMS(百时美施贵宝),BMS与Sentieon团队合作,利用Sentieon的肿瘤MNV合并模块对TCGA等公共数据库里的结果进行检查,发现了大量VCF结果中的MNV被错误标记为了SNV,导致氨基酸翻译错误,继而影响了后续的医学诊断。

要想准确的鉴定MNV复杂变异,Haplotype的识别是第一步,这就要求变异检测软件必须进行局部组装(local denovo assembly),利用reads的信息拼接出不同的haplotype,从而确定不同位置突变之间的连锁关系。Sentieon的TNscope以及TNhaplotyper2模块都会输出haplotype信息。如果两个相近的变异位于同一个haplotype上,那么Sentieon的MNV合并模块将会把它们在VCF中合并成一个MNV。

在TCGA数据集的重新验证中,文章发现12,141个MNV被错误注释了,另外有7个常见突变基因的MNV在20个数据集中都没有被正确合并。最常见的一个例子就是BRAF V600K变异,在若干公共数据集中都是错误的作为BFAF V600E和BRAF V600M的SNV汇报。类似的例子在TCGA数据集中频繁出现,下图是一个数目的汇总。

文末总结道,虽然自2017年以后的大型项目中的MNV都已经被正确的合并了,但是很多中小型学术项目或者商业公司的数据集里,MNV合并还是经常被遗漏,有待修复。只有正确判断出MNV才能判断出正确的蛋白氨基酸变异,作者在此推荐在任何肿瘤流程中都使用类似于Sentieon MNV这样的合并工具。

Sentieon实战:NGS肿瘤变异检测流程的更多相关文章

  1. SSIS从理论到实战,再到应用(4)----流程控制之For循环

    原文:SSIS从理论到实战,再到应用(4)----流程控制之For循环 上期回顾: SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器 在SSIS体系中,控制流可能经常会遇到 ...

  2. SSIS从理论到实战,再到应用(5)----流程控制之Foreach循环

    原文:SSIS从理论到实战,再到应用(5)----流程控制之Foreach循环 上期回顾: SSIS从理论到实战,再到应用(4)----流程控制之For循环 上一期讲了For循环,Foreach循环相 ...

  3. Android内存泄漏的检测流程、捕捉以及分析

    https://blog.csdn.net/qq_20280683/article/details/77964208 Android内存泄漏的检测流程.捕捉以及分析 简述: 一个APP的性能,重度关乎 ...

  4. OpenCV实战:人脸关键点检测(FaceMark)

    Summary:利用OpenCV中的LBF算法进行人脸关键点检测(Facial Landmark Detection) Author:    Amusi Date:       2018-03-20 ...

  5. TF项目实战(SSD目标检测)-VOC2007

    TF项目实战(SSD目标检测)-VOC2007 训练好的模型和代码会公布在网上: 步骤: 1.代码地址:https://github.com/balancap/SSD-Tensorflow 2.解压s ...

  6. Kafka实战-实时日志统计流程

    1.概述 在<Kafka实战-简单示例>一文中给大家介绍来Kafka的简单示例,演示了如何编写Kafka的代码去生产数据和消费数据,今天给大家介绍如何去整合一个完整的项目,本篇博客我打算为 ...

  7. yolov5实战之皮卡丘检测

    前言 从接触深度学习开始一直都做的是人脸识别,基本上也一直都在用mxnet. 记得之前在刚接触的时候看到博客中写到,深度学习分三个层次,第一个层次是分类,第二个层次是检测,第三个层次是分割.人脸识别算 ...

  8. Loadrunner VuGen实战---基本组成、录制流程、协议、脚本优化、参数化(三)

    一.3大基本组件:VuGen.Controller.Analysis 1.VuGen:录制.编写脚本. 2.Controller:性能测试场景设计以及监控的地方. 3.Analysis:生成图表报告的 ...

  9. TensorFlow + Keras 实战 YOLO v3 目标检测图文并茂教程

    运行步骤 1.从 YOLO 官网下载 YOLOv3 权重 wget https://pjreddie.com/media/files/yolov3.weights 下载过程如图: 2.转换 Darkn ...

  10. yolo源码解析(3):视频检测流程

    代码在自己电脑中!!!!不在服务器 根据前文所说yolo代码逻辑: ├── examples │ ├── darknet.c(主程序) │ │── xxx1.c │ └── xxx2.c │ ├── ...

随机推荐

  1. Unity快手上手【熟悉unity编辑器,C#脚本控制组件一些属性之类的】

    Unity学习参考文档和开发工具 unity的官网文档:https://docs.unity3d.com/cn/current/Manual/ScriptingSection.html ■ 学习方式: ...

  2. java.lang.OutOfMemoryError- unable to create new native thread 问题排查

    问题描述 最近连续两天大约凌晨3点,线上服务开始异常,出现OOM报错.且服务所在的物理机只能ping通,但是无法登录.报错信息如下: ERROR 04-12 03:01:43,930 [Default ...

  3. Nginx常用配置及和基本功能讲解

    作者:京东物流 殷世杰 Nginx已经广泛应用于J-one和Jdos的环境部署上,本文对Nginx的常用的配置和基本功能进行讲解,适合Nginx入门学习. 1 核心配置 找到Nginx安装目录下的co ...

  4. 学node 之前你要知道这些

    初识nodejs   19年年底一个偶然的机会接到年会任务,有微信扫码登录.投票.弹幕等功能,于是决定用node 来写几个服务,结果也比较顺利.   当时用看了下koa2的官方文档,知道怎么连接数据库 ...

  5. 修改mysql的密码时遇到问题ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corre

    先输入:flush privileges; 再输入:ALTER USER 'root'@'localhost' IDENTIFIED BY 'mysql'; 再输入:flush privileges刷 ...

  6. 2021-10-03:合并两个有序数组。非递减数组nums1和nums2。合并这两个数组并放在nums1中。力扣88。

    2021-10-03:合并两个有序数组.非递减数组nums1和nums2.合并这两个数组并放在nums1中.力扣88. 福大大 答案2021-10-03: 从右往左遍历nums1和nums2,谁大拷贝 ...

  7. mysql 5.7 json 类型 json 数组类型 普通字符串类型 10w数据 查询速度差异

    json 非数组 建表语句ddl CREATE TABLE tb_json_test ( id INT NOT NULL AUTO_INCREMENT, user_no VARCHAR(100), u ...

  8. 【工作随手记】并发之synchronized

    synchronized对于java同学肯定都是耳熟能详的必修课了.但是不管对于新手还是老手都有一些容易搞错的点.这里权做一点记录. 锁的是代码还是对象? 同步块一般有两种写法. 1是直接加以方法体上 ...

  9. requests标头在json序列化时报错TypeError: Object of type CaseInsensitiveDict is not JSON serializable

    requests的作者似乎为了解决header里大小写兼容的问题,而创建了大小写不敏感的数据结构CaseInsensitiveDict,requests返回的响应标头即是一个CaseInsensiti ...

  10. 2023-05-23:如果交换字符串 X 中的两个不同位置的字母,使得它和字符串 Y 相等, 那么称 X 和 Y 两个字符串相似。如果这两个字符串本身是相等的,那它们也是相似的。 例如,“tars“

    2023-05-23:如果交换字符串 X 中的两个不同位置的字母,使得它和字符串 Y 相等, 那么称 X 和 Y 两个字符串相似.如果这两个字符串本身是相等的,那它们也是相似的. 例如,"t ...