当前位置: 首页 > news >正文

机器学习在癌症分子亚型分类中的应用

学习笔记:机器学习在癌症分子亚型分类中的应用——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>
    

相关文章:

机器学习在癌症分子亚型分类中的应用

学习笔记&#xff1a;机器学习在癌症分子亚型分类中的应用——Cancer Cell 研究解析 1. 文章基本信息 标题&#xff1a;Classification of non-TCGA cancer samples to TCGA molecular subtypes using machine learning发表期刊&#xff1a;Cancer Cell发表时间&#xff1a;20…...

Ansible自动化部署K8s集群一 Ansible的基础使用实战

一、Ansible介绍 1.安装ansible: yum install ansible -y 2.ansible的架构图&#xff1a; 3.ansible四部分&#xff1a; inventory:ansible管理的主机信息&#xff0c;包括ip地址、ssh端口、账号和密码等 modules:任务均由模块完成 plugins:增加ansible的核心功能 pla…...

ZooKeeper Watcher 机制详解:从注册到回调的全过程

引言 在分布式系统中&#xff0c;数据的实时性和一致性是至关重要的。ZooKeeper 通过其 Watcher 机制提供了一种高效的方式来监听数据变化或事件&#xff0c;从而使客户端能够在数据发生变化时立即收到通知。本文将深入探讨 ZooKeeper 的 Watcher 机制&#xff0c;具体包括客户…...

flutter_tools/gradle Unsupported class file major version 65 问题解决

1.问题定位 使用 命令 flutter doctor --verbose 可以查看当前项目中&#xff0c;使用的java的版本。 [✓] Android Studio (version 2024.2)• Android Studio at /Applications/Android Studio.app/Contents• Flutter plugin can be installed from:&#x1f528; https…...

C++设计模式 - 模板模式

一&#xff1a;概述 模板方法&#xff08;Template Method&#xff09;是一种行为型设计模式。它定义了一个算法的基本框架&#xff0c;并且可能是《设计模式&#xff1a;可复用面向对象软件的基础》一书中最常用的设计模式之一。 模板方法的核心思想很容易理解。我们需要定义一…...

mysql查缺补漏

好文推荐&#xff1a; 【数据库】快速理解脏读、不可重复读、幻读-CSDN博客 再探幻读&#xff01;什么是幻读?为什么会产生幻读&#xff0c;MySQL中是怎么解决幻读的&#xff1f;-CSDN博客 引擎 mysql默认引擎&#xff1a;innodb 1.支持行锁 2.支持事务 3.支持外键 索引…...

跨越边界,大模型如何助推科技与社会的完美结合?

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; 概述 2024年&#xff0c;大模型技术已成为人工智能领域的焦点。这不仅仅是一项技术进步&#xff0c;更是一次可能深刻影响社会发展方方面面的变革。大模型的交叉能否推动技术与社会的真正融合&#xff1f;2025年…...

哪吒闹海!SCI算法+分解组合+四模型原创对比首发!SGMD-FATA-Transformer-LSTM多变量时序预测

哪吒闹海&#xff01;SCI算法分解组合四模型原创对比首发&#xff01;SGMD-FATA-Transformer-LSTM多变量时序预测 目录 哪吒闹海&#xff01;SCI算法分解组合四模型原创对比首发&#xff01;SGMD-FATA-Transformer-LSTM多变量时序预测效果一览基本介绍程序设计参考资料 效果一览…...

前端【技术方案】浏览器兼容问题(含解决方案、CSS Hacks、条件注释、特性检测、Polyfill 等)

浏览器兼容性测试工具 https://www.browserstack.com/ HTML 兼容处理 问题1 - 不支持 HTML5 新标签 旧版浏览器&#xff08;主要是 IE8 及以下&#xff09;不支持 HTML5 新标签&#xff08;如 <header>、<nav>、<article> 等&#xff09; 解决方案 引入 H…...

荣耀手机Magic3系列、Magic4系列、Magic5系列、Magic6系列、Magic7系列详情对比以及最新二手价格预测

目录 荣耀Magic系列手机详细对比 最新二手价格预测 性价比分析 总结 以下是荣耀Magic系列手机的详细对比以及最新二手价格预测&#xff1a; 荣耀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完整源码和数据)

代码地址&#xff1a;CNN卷积神经网络多变量多步预测&#xff0c;光伏功率预测&#xff08;Matlab完整源码和数据) 标题&#xff1a;CNN卷积神经网络多变量多步预测&#xff0c;光伏功率预测 一、引言 1.1 研究背景及意义 随着全球能源危机的加剧和环保意识的提升&#xff…...

深入 JVM 虚拟机:字符串常量池演变与 intern() 方法工作原理解析

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall ︱vue3-element-admin︱youlai-boot︱vue-uniapp-template 🌺 仓库主页: GitCode︱ Gitee ︱ Github 💖 欢迎点赞 👍 收藏 ⭐评论 📝 如有错误敬请纠正! 前言 在 Java 开发中,字符串常量池(String Constant…...

单向/双向,单层/多层RNN输入输出维度问题

单向/双向&#xff0c;单层/多层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 相关类&#xff1a;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 的典型应用场景:从概念到实践

引言 在分布式系统的生态中&#xff0c;ZooKeeper 作为一个协调服务框架&#xff0c;扮演着至关重要的角色。它的设计目的是提供一个简单高效的解决方案来处理分布式系统中常见的协调问题。本文将详细探讨 ZooKeeper 的典型应用场景&#xff0c;包括但不限于配置管理、命名服务…...

缓存组件<keep-alive>

缓存组件<keep-alive> 1.组件作用 组件, 默认会缓存内部的所有组件实例&#xff0c;当组件需要缓存时首先考虑使用此组件。 2.使用场景 场景1&#xff1a;tab切换时&#xff0c;对应的组件保持原状态&#xff0c;使用keep-alive组件 使用&#xff1a;KeepAlive | Vu…...

YouBIP 项目

技术方案 难点 成效 项目背景 库存管理涉及大量数据&#xff0c;如何在前端实现高效的数据展示和交互是一个挑战。库存管理系统需要处理大量的入库、出库、盘点等操作&#xff0c;尤其是在大企业或多仓库场景下&#xff0c;高并发操作可能导致数据库锁争用、响应延迟等问题。…...

react概览webpack基础

react概览 课程介绍 webpack 构建依赖图->bundle 首屏渲染&#xff1a; 减少白屏等待时间 数据、结构、样式都返回。需要服务器的支持 性能优化 ***webpack干的事情 模块化开发 优势&#xff1a; 多人团队协作开发 可复用 单例&#xff1a;全局冲突 闭包 模块导入的顺序 req…...

DeepSeek 助力 Vue 开发:打造丝滑的步骤条

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

CSS | transition 和 transform的用处和区别

省流总结&#xff1a; transform用于变换/变形&#xff0c;transition是动画控制器 transform 用来对元素进行变形&#xff0c;常见的操作如下&#xff0c;它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...