对来自不同生物的单细胞数据集的分析为揭示细胞表型的多样化的进化过程提供了前所未有的机会。然而,物种间的基因组差异限制了跨物种数据集的联合分析。SATURN是一种深度学习方法,用于学习通用细胞嵌入,使用蛋白质语言模型编码基因的生物学特性。通过将来自语言模型的蛋白质嵌入与RNA表达相结合,SATURN整合了来自不同物种的数据集,而不考虑它们的基因组相似性。SATURN可以检测跨物种共表达的功能相关基因,重新定义跨物种分析的差异表达。将SATURN应用于三个物种的全生物图谱以及青蛙和斑马鱼的胚胎发育数据集,发现SATURN可以有效地在物种之间传递注释,即使它们在进化上是遥远的。实验还证明,SATURN可以用来发现人类和其他四种物种青光眼相关基因之间潜在的不同基因功能。
来自:Toward universal cell embeddings: integrating single-cell RNA-seq datasets across species with SATURN
背景概述
细胞图谱整合的发展已经可以生成包含数十万个细胞的大规模单细胞数据集,其目标是揭示潜在的细胞过程。通过Human Cell Atlas,Mouse Cell Atlas和Fly Cell Atlas(果蝇)等对不同物种产生的不同数据集进行深入分析,进一步拓宽了我们对细胞生物学特征的理解。然而,目前在整合分析跨物种数据集方面仍然有限。这种联合分析为理解基本的进化过程提供了巨大的潜力,例如识别跨物种保守的细胞类型以及识别驱动此类细胞类型相似性和差异性的对应基因程序。
各种线性和深度学习方法已经被开发出来,用于学习scRNA数据的低维表示(cell embedding)。然而,现有的方法仅将基因表示为RNA表达矩阵的列,因此不能解释基因的生物学特性。这严重限制了它们在分析来自不同物种的数据集时的可用性,因为只有一部分基因可以匹配为一对一的同源。虽然序列比对方法已被探索以纳入跨物种基因之间的加权关系,但它们依赖于任意的比对阈值,并且不能捕获远程同源性。在数以亿计的蛋白质序列上训练的蛋白质语言模型的最新进展表明,通过学习基因编码的蛋白质的信息表示来解决这些问题具有很大的潜力。
因此,作者提出了SATURN (Species Alignment Through Unification of Rna and proteiNs),这是一种深度学习方法,通过将基因表达与大型蛋白质语言模型生成的蛋白质嵌入相结合,整合了跨物种scRNA-seq数据集。SATURN引入了一个宏基因的概念,定义为具有相似蛋白质嵌入的基因群。基因与宏基因的关联强度反映了这种相似性,从而允许被蛋白质嵌入捕获的功能相关基因组合在一起。
SATURN概述
跨物种整合的主要挑战是不同的数据集有不同的基因,这些基因可能没有共同的一对一同源物。将每个物种的一组基因采样子集为一组共同的同源基因,会导致丢失大部分生物相关基因。物种数量的增加进一步加剧了这个问题(数据集越多,同源特征子集越少),因为一个基因必须在每个物种中都有同源物才能被考虑整合。SATURN通过使用大型蛋白质语言模型来学习编码基因生物学意义的细胞嵌入,从而克服了这个问题。SATURN在由蛋白质嵌入确定的功能相关基因空间中绘制跨物种数据集。
具体来说,SATURN整合了来自不同物种的scRNA-seq数据集,利用基因表达和蛋白质表示将它们映射到一个联合的低维嵌入空间。SATURN将以下数据作为输入:
- i.来自一个或多个物种的scRNA-seq counts数据
- ii.由大型蛋白质嵌入语言模型(如ESM2)生成的蛋白质嵌入
- iii.物种内初始细胞注释(如果可用则来自细胞类型分配,如果不可用则通过运行聚类算法获得)。
语言模型用氨基酸序列产生蛋白质表示向量(图1a)。考虑到基因表达和蛋白质嵌入,SATURN学习了多个物种共享的可解释特征空间。我们把这个空间称为宏基因空间,它代表了一个联合空间,由基于蛋白质嵌入的相似性推断出功能相关的基因组成。基因对宏基因的重要性由神经网络权重来定义:重要性越强,连接基因和宏基因的权重就越高。
- 图1a:SATURN将从一个或多个物种产生的scRNA-seq数据集以及这些物种中存在的蛋白质的氨基酸序列作为输入。然后,SATURN通过学习“宏基因”(即一组功能相关的种内和种间基因),将每个物种的基因映射到一个联合特征空间。最后,在共享的宏基因空间中,SATURN通过学习一个联合细胞嵌入空间来整合跨物种的数据集,在该空间中,跨物种保守的细胞类型彼此对齐。
考虑到不同物种之间共享的宏基因表达空间,SATURN随后学习将多个物种之间的细胞表示为宏基因的非线性组合。SATURN中的神经网络首先使用零膨胀负二项(ZINB)损失的自编码器进行预训练,并使用基因到宏基因的权重进行正则化以重建蛋白质嵌入的相似性。使用预训练的网络作为初始化,SATURN然后使用弱监督度量学习的目标学习所有细胞到共享嵌入空间的映射。这使得SATURN能够校准嵌入空间中的距离,以反映细胞标签的相似性。特别是,SATURN中的目标函数由两个主要组成部分组成:
- i.弱监督度量学习使得同一数据集中的不同细胞相距很远
- ii.以无监督的方式迫使数据集上的相似细胞彼此靠近
这一目标使SATURN能够整合不同物种的细胞,同时在每个物种的数据集中保留细胞类型信息。
方法
SATURN 采用 S S S 个物种生成的多个带注释的 scRNA 表达计数数据集 X s 1 , X s 2 , . . . , X s S X^{s_1},X^{s_2},...,X^{s_{S}} Xs1,Xs2,...,XsS,其中 X s i ∈ N + C s i × ∣ G s i ∣ X_{s_{i}}\in\N_{+}^{C_{s_i}\times|G_{s_i}|} Xsi∈N+Csi×∣Gsi∣。初始细胞注释可以通过细胞类型分配(如果可用)或通过运行聚类算法获得。在文中的所有实验中,作者运行 SATURN,在单个物种内使用初始细胞类型分配(注意:没有跨物种匹配)。除了计数矩阵和细胞类型标签,SATURN还需要输入 p p p-dim的蛋白质embedding P ∈ R ∣ G ∣ × p P\in\R^{|G|\times p} P∈R∣G∣×p,其中 G = ∪ i = 1 S G s i G=\cup_{i=1}^{S}G_{s_i} G=∪i=1SGsi。
注意,在蛋白质数据库中找的时候,根据gene_id可以匹配到多个蛋白序列,然后mean pooling成为与gene_id一对一的蛋白embedding。
SATURN映射多物种表达数据到一个联合低维的宏基因空间。一组宏基因为 M M M,通过权重 W ∈ R + ∣ G ∣ × M W\in\R_{+}^{|G|\times M} W∈R+∣G∣×M,其中的元素 W g , m ∈ R + W_{g,m}∈\R_+ Wg,m∈R+是一个从宏基因 m ∈ M m∈M m∈M到基因 g ∈ G g∈G g∈G的权值。SATURN 使用编码器神经网络 f : R ∣ M ∣ → R k f:\R^{|M|}\rightarrow \R^{k} f:R∣M∣→Rk结合宏基因,生成最终的 k k k-dim 潜在细胞嵌入。SATURN 包含两个主要步骤:
- i.使用自动编码器进行预训练
- ii.使用度量学习方法进行微调
这两个步骤都是在所有物种的数据集上联合执行的。
宏基因初始化
SATURN 通过聚类蛋白质嵌入来初始化宏基因。具体来说,SATURN 首先使用 k-means 算法对蛋白质嵌入进行聚类。给定一个存储所有基因蛋白质嵌入的矩阵 P ∈ R ∣ G ∣ × p P\in\R^{|G|\times p} P∈R∣G∣×p,SATURN应用 k-means 获得聚类质心 M = { m i ∈ R p } i = 1 N M M=\left\{\textbf{m}_{i}\in\R^{p}\right\}_{i=1}^{N_{M}} M={mi∈Rp}i=1NM,其中 N M N_{M} NM为宏基因(质心)的数量,k-means最小化簇内的差异: ∑ g ∈ G m i n m ∈ M ( ∣ ∣ P g − m ∣ ∣ 2 ) \sum_{g\in G}min_{\textbf{m}\in M}(||P_{g}-\textbf{m}||^{2}) g∈G∑minm∈M(∣∣Pg−m∣∣2)其中, P g P_{g} Pg表示 P P P的某一行,每个质心表示一个宏基因。SATURN为每个基因 g g g到宏基因 m m m定义了一个初始的权重 { { W g , m ∈ R + } g = 1 ∣ G ∣ } m = 1 ∣ M ∣ \left\{\left\{W_{g,m}\in\R_{+}\right\}_{g=1}^{|G|}\right\}_{m=1}^{|M|} {{Wg,m∈R+}g=1∣G∣}m=1∣M∣: W g , m = 2 × ( l o g ( 1 r d m , g + 1 ) ) 2 W_{g,m}=2\times (log(\frac{1}{rd_{m,g}}+1))^{2} Wg,m=2×(log(rdm,g1+1))2其中 r d m , g : N → N rd_{m,g}:\N\rightarrow\N rdm,g:N→N表示从基因 g g g 到宏基因 m m m 的ranked欧几里得距离,并且 r d m , g = 1 rd_{m,g} = 1 rdm,g = 1 表示距离宏基因最近的基因。该初始化以便基因对它们最接近的宏基因具有最高权重。基因到宏基因的权重严格为正、且在预训练期间更新。
自编码器预训练
在宏基因初始化之后,SATURN 使用具有 ZINB 损失的自动编码器对网络进行预训练。自动编码器由编码器和解码器模块组成。编码器模块首先使用宏基因权重聚合表达值。具体来说,对于来自物种
s
s
s 的细胞
c
c
c,counts为
X
c
s
∈
N
+
∣
G
s
∣
X_{c}^{s}\in\N_{+}^{|G_{s}|}
Xcs∈N+∣Gs∣,基因
g
∈
G
s
g\in G_{s}
g∈Gs,宏基因为
m
∈
M
m\in M
m∈M,SATURN定义宏基因表达量为:
其中 ReLU 表示激活函数。宏基因表达值始终为正,以确保每个基因对宏基因有正向贡献或根本没有贡献。LayerNorm 是层规范化:
编码器模块
f
f
f 由两个完全连接的神经网络层组成,具有 ReLU 激活、层规范化和 dropout,并将
e
c
∈
R
+
\textbf{e}_{c}\in\R_{+}
ec∈R+ 作为输入,输出低维embedding
z
c
∈
R
k
\textbf{z}_{c}\in\R^{k}
zc∈Rk:
z
c
=
f
(
e
c
)
\textbf{z}_{c}=f(\textbf{e}_{c})
zc=f(ec)
解码模块输出三个不同的heads,用于参数化
∣
G
∣
|G|
∣G∣ ZINB分布:
μ
c
∈
R
+
∣
G
∣
,
O
c
∈
R
∣
G
∣
,
θ
∈
R
+
∣
G
∣
\mu_{c}\in\R_{+}^{|G|},O_{c}\in\R^{|G|},\theta\in\R_{+}^{|G|}
μc∈R+∣G∣,Oc∈R∣G∣,θ∈R+∣G∣。
其中,
D
S
,
D
μ
,
D
O
D_{S},D_{\mu},D_{O}
DS,Dμ,DO表示全连接网络。
θ
\theta
θ是可微的参数。SATURN 能够在自动编码器的预训练过程中,将物种
s
s
s 的one-hot表示与前面的
z
c
\textbf{z}_c
zc 连接起来。然而,作者发现这并不能提高性能,因此在所有实验中都将物种条件变量设置为常数值。将物种作为条件变量不会提高性能这一点可能值得考虑,以便开发其他基于自动编码器的单细胞表达数据方法。然而,虽然在这种情况下性能没有得到改善,但对于其他设置或数据集,条件自动编码器 (CAE) 可能是正确的选择,作者在 SATURN 代码库中包含了使用 CAE 进行预训练。
自编码器重建损失
L
r
c
L_{rc}
Lrc,被计算为:
其中
P
\mathbb{P}
P表示概率。为了确保基因到宏基因的权重反映蛋白质嵌入空间的相似性,加入额外的损失
L
s
L_{s}
Ls:
其中
B
=
Q
(
W
)
B=Q(W)
B=Q(W),
Q
:
N
+
∣
M
∣
→
N
n
Q:\N_{+}^{|M|}\rightarrow\N^{n}
Q:N+∣M∣→Nn是全连接网络,用于编码宏基因的权重,MSE 表示均方误差,sim 表示余弦相似度。编码的宏基因权重
B
∈
R
∣
G
∣
×
n
B\in\R^{|G|\times n}
B∈R∣G∣×n和蛋白质embedding
P
P
P 按行进行shuffle。
预训练损失为:
跨物种度量学习
为了自动学习跨物种的距离度量,SATURN 使用弱监督度量学习目标对预训练的细胞嵌入进行微调。具体来说,SATURN 给出三重边际损失函数:
其中,
D
D
D是cosine距离,
a
,
p
,
n
a,p,n
a,p,n表示anchor cell,正样本cell,负样本cell。边际
m
m
m是微调超参数,设为0.2。三元组是使用弱监督方式的semihard online mining来挖掘的。为了挖掘三元组,SATURN 会迭代物种特定的细胞类型注释,但从不使用跨物种注释。这些物种内注释可以预先确定,也可通过Leiden聚类等聚类技术以无监督的方式生成。对于每个注释,SATURN 选择同一物种中具有该注释的所有细胞作为候选anchor细胞。然后,对于每个anchor细胞,SATURN 使用嵌入空间中余弦距离测量的相互最近邻的细胞作为postive cells。这里的相互指的是,如果物种 s1 中的细胞 x 选择了物种 s2 中的细胞 y 作为其跨物种近邻,则 SATURN 会在物种 s1 中找到细胞 y 的近邻 x’。如果物种 s1 中的细胞 x 和 x’ 具有相同的注释,那么就会产生正对。
将anchor细胞和正样本细胞汇集在一起,然后进行匹配,使每个候选anchor细胞都有一个从不同物种中随机选出的相应候选正样本细胞。最后,随机选择负样本细胞,使它们的标签与anchor标签或正样本标签不同。
蛋白质嵌入
蛋白质嵌入是通过在每个物种的参考蛋白质组上应用预训练的蛋白质嵌入语言模型生成的。所有实验均使用 ESM2 模型生成的蛋白质嵌入。ESM2 蛋白质嵌入模型接受氨基酸序列作为输入,并输出代表蛋白质嵌入的 p p p = 5120 维向量。要获得一个基因的蛋白质嵌入,需要对该基因所有可用蛋白质的蛋白质嵌入进行平均。