机器学习在癌症分子亚型分类中的应用
学习笔记:机器学习在癌症分子亚型分类中的应用——Cancer Cell 研究解析

1. 文章基本信息
- 标题:Classification of non-TCGA cancer samples to TCGA molecular subtypes using machine learning
- 发表期刊:Cancer Cell
- 发表时间:2025 年,第 53 卷,第 2 期
- 研究目标:
- 开发机器学习分类器,用于将非 TCGA 样本映射到TCGA 定义的分子亚型。
- 支持多组学数据整合(mRNA、DNA 甲基化、CNV、突变、miRNA),提高分类准确度。
- 提供标准化工具(Docker 容器化),使研究和临床应用更便捷。
2. 文章的主要行文思路
(1) 引言(Introduction)
- 介绍癌症传统分类方法(基于组织学和解剖学分类)的局限性。
- 介绍 TCGA 数据集在癌症亚型研究中的重要性。
- 说明当前分子亚型分类方法在非 TCGA 样本上的应用挑战。
- 提出研究目标:使用机器学习方法开发分类器,将非 TCGA 样本归类到 TCGA 定义的亚型。
(2) 方法(Methods)
- 数据来源:使用 TCGA 的多组学数据,包括 mRNA、DNA 甲基化、CNV、miRNA、突变数据。
- 机器学习方法:
- 使用五种 ML 方法(AKLIMATE、CloudForest、SKGrid、JADBio、subSCOPE)。
- 训练 8,791 个 TCGA 样本,涵盖 26 种癌症队列和 106 个分子亚型。
- 使用交叉验证评估模型性能,最终选出 737 个最优分类器。
- 外部验证:
- 采用 METABRIC 和 AURORA 乳腺癌数据集,测试模型的泛化能力。

(3) 结果(Results)
-
分类模型构建与性能评估:
- 统计不同数据类型对分类的贡献。
- 发现 mRNA 在大多数癌症亚型分类中起主导作用。

-
外部数据集验证:
- 评估不同 ML 方法在不同测序平台(RNA-seq vs. 微阵列)上的稳健性。
-
模型泛化能力:
- 发现 70 个样本足以预测分类器的最终性能。
- 研究不同癌症亚型对单一数据类型的依赖程度。
(4) 讨论(Discussion)
- TCGA 亚型分类的临床应用潜力:
- 预测新样本时,可提供标准化的癌症分子亚型信息。
- 未来可用于开发简化的癌症检测面板。

- 研究局限性:
- TCGA 数据可能未涵盖所有癌症亚型。
- 不同测序平台可能影响模型泛化能力。
(5) 结论(Conclusion)
- 研究提供了一个通用的分类框架,可用于非 TCGA 样本的 TCGA 亚型分类。
- 公开 737 个高性能分类器,可用于癌症检测和精准医学研究。
3. 文章的主要贡献
(1) 机器学习驱动的癌症分型
- 使用 5 种机器学习方法 训练 TCGA 数据:
- AKLIMATE
- CloudForest
- SKGrid
- JADBio
- subSCOPE
- 训练 412,585 个分类模型,最终筛选出 737 个最优模型。
- 提供 Docker 版本,保证可复现性和易用性。
(2) 多组学数据整合
- 研究分析了不同数据类型的贡献:
- mRNA 对大多数癌症亚型分类最关键。
- DNA 甲基化 在 LGG、GBM 等脑肿瘤分类中尤为重要。
- 突变数据(Mutations) 适用于黑色素瘤(SKCM)。
- 整合多种组学数据可提高分类准确度。
(3) 临床应用价值
- 提供 TCGA 亚型分类,提高癌症精准医学能力:
- 不同 TCGA 亚型的患者具有不同的预后和治疗策略。
- 例如:CMS1 结直肠癌(高 MSI-H)对 PD-1 免疫治疗敏感,而 CMS4 免疫排斥明显。
- 帮助医生和研究人员在新数据集中分类样本,指导精准治疗。
(4) 公开可用的工具
- 提供 Docker 容器,简化安装和使用。
- GitHub 代码公开,提高可复现性。
https://github.com/NCICCGPO/gdan-tmp-models
3. 作者的主要单位
| 单位 | 机构类型 | 研究重点 | 是否与临床相关 |
|---|---|---|---|
| Oregon Health & Science University (OHSU) | 医学中心 | 癌症基因组学、精准医学 | ✅ 高度相关 |
| University of California, San Francisco (UCSF) | 医学中心 | 肿瘤学、精准医学 | ✅ 高度相关 |
| Dana-Farber Cancer Institute (DFCI) | 癌症中心 | 肿瘤学、临床研究 | ✅ 高度相关 |
| MD Anderson Cancer Center (UTMDACC) | 癌症医院 | 癌症治疗、精准医学 | ✅ 高度相关 |
| National Cancer Institute (NCI) | 政府研究机构 | 癌症基因组、精准医学 | ✅ 高度相关 |
| The Broad Institute (MIT & Harvard) | 研究机构 | 癌症基因组、药物开发 | ✅ 高度相关 |
| University of California, Santa Cruz (UCSC) | 大学 | 计算生物学、生物信息学 | ❌ 主要是计算研究 |
| King Abdullah University of Science and Technology (KAUST) | 大学 | 计算机科学、机器学习 | ❌ 主要是算法,不直接涉及临床 |
📌 结论:
- 该研究团队涵盖了癌症精准医学、基因组学、计算生物学、机器学习等多个领域,保证了该研究的高临床相关性和计算分析的前沿性。
4. 如何使用 Docker 进行数据处理
(1) 安装 Docker
首先,确保服务器已安装 Docker:
docker --version # 确认安装
如果未安装,可以运行以下命令安装:
sudo apt update
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker
(2) 克隆 GitHub 仓库
git clone https://github.com/NCICCGPO/gdan-tmp-models.git
cd gdan-tmp-models
(3) 拉取 Docker 镜像
docker pull nciccpo/gdan-tmp-aklimate:latest
docker pull nciccpo/gdan-tmp-cloudforest:latest
docker pull nciccpo/gdan-tmp-skgrid:latest
docker pull nciccpo/gdan-tmp-jadbio:latest
docker pull nciccpo/gdan-tmp-subscope:latest
(4) 准备输入数据
mkdir -p ~/gdan-input
mkdir -p ~/gdan-config
将**RNA-seq 表达数据(FPKM/TPM)**放入 ~/gdan-input/ 目录,并创建 YAML 配置文件 ~/gdan-config/config.yml:
model: aklimate
input_data:mRNA: /data/mRNA_expression.csv
output:results: /data/prediction_results.csv
(5) 运行 Docker 进行 TCGA 亚型预测
docker run --rm --cpus=64 \-v ~/gdan-input:/data \-v ~/gdan-config:/config \nciccpo/gdan-tmp-aklimate:latest /config/config.yml
📌 参数解释
--cpus=64:使用 64 核 CPU(可根据服务器性能调整)。-v ~/gdan-input:/data:映射输入数据目录到/data。-v ~/gdan-config:/config:映射 YAML 配置文件目录到/config。
(6) 查看预测结果
ls ~/gdan-input
cat ~/gdan-input/prediction_results.txt
或者:
import pandas as pd
df = pd.read_csv("~/gdan-input/prediction_results.csv")
print(df.head())
5. 结果解读
示例结果:
Sample_ID Predicted_TCGA_Subtype Confidence_Score
Sample_001 BRCA_LuminalA 0.95
Sample_002 LGG_IDH_Mutant 0.87
Sample_003 SKCM_BRAF_Mutant 0.92
📌 解读
Predicted_TCGA_Subtype:模型预测的 TCGA 亚型Confidence_Score(0-1):置信度,越高表示分类越可靠- 如果置信度低(如 <0.7),说明该样本可能更偏向其他亚型或需要额外数据支持(如 DNA 甲基化)。
6. 结论
✅ 该研究基于 TCGA 数据,提供了精准的癌症亚型分类工具
✅ 支持 RNA-seq(mRNA)数据,适用于临床研究和精准医学
✅ 使用 Docker 容器化,保证可复现性,提供 737 个高性能分类器
✅ 有助于个性化治疗,如免疫治疗和靶向治疗策略的选择
📌 下一步
- 尝试用自己的 RNA-seq 数据跑一次分析
- 如果分类结果置信度较低,可考虑添加 DNA 甲基化或突变数据
- 如有问题,可以查看 Docker 日志:
docker logs <CONTAINER_ID>
相关文章:
机器学习在癌症分子亚型分类中的应用
学习笔记:机器学习在癌症分子亚型分类中的应用——Cancer Cell 研究解析 1. 文章基本信息 标题:Classification of non-TCGA cancer samples to TCGA molecular subtypes using machine learning发表期刊:Cancer Cell发表时间:20…...
Ansible自动化部署K8s集群一 Ansible的基础使用实战
一、Ansible介绍 1.安装ansible: yum install ansible -y 2.ansible的架构图: 3.ansible四部分: inventory:ansible管理的主机信息,包括ip地址、ssh端口、账号和密码等 modules:任务均由模块完成 plugins:增加ansible的核心功能 pla…...
ZooKeeper Watcher 机制详解:从注册到回调的全过程
引言 在分布式系统中,数据的实时性和一致性是至关重要的。ZooKeeper 通过其 Watcher 机制提供了一种高效的方式来监听数据变化或事件,从而使客户端能够在数据发生变化时立即收到通知。本文将深入探讨 ZooKeeper 的 Watcher 机制,具体包括客户…...
flutter_tools/gradle Unsupported class file major version 65 问题解决
1.问题定位 使用 命令 flutter doctor --verbose 可以查看当前项目中,使用的java的版本。 [✓] Android Studio (version 2024.2)• Android Studio at /Applications/Android Studio.app/Contents• Flutter plugin can be installed from:🔨 https…...
C++设计模式 - 模板模式
一:概述 模板方法(Template Method)是一种行为型设计模式。它定义了一个算法的基本框架,并且可能是《设计模式:可复用面向对象软件的基础》一书中最常用的设计模式之一。 模板方法的核心思想很容易理解。我们需要定义一…...
mysql查缺补漏
好文推荐: 【数据库】快速理解脏读、不可重复读、幻读-CSDN博客 再探幻读!什么是幻读?为什么会产生幻读,MySQL中是怎么解决幻读的?-CSDN博客 引擎 mysql默认引擎:innodb 1.支持行锁 2.支持事务 3.支持外键 索引…...
跨越边界,大模型如何助推科技与社会的完美结合?
点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 概述 2024年,大模型技术已成为人工智能领域的焦点。这不仅仅是一项技术进步,更是一次可能深刻影响社会发展方方面面的变革。大模型的交叉能否推动技术与社会的真正融合?2025年…...
哪吒闹海!SCI算法+分解组合+四模型原创对比首发!SGMD-FATA-Transformer-LSTM多变量时序预测
哪吒闹海!SCI算法分解组合四模型原创对比首发!SGMD-FATA-Transformer-LSTM多变量时序预测 目录 哪吒闹海!SCI算法分解组合四模型原创对比首发!SGMD-FATA-Transformer-LSTM多变量时序预测效果一览基本介绍程序设计参考资料 效果一览…...
前端【技术方案】浏览器兼容问题(含解决方案、CSS Hacks、条件注释、特性检测、Polyfill 等)
浏览器兼容性测试工具 https://www.browserstack.com/ HTML 兼容处理 问题1 - 不支持 HTML5 新标签 旧版浏览器(主要是 IE8 及以下)不支持 HTML5 新标签(如 <header>、<nav>、<article> 等) 解决方案 引入 H…...
荣耀手机Magic3系列、Magic4系列、Magic5系列、Magic6系列、Magic7系列详情对比以及最新二手价格预测
目录 荣耀Magic系列手机详细对比 最新二手价格预测 性价比分析 总结 以下是荣耀Magic系列手机的详细对比以及最新二手价格预测: 荣耀Magic系列手机详细对比 特性荣耀Magic3系列荣耀Magic4系列荣耀Magic5系列荣耀Magic6系列荣耀Magic7系列处理器骁龙888&#x…...
后盾人JS -- 模块化开发
开发模块管理引擎 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </he…...
CNN卷积神经网络多变量多步预测,光伏功率预测(Matlab完整源码和数据)
代码地址:CNN卷积神经网络多变量多步预测,光伏功率预测(Matlab完整源码和数据) 标题:CNN卷积神经网络多变量多步预测,光伏功率预测 一、引言 1.1 研究背景及意义 随着全球能源危机的加剧和环保意识的提升ÿ…...
深入 JVM 虚拟机:字符串常量池演变与 intern() 方法工作原理解析
🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall ︱vue3-element-admin︱youlai-boot︱vue-uniapp-template 🌺 仓库主页: GitCode︱ Gitee ︱ Github 💖 欢迎点赞 👍 收藏 ⭐评论 📝 如有错误敬请纠正! 前言 在 Java 开发中,字符串常量池(String Constant…...
单向/双向,单层/多层RNN输入输出维度问题
单向/双向,单层/多层RNN输入输出维度问题 RNN单层单向RNNRnn CellRnn 双层单向RNN单层双向RNN双层双向RNN RNN 单层单向RNN Rnn Cell 循环神经网络最原始的Simple RNN实现如下图所示: 下面写出单个时间步对应的Rnn Cell计算公式: 如果用矩阵运算视角来看待的话&…...
chromium-mojo
https://chromium.googlesource.com/chromium/src//refs/heads/main/mojo/README.md 相关类:https://zhuanlan.zhihu.com/p/426069459 Core:https://source.chromium.org/chromium/chromium/src//main:mojo/core/README.md;bpv1;bpt0 embedder:https://source.chr…...
ZooKeeper 的典型应用场景:从概念到实践
引言 在分布式系统的生态中,ZooKeeper 作为一个协调服务框架,扮演着至关重要的角色。它的设计目的是提供一个简单高效的解决方案来处理分布式系统中常见的协调问题。本文将详细探讨 ZooKeeper 的典型应用场景,包括但不限于配置管理、命名服务…...
缓存组件<keep-alive>
缓存组件<keep-alive> 1.组件作用 组件, 默认会缓存内部的所有组件实例,当组件需要缓存时首先考虑使用此组件。 2.使用场景 场景1:tab切换时,对应的组件保持原状态,使用keep-alive组件 使用:KeepAlive | Vu…...
YouBIP 项目
技术方案 难点 成效 项目背景 库存管理涉及大量数据,如何在前端实现高效的数据展示和交互是一个挑战。库存管理系统需要处理大量的入库、出库、盘点等操作,尤其是在大企业或多仓库场景下,高并发操作可能导致数据库锁争用、响应延迟等问题。…...
react概览webpack基础
react概览 课程介绍 webpack 构建依赖图->bundle 首屏渲染: 减少白屏等待时间 数据、结构、样式都返回。需要服务器的支持 性能优化 ***webpack干的事情 模块化开发 优势: 多人团队协作开发 可复用 单例:全局冲突 闭包 模块导入的顺序 req…...
DeepSeek 助力 Vue 开发:打造丝滑的步骤条
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
