机器学习在癌症分子亚型分类中的应用
学习笔记:机器学习在癌症分子亚型分类中的应用——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…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...
Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...
数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !
我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...
GraphQL 实战篇:Apollo Client 配置与缓存
GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...
