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

scIDST:弱监督学习推断单细胞转录组数据中的疾病进展阶段

背景:患者来源组织中的单个细胞,每个都处于不同的病理阶段,因此这种细胞变异性阻碍了随后的差异基因表达分析。
结果:为了克服这种异质性问题,作者提出了一种新的深度学习方法,scIDST,该方法可以在弱监督框架下推断单个细胞的疾病进展水平。推断出的疾病细胞显示出疾病相关基因的显著差异表达,这在患者和健康受试者之间的比较分析中无法检测到。此外,作者证明了scIDST预训练模型适用于多个独立的数据资源,有利于推断与某些疾病相关的细胞。

  • scIDST是弱监督学习,但不是多实例学习

来自:Inferring Disease Progressive Stages in Single-Cell Transcriptomics Using Weakly-Supervised Deep Learning Approach

目录

  • 背景概述
  • scIDST用法

背景概述

在过去的几年中,单细胞技术迅速发展,并被应用在测量患者来源的组织,以更好地了解和对抗各种疾病。与健康供体数据的比较分析被广泛用于识别潜在的疾病相关细胞(比如NG分析报告)。患者来源的生物标本由不同病理阶段的细胞混合物组成,同样含有健康细胞。这种异质性模糊了患者和健康受试者之间的差异表达,进一步阻碍真正疾病相关基因表达模式的识别。

传统上,患者来源的单细胞数据的细胞异质性可以被基于聚类的方法解析。为了确定疾病特异性细胞状态,作者对来自帕金森病(PD)患者和健康的年轻和老年供者的中脑单细胞RNA-seq进行了聚类分析(例如Seurat的基于图的聚类),降维后难以识别出PD患者独有或主要的簇:
figs1

因此,为了准确从单细胞数据中发现与疾病相关的分子元素,基于疾病进展水平对细胞进行分类是至关重要的。目前,深度学习在推断单个细胞的疾病进展方面的应用有限。其中一个主要挑战可能是难以训练模型并从二元诊断信息(例如患者=1或健康供体=0)回归连续疾病进展水平。为了克服这些问题,作者提出了一种新的方法,scIDST,通过弱监督深度学习推断单细胞转录组谱中单个细胞的疾病进展水平。弱监督模型利用从一小部分标记数据集,并对大型不清晰数据集给出弱标签。作者证明,弱监督深度学习模型成功地分离出疾病相关基因表达异常的细胞,推断出不同数据源中的病变细胞。

scIDST用法

fig2

弱监督深度学习模型由三个主要步骤组成:i)自编码器引导的降维,ii)概率标签的生成,以及iii)使用多层人工神经网络对患病细胞进行分类。采用Tensorflow python库(v2.9.0)和Keras Tuner API (v1.1.2)实现。以下是scIDST的技术说明:

准备单细胞数据和二进制标签
作为输入,scIDST需要counts矩阵和二进制数据标签。二进制数据标签由用户根据患者/供体信息手动创建(例如PD患者为1,健康受试者为0),并保存为csv格式。标签是细胞水平的,PD患者的细胞标签全部为1。

预训练自编码器用于降维
该算法首先由一个自编码器组成,该编码器是一个人工神经网络,用于将scRNA-seq数据压缩到较低的维度。自编码器能够捕获数据之间的非线性关系,并且比其他降维方法(例如PCA)更适合大型复杂数据集。除解码器的输出层使用sigmoid函数外,在自编码器的每一层上采用双曲正切激活函数。该模型在10个epoch的归一化特征条形码矩阵上进行训练,使用优化器函数(例如Adam)最小化预测输出与输入之间的平方差和的平均值(即均方误差损失函数)。

分配标签概率
采用Reef/Snuba算法实现二元标签到概率标签的转换。简而言之,Reef/Snuba系统首先从一小部分降维单细胞数据集和二元标签中生成多个启发式算法,例如决策树。然后计算每个启发式模型的置信水平,以修剪低质量的启发式。Reef/Snuba迭代执行这些步骤(约50次),最终提供具有高质量启发式的概率标签。在scIDST管道中,10%的单细胞数据集被随机选择并用于开发启发式算法,然后将概率标签分配给其他90%数据集中的单个细胞。此过程重复多次(例如10次),并将概率标签的平均值用于后续分类器模型的训练。

Reef/Snuba算法生成的标签是概率标签,soft形式可以抗噪声,像知识蒸馏一样,从而削弱伪标签中的噪声影响。所以得到概率标签再训练分类器。因此,体现弱监督学习的主要是Reef/Snuba算法生成的标签这一步

http://www.lryc.cn/news/475634.html

相关文章:

  • Linux 下执行定时任务之 Systemd Timers
  • flutter 专题二 Flutter状态管理之Riverpod 0.8.4
  • 【Linux】从零开始使用多路转接IO --- poll
  • Docker配置宿主机目录和网络映射
  • 第十七课 component组件解析
  • 求余和求模是不是一样的,就要看看计算机中的 fix 和 floor 区别
  • 00 递推和递归的核心讲解
  • 深度学习常用开源数据集介绍【持续更新】
  • rust编写的系统监测器
  • 【MyBatis源码】CacheKey缓存键的原理分析
  • 034_Structural_Transient_In_Matlab结构动力学问题求解
  • 项目模块十五:HttpResponse模块
  • 推荐一款优秀的pdf编辑器:Ashampoo PDF Pro
  • 【系统架构设计师】2024年上半年真题论文: 论模型驱动架构设计方法及其应用(包括解题思路和素材)
  • 国内短剧源码短剧系统搭建小程序部署H5、APP打造短剧平台
  • Java集合框架面试指南
  • 八、MapReduce 大规模数据处理深度剖析与实战指南
  • 开源免费的API网关介绍与选型
  • OpenCV视觉分析之目标跟踪(5)目标跟踪类TrackerMIL的使用
  • 二级列表联动
  • 「C/C++」C++ 标准库 之 #include<sstream> 字符串流库
  • 深入理解跨域资源共享(CORS)安全问题原理及解决思路
  • 【汽车租聘管理与推荐】Python+Django网页界面+推荐算法+管理系统网站
  • Linux常见指令大全(必要+知识点)
  • iOS用rime且导入自制输入方案
  • Linux 进程终止 进程等待
  • VBA 64位API声明语句第003讲
  • 【问题记录】解决VMware虚拟机中鼠标侧键无法使用的问题
  • Naive UI 级联选择器 Cascader的:render-lable怎么使用(Vue3 + TS)(鼠标悬停该条数据的时候展示全部内容)
  • vue元素里面的 js对象中,:style后面里属性名不支持这种带-的写法(background-color)