Nat. Med. | 基于遗传学原发部位未知癌症的分类和治疗反应预测
今天为大家介绍的是来自Alexander Gusev团队的一篇论文。原发部位未知癌症(Cancer of unknown primary,CUP)是一种无法追溯到其原发部位的癌症,占所有癌症的3-5%。CUP缺乏已建立的靶向治疗方法,导致普遍预后不佳。作者开发了OncoNPC,这是一个基于机器学习的分类器,使用来自三个机构的22种癌症类型中的36,445个肿瘤的定向次世代测序(NGS)数据进行训练。肿瘤NGS基础的原发癌类型分类器(OncoNPC)在保留的肿瘤样本上取得了加权F1分数为0.942的高置信度预测(≥ 0.9)。

当标准化的诊断流程,包括影像学和病理学评估,未能确定转移性癌症的原发部位时,将其诊断为原发部位未知的癌症(Cancer of Unknown Primary,CUP)。CUP在全球范围内占所有癌症的约3-5%,以其侵袭性进展和预后不良(生存期为6-16个月)为特点。原发部位的隐藏性质限制了治疗选择,因为临床对某些治疗的反应因患者的肿瘤类型而异。新兴的癌症治疗针对可操作的分子改变通常是针对特定癌症类型开发的,因此对于CUP患者意义不怎么大。因此,准确地确定CUP肿瘤的潜在原发部位,并证明针对特定部位的治疗在临床上的益处,可能会为CUP患者开启许多现有的治疗选择。
病理学评估在根据免疫组织化学(IHC)结果以及肿瘤形态学和临床发现确定恶性肿瘤的原发癌症类型方面发挥着关键作用。然而,高度转移性或分化差的肿瘤的病理诊断可能具有挑战性。对于已知的癌症类型,先前的研究显示基于IHC的诊断流程可以正确识别77-86%的原发肿瘤,而对于转移性肿瘤则降低到60-71%。对于CUP患者,表明单一原发诊断的IHC结果仅占肿瘤的25%。分子肿瘤分析已被提出作为原发部位分类的一种替代方法,可能适用于CUP肿瘤,因为其具有定量性质,并且在已知癌症类型的肿瘤中具有高准确性。这些工具依赖于微阵列DNA甲基化、全基因组测序、RNA测序数据或基因表达谱。然而,尽管它们是有效的,但这些测序技术尚未整合到标准护理中,而且往往成本较高。在最近的研究中,已经证明通过针对目标区域的下一代测序(NGS)可以进行准确的原发癌症类型分类,这些测序数据现在在许多癌症中心收集。然而,它在诊断和辅助CUP患者治疗方面的临床效用尚未得到系统地调查。在这里,作者使用了来自三个机构的36,445个肿瘤样本的NGS目标面板测序数据,以训练和评估一个机器学习分类器,用于预测给定肿瘤样本的原发癌症类型。

图 1
OncoNPC准确地分类了22种已知的癌症类型

图 2
作者开发了OncoNPC,这是一个基于多中心目标面板测序数据训练的分子癌症类型分类器(图1)。OncoNPC使用体细胞变异,包括突变(单核苷酸变异(SNVs)和插入/缺失突变),突变标记、拷贝数变异(CNAs)以及测序时的患者年龄和性别等特征,使用XGBoost算法进行癌症类型预测。OncoNPC在包括来自Dana-Farber癌症研究所(DFCI)、Memorial Sloan Kettering(MSK)癌症中心和Vanderbilt-Ingram癌症中心(VICC)的22种已知癌症类型的29,176个原发肿瘤和转移肿瘤样本的处理数据上进行了训练和验证。在所有22种癌症类型中,OncoNPC在测试样本上实现了0.784的加权F1分数,其中包括7,289个肿瘤样本(加权精度和召回率分别为0.789和0.791)。在13个癌症组中(根据部位和治疗选择分组;表1),OncoNPC实现了0.806的整体加权F1分数(加权精度和召回率分别为0.810和0.809)。尽管癌症类型之间存在明显的类别不平衡,OncoNPC在癌症类型(图2a)和癌症组(图2b)之间展现出良好的平衡精度。作者在以下四个不同的预测置信水平下评估了OncoNPC的性能,这些水平基于pmax(即在22种癌症类型中的最大预测概率):0.0(涵盖所有样本),0.5,0.7和0.9。基于pmax的阈值应用结果进一步改善了性能,当pmax≥0.5时,加权F1得分为0.830,当pmax≥0.9时,加权F1得分为0.942(图2c、2d)。虽然罕见的癌症类型通常具有较低的整体性能,但增加pmax阈值可以减小常见/罕见癌症类型之间的差异。特征去除研究证明,在仅保留基因组特征的前50%的情况下,OncoNPC仍然可以获得高性能(整体加权F1得分为0.757,而在pmax阈值为0和0.9时分别为0.777和0.950)。
应用OncoNPC于CUP肿瘤样本
作者将OncoNPC应用于对971例CUP肿瘤的分类,这些肿瘤样本来自于被送往DFCI(Dana-Farber癌症研究所)并作为常规临床护理的一部分进行了测序。与DFCI的3690个已知原发癌肿瘤(CKP)的OncoNPC分类相比,CUP肿瘤的预测概率平均较低(0.764与0.881相比),但与DFCI的8025个CKP,包括未在OncoNPC中建模的肿瘤类型,的预测概率相当(0.769)。这表明CUP肿瘤可能包含其他罕见的肿瘤类型。尽管如此,41.2%的CUP肿瘤(971个中的400个)仍然可以高度自信地分类(即,pmax ≥ 0.9),并且多个分类的肿瘤类型,包括NSCLC、BRCA、PAAD和PRAD,其预测概率分布与其对应的CKP相当(图3a)。有趣的是,尽管在训练集中这些类型的肿瘤样本数量很少(n = 359,占训练集的0.99%),但被预测为GINET的CUP仍然高度自信,这表明一些罕见的肿瘤类型可能仍然可以自信地识别出来。如图3b所示,最常见的CUP癌症类型是NSCLC、PAAD、BRCA、EGC和COADREAD。NSCLC、BRCA和COADREAD也是最常见的CKP类型。这与以前的研究结果大致一致,即通过尸检揭示的CUP的潜在原发癌中,最常见的包括肺癌、大肠癌和胰腺癌。最后,将OncoNPC应用于MSK癌症中心的581个CUP肿瘤时也观察到了类似的比率。
解释OncoNPC癌症类型预测

图 3
OncoNPC学习了输入体细胞变异和临床特征之间的复杂非线性关系,并提供可解释的原发癌症类型预测,其中每个输入特征对预测的影响通过SHAP值进行量化。作者调查了在CKP和CUP队列中预测每种癌症类型最有影响力的特征,以评估OncoNPC的有效性(有关CUP队列中前三个最常预测的癌症类型的信息,请参见图3d:NSCLC、BRCA和PAAD)。对于NSCLC,最重要的特征是EGFR突变和SBS4,这是与烟草吸烟相关的突变特征,分别用于预测CKP肿瘤样本和预测为NSCLC的CUP肿瘤样本,与肺癌的已知病因一致。EGFR基因的体细胞突变在NSCLC肿瘤中经常观察到,并且该基因本身是NSCLC患者的已知治疗靶点。烟草烟雾中的致癌物质已被认为是导致肺癌的原因。对于BRCA,对于CKP和CUP肿瘤样本,最重要的特征是性别,如预期的那样,其次是PIK3CA的体细胞突变和CCND1基因的变异,这些在乳腺癌中是已知的驱动基因和预后指标。对于PAAD,KRAS突变明显高于人群平均水平,并且是最重要的体细胞特征。KRAS基因的突变在胰腺癌患者中经常发生,并且已知具有预后意义。OncoNPC提供了直观的可视化,以解释个体级别的预测。
参考资料
Moon, I., LoPiccolo, J., Baca, S.C. et al. Machine learning for genetics-based classification and treatment response prediction in cancer of unknown primary. Nat Med 29, 2057–2067 (2023).
https://doi.org/10.1038/s41591-023-02482-6
相关文章:
Nat. Med. | 基于遗传学原发部位未知癌症的分类和治疗反应预测
今天为大家介绍的是来自Alexander Gusev团队的一篇论文。原发部位未知癌症(Cancer of unknown primary,CUP)是一种无法追溯到其原发部位的癌症,占所有癌症的3-5%。CUP缺乏已建立的靶向治疗方法,导致普遍预后…...
RocketMQ如何安全的批量发送消息❓
优点: 批量发送消息可以提高rocketmq的生产者性能和吞吐量。 使用场景: 发送大量小型消息时;需要降低消息发送延迟时;需要提高生产者性能时; 注意事项: 消息列表的大小不能超过broker设置的最大消息大小;消息列表…...
计算机视觉与深度学习 | 基于视觉惯性紧耦合的SLAM后端优化算法
===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 基于视觉惯性紧耦合的SLAM后端优化算法 引言视觉惯性联合初始化非线性优…...
GDI+ 绘制透明图
目录 一、GDI+ 准备工作 1、线程中添加GDI+支持 2、Gdiplus::Bitmap 1)、从文件创建位图...
【Java】IntelliJ IDEA使用JDBC连接MySQL数据库并写入数据
目录 0 准备工作1 创建Java项目2 添加JDBC 驱动程序3 创建数据库连接配置文件4 创建一个 Java 类来连接和操作数据库5 运行应用程序 在 IntelliJ IDEA 中连接 MySQL 数据库并将数据存储在数据表中,使用 Java 和 JDBC(Java Database Connectivity…...
Linux Hadoop平台伪分布式安装
Linux Hadoop 伪分布式安装 1. JDK2. Hadoop3. MysqlHive3.1 Mysql8安装3.2 Hive安装 4. Spark4.1 Maven安装4.2 Scala安装4.3 Spark编译并安装 5. Zookeeper6. HBase 版本概要: jdk: jdk-8u391-linux-x64.tar.gzhadoop:hadoop-3.3.1.tar.gzh…...
【STM32-DSP库的使用】基于Keil5 + STM32CubeMX 手动添加、库添加方式
STM32-DSP库的使用 一.CMSIS-DSP1.1 DSP库简介1.2 支持的函数类别1.3 宏定义 二、操作2.1 STM32CubeMX 配置基本工程2.2 Lib库的方式实现(推荐)2.3 手动添加DSP文件(可以下载官方最新库,功能齐全) 三、MFCC测试DSP加速效果 为验证语音识别MFC…...
createElement的用法
目录 一:介绍 二:语法与例子 1、语法 2、一些例子 例1: 例2: 例3: 3、第二种写法 一:介绍 document.createElement()是在对象中创建一个对象,要与appendChild() 或 insertBefore()方法…...
Mabitys总结
一、ORM ORM(Object/Relation Mapping),中文名称:对象/关系 映射。是一种解决数据库发展和面向对象编程语言发展不匹配问题而出现的技术。 使用JDBC技术时,手动实现ORM映射: 使用ORM时,自动关系映射: &am…...
JAVA安全之Log4j-Jndi注入原理以及利用方式
什么是JNDI? JDNI(Java Naming and Directory Interface)是Java命名和目录接口,它提供了统一的访问命名和目录服务的API。 JDNI主要通过JNDI SPI(Service Provider Interface)规范来实现,该规…...
Spring源码系列-框架中的设计模式
简单工厂 实现方式: BeanFactory。Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。 实质: 由一个工厂…...
数据的读取和保存-MATLAB
1 序言 在进行数据处理时,经常需要写代码对保存在文件中的数据进行读取→处理→保存的操作,流程图如下: 笔者每次在进行上述操作时,都需要百度如何“选中目标文件”以及如何“将处理好的数据保存到目标文件中”,对这一…...
C++ 输入、输出和整数运算
【问题描述】 编写一个程序,读入两个整数,计算并输出他们的和、积、商和余数。 【输入形式】 程序运行到输入时,不要显示输入提示信息。 输入为两个整数(在问题描述中记作A和B,程序中请自定变量名),A和B使…...
Element Plus 解决组件显示英文问题
要解决Element Plus日历组件显示英文的问题,可以使用Element Plus提供的国际化功能,切换成中文语言。下面是一个简单的示例: 首先,在main.ts或者你的入口文件中引入Element Plus的中文语言包和Vue I18n: import { cr…...
sqlite3.NotSupportedError: deterministic=True requires SQLite 3.8.3 or higher
问题描述 sqlite3.NotSupportedError: deterministicTrue requires SQLite 3.8.3 or higher 解决方法 A kind of solution is changing the database from sqlite3 to pysqlite3. After acticate the virtualenv, install pysqlite. pip3 install pysqlite3 pip3 install …...
单线程介绍、ECMAScript介绍、操作系统Windows、Linux 和 macOS
目录 单线程介绍ECMAScript介绍操作系统Windows、Linux 和 macOS 👍 点赞,你的认可是我创作的动力! ⭐️ 收藏,你的青睐是我努力的方向! ✏️ 评论,你的意见是我进步的财富! 单线程介绍 单线…...
【Docker】iptables基本原理
在当今数字化时代,网络安全问题变得越来越重要。为了保护我们的网络免受恶意攻击和未经授权的访问,我们需要使用一些工具来加强网络的安全性。其中,iptables是一个强大而受欢迎的防火墙工具,它可以帮助我们控制网络流量并保护网络…...
微服务架构——笔记(3)Eureka
微服务架构——笔记(3) 基于分布式的微服务架构 本次笔记为 此次项目的记录,便于整理思路,仅供参考,笔者也将会让程序更加完善 内容包括:1.支付模块、2.消费者订单模块、支付微服务入驻Eureka、Eureka集群…...
网络编程套接字(2)——简单的TCP网络程序
文章目录 一.简单的TCP网络程序1.服务端创建套接字2.服务端绑定3.服务端监听4.服务端获取连接5.服务端处理请求6.客户端创建套接字7.客户端连接服务器8.客户端发起请求9.服务器测试10.单执行流服务器的弊端 二.多进程版的TCP网络程序1.捕捉SIGCHLD信号2.让孙子进程提供服务 三.…...
MySQL数据库的简单的面试题
1、MySQL有哪些锁机制 MySQL有以下几种机制: 行级锁:行极锁在mysql 中最常用的锁机制,它只针对表的某一行进行加锁不受影响。MySQL的行级锁分为共享锁和排他锁两种类型,共享锁和排它锁不能同时存在于一行。 表级锁:表…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
