当前位置: 首页 > 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.mrgr.cn/news/64867.html

相关文章:

  • Docker小记
  • Flutter UI架构(3)
  • 关于 AJAX 与 Promise
  • 【自用】fastapi学习记录--请求和参数
  • GitHub中搜索项目方法
  • 探索Python新境界:Buzhug库的神秘面纱
  • 数据结构与算法(1)
  • 从一到无穷大 #40:DB AI 融合
  • 第三次RHCSA作业
  • Java入门 (6) -- 动态编程的奥秘
  • 视频QoE测量学习笔记(二)
  • masm汇编字符输入输出演示
  • 20221403郑骁恒-TLCP 协议验证
  • IDEA控制台日志乱码问题
  • 我主编的电子技术实验手册(22)——RC并联电路
  • jsweb2
  • 从“被围剿”到“满堂彩”,3A游戏让中国游戏人挺直脊背
  • RAG流程
  • [vulnhub]DC:7
  • RHCE——DNS域名解析服务器、selinux、防火墙
  • 从CAB到PAB Oracle的AI 23.6(之二)
  • Python的80个小tips(上)
  • 【Linux】从零开始使用多路转接IO --- select
  • [FE] React 初窥门径(四):React 组件的加载过程(render 阶段)
  • 【学术论文投稿】探索嵌入式硬件设计:揭秘智能设备的心脏
  • Netty 组件介绍 - Future Promise