DEGAS(单细胞诊断证据量表,Diagnostic Evidence GAuge of Single cells)是一种迁移学习框架,用于将疾病信息从患者转移到细胞。作者将这种可转移信息称为“印象-impressions”,它允许单细胞与疾病属性相关联,例如诊断、预后和对治疗的反应。
来自:Diagnostic Evidence GAuge of Single cells (DEGAS): a flexible deep transfer learning framework for prioritizing cells in relation to disease,Genome Medicine,2022
工程地址:https://github.com/tsteelejohnson91/DEGAS。
背景
- DEGAS使用"疾病属性-disease attributes"作为广义术语,比如诊断信息,疾病亚型,疾病状态,生存,等等预后信息。对于seurat和类似方法,可以识别细胞类型(或者无监聚类),再将簇与疾病属性关联–这种方法无法识别与"疾病属性"相关的子集,尤其是当疾病相关细胞与非疾病相关细胞(同类型细胞)聚集在一起时。
- bulkRNA-seq包含大量patient样本,scRNA-seq包含少量patient样本–但每个patient样本都包含大量的cell样本。
- 过去的方法:直接建立疾病与scRNA-seq细胞类型的关联–关注给定细胞类型中与疾病属性相关的DEG的数量–它们将疾病关联分配给预定义的细胞类型,而不是单个细胞。
DEGAS原理
细胞和组织中基因的表达模式应带有部分相同的生物学模式,例如分子通路、信号级联和/或代谢过程,从而使从这部分基因表达模式中学到的信息可以在患者(bulk-seq)和细胞(sc-seq)之间转移。假设是,从这些共享基因表达模式中学到的潜在表征将同时预测患者的疾病属性和细胞亚型。
方法
实验设计和数据集
DEGAS需要一个 scRNA-seq 数据集、一个bulk数据集和患者样本标签(与bulk数据样本匹配)作为输入。在对原始输入表达数据进行特征选择和缩放后,应该有两个表达矩阵,行对应于样本/细胞,列对应于基因。此外,患者样本标签应进行one-hot编码,行对应于每个样本,列对应于每个标签类别。如果还有细胞标签,也应该对它们进行独热编码,每行对应一个细胞,每列对应一类标签。DEGAS 模型可以在这些格式化数据上进行训练和预测。
数据集包括模拟数据、GBM、AD(阿尔茨海默病)和MM(多发性骨髓瘤)的数据。这些数据被分为以下部分:
-
模拟数据:使用Splatter生成了5000个细胞,其中2000个用于生成模拟患者。模拟了三种情况:第一种情况下,细胞类型1与疾病相关;第二种情况下,细胞类型4的某个亚型与疾病相关;第三种情况下,细胞类型4的两个亚型都与疾病相关。
-
GBM数据:使用了Patel等人的scRNA-seq数据,包含五个肿瘤的单细胞表达值。此外,还使用了来自TCGA GBM的微阵列数据,以及GBMs的亚型标签。
-
AD数据:使用了Allen脑科学研究所脑细胞类型数据库的人类单细胞scRNA-seq数据,以及来自MSBB研究的AD患者RNA-seq数据。
-
MM数据:包含了来自MMRF的患者基因组和临床数据,特别是关注PFS(无进展生存期)。还使用了Chen等人的scRNA-seq数据。
数据集的组织方式是将每个数据集中的特征选择出来,进行标准化处理后转换为适用于模型的格式。
DEGAS迁移学习
多种类型的标签,包括 Cox 比例风险、患者分类和细胞类型分类,以及最大均值差异 (MMD)(一种用于匹配不同数据集分布的技术 ),被组合在一起以创建深度多任务迁移学习框架 DEGAS。
第一步是找到一组基因表达特征,这些特征既能提供细胞类型信息,又能提供患者疾病属性(例如复发-recurrence)信息。在 scRNA-seq 和患者样本的bulk数据中发现的高方差基因的交集可用于进一步分析。该基因集的定义取决于用户,可以使用 Seurat-CCA 、LASSO 选择 ,甚至 t 检验和 f 检验等统计检验来定义基因集。由于这些特征在患者和单细胞之间是相同的,因此患者和细胞共享相同的输入层。这使得无论输入样本类型(患者或单细胞数据)如何,都可以预测比例风险-proportional hazard和细胞类型。
- 图1:DEGAS 框架的工作流程图。A:DEGAS 并非旨在取代可用于加载、预处理、选择特征、聚类和可视化 scRNA-seq 数据的丰富软件包。它更旨在增强这些软件包以将疾病关联分配给细胞。B:scRNA-seq 和患者表达数据被预处理成表达矩阵。接下来,使用多任务学习神经网络,使用单细胞和患者疾病属性训练 DEGAS 模型,该网络学习潜在表示,使用最大平均差异 (MMD) 减少最终隐藏层中患者和单细胞之间的差异。C:该模型的输出层可用于同时推断单细胞中的疾病属性印象和患者的细胞组成印象(可迁移的信息称为印象)
本文中的所有实验均使用 five-bootstrap aggregated three-layer DenseNet-based DEGAS 实现,但 DEGAS 框架的最简单形式是单层网络。在整体架构描述中(如图 1B、C 所示),出于简单起见,只使用单层网络来呈现。首先,使用隐藏层通过 S 型激活函数将基因转换到较低维度。其中
X
X
X 表示输入表达矩阵,
θ
H
i
d
d
e
n
θ_{Hidden}
θHidden 表示隐藏层权重:
接下来,为患者输出和单细胞输出添加输出层。对于sc,可以有分类输出或没有输出。没有输出意味着没有已知的单细胞标签可以匹配。同样,患者可以有 Cox 比例风险输出、分类输出或没有输出(意味着没有已知的患者标签)。
Cox 比例风险估计包括线性转换为单个输出,然后是 S 形激活函数:
其中变量
X
X
X 表示输入表达矩阵,
θ
C
o
x
θ_{Cox}
θCox 表示 Cox 比例风险层权重,
b
C
o
x
b_{Cox}
bCox 表示 Cox 比例风险层偏差。
分类输出包括使用 softmax 激活函数转换为与标签数量相同的输出数量,即患者亚型、细胞亚型:
为了训练 DEGAS 模型,需要分别为 Cox 比例风险输出、分类输出和 MMD 计算三种类型的损失函数。Cox 比例风险损失仅使用随访期 (
C
C
C) 和事件状态 (
t
t
t) 针对患者表达数据 (
X
P
a
t
X_{Pat}
XPat) 计算:
同样,患者分类损失仅使用患者标签 (
Y
P
a
t
Y_{Pat}
YPat) 针对患者数据 (
X
P
a
t
X_{Pat}
XPat) 计算。或者,细胞分类损失仅针对单细胞表达数据 (
X
C
e
l
l
X_{Cell}
XCell) 和真实亚型标签 (
Y
C
e
l
l
Y_{Cell}
YCell) 计算:
MMD 损失是在患者表达数据 (
X
P
a
t
X_{Pat}
XPat) 和单细胞表达数据 (
X
C
e
l
l
X_{Cell}
XCell) 之间计算的,这是映射单细胞和患者bulk tissue数据之间数据表示分布的关键:
减小MMD损失有助于对齐sc和bulk的latent space。
然后根据数据集提供的标签组合这些损失得到总的损失。
总之,DEGAS使用一个公共隐藏层来合并单细胞和患者数据。接下来,添加一个输出层来预测患者样本的比例风险或类别。对于每个患者,比例风险预测或患者分类的损失函数在两个层上反向传播。单细胞还有一个输出层,由 softmax 输出组成,用于预测每个细胞的细胞亚型。误差从每个细胞的标签输出反向传播到两个层。最后,DEGAS学习了一个可以同时模拟单细胞和患者的模型。为了完成这项任务,DEGAS利用 MMD 方法以低维表示减少患者和细胞之间的差异。将单细胞和患者bulk tissue数据合并为一个组,从而最小化患者bulk tissue数据和来自多个患者的单细胞数据之间的 MMD 损失。
为了保持分析的一致性,作者在所有实验中使用了相同的网络架构和超参数。具体来说,使用了三层 DenseNet,并进行了五次bootstrap聚合(训练了五个这样的模型)。
为何可以把疾病属性传递到细胞:
- 细胞和patient被整合到同一个空间下,然后就能让细胞embedding通过patient分类分支输出细胞对应的疾病属性预测,patient通过细胞分类分支则能输出bulk tissue中的细胞组成成分。
特征选择和缩放
目前,各种通用统计软件包和 scRNA-seq 软件包中已经提供了多种特征选择技术。因此,DEGAS 并不主要关注特征选择、数据清理和 scRNA-seq 聚类,DEGAS关注的是将临床特征从患者转移到细胞,以便对这些细胞进行优先排序。因此,在应用 DEGAS 框架之前,可以使用多种特征选择技术。
scRNA-seq 的数据通常非常稀疏。因此,对于任何给定的细胞,只有很少的基因具有表达。因此,有必要进行特征选择以去除表达低或方差非常低的基因。当我们在大量表达数据中选择高方差和高表达的基因时,更多的基因会被过滤掉。在高表达和高方差基因这两组基因相交后,一般只剩下不到 1000 个基因。值得注意的是,这种基因特征数量与 Seurat 结果相当,Seurat 分析通常会选择数百到几千个高度可变的基因。由于数据稀疏性和方差彼此差异很大,因此特征选择步骤针对每个数据集进行了量身定制,因此量身定制的选择确保有足够的高变基因可供训练。特征选择步骤在模拟、GBM、AD 和 MM 实验部分中分别有描述。
对于每个实验,最终的特征缩放步骤是一致的。基因表达被转换为样本 z score,因为它允许基因在样本之间更具可比性(z score通过将不同量级的数据转化为统一量级的z score分值,使得数据标准统一化)。作为深度学习模型的输入,将这些 z score缩放到 [0,1] 范围。
疾病关联分数
最终的 DEGAS 输出是 S 型函数或 Softmax 激活函数的输出。出于这些原因,将 [0,1] 标签输出转换为关联分数-association score(可以解释为相关系数-correlation coefficient)会很有用。可以使用 DEGAS 包中的 toCorrCoeff 函数将 DEGAS 的输出概率矩阵转换为 [− 1,1] 值。此函数使用下面公式将具有
k
k
k 个标签的 [0,1] 输出值矩阵
P
P
P 转换为 [-1,1]:
部分实验案例
模拟数据上的DEGAS
首先,使用 Splatter 在四种细胞类型中生成了 5000 个单细胞,其中细胞类型 4 有两种亚型(细胞类型 4 疾病和细胞类型 4 正常:cell type 4 disease 和 cell type 4 normal)。作者将这些细胞随机分成两部分,其中 2000 个细胞用于生成患者bulk tissue数据,3000 个细胞直接用作单细胞数据。这 2000 个单细胞用于在三个不同的实验(指定为simulation 1、2 和 3)中生成 600 名患者,其中:
- 在模拟 1 中cell type 1 与疾病相关;
- 在模拟 2 中只有cell type 4 disease与疾病相关;
- 在模拟 3 中整个cell type 4 都与疾病相关。
每个患者的bulk tissue数据都是通过按照下表中的比例随机组合 400 个单细胞生成的。
然后,通过使用细胞类型和疾病属性训练 DEGAS ClassClass 模型(patient和sc都是分类分支)来进行 10 倍交叉验证。训练期间总共使用了 1000 个基因特征。使用 PR-AUC 和 ROC-AUC 评估了模型将患者标签映射到患者上以及将细胞类型标签映射到单个细胞上的能力。
模拟数据上的结果
- A:来自 Splatter 的 5000 个模拟细胞,具有 4 种细胞类型,其中一种细胞类型有两种亚型。细胞类型 4 由两种特定于疾病或正常患者的亚型组成。总共有 2000 个细胞用于生成 B-D 中的 600 名模拟患者,3000 个细胞用作 DEGAS 模型的细胞输入。
- E:基于未用于生成患者的 3000 个细胞的平均轮廓宽度的最佳簇数(4 个簇)。F:用作细胞输入的3000 个细胞按其簇着色。G:DEGAS 与模拟 1 中的 Augur 的比较。H:DEGAS 与模拟 2 中的 Augur 的比较。I:DEGAS 与模拟 3 中的 Augur 的比较。
- J-L:DEGAS 计算的来自每个模拟实验的疾病关联叠加到 3000 个细胞上。左下角的小提琴图是模拟 1 实验的patients中cell type 1 的细胞类型比例(疾病和normal,类型来自疾病关联得分)、模拟 2 实验的patients中cell type 4 的比例(K)以及模拟 3 实验的patients中cell type 4 的比例(L)