构建细胞图,NE去噪声
图注意力自编码器学习聚类Embedding
自由化的方式成簇
单细胞测序技术飞速发展,无监督聚类有效迫切需要
尽管现有方法在进步,但由于稀疏高维,数据不稳定,细胞间的关系很难捕获
针对高维问题,一般是用传统聚类来学习聚类的低维表示,Kmeans或者层次聚类。构造细胞-细胞相似矩阵来降低维数,欧氏距离只测量细胞间的线性相似度,很难捕捉到潜在的关系。
RCSL:测量细胞之间的全局和局部关系,构建相似矩阵,然后从该相似矩阵推导出块对角矩阵,得到最终的聚类结果.
SC3: 基于不同相似度量和降维方法构建的多个相似矩阵的Kmeans,然后,将多个结果组合成一个共识矩阵,并对其进行层次聚类.
SAME: 集成了5种方法,为了得到更好的结果。
虽然这些方法明确地将细胞-细胞的相似度信息纳入到细胞的表示中,但成对的相似度只能表征细胞之间表面的而不是潜在的关系。而且,表征学习和聚类在这些方法中大多是两个独立的部分,不能相互受益,从而导致聚类结果不佳 representation learning and clustering是独立的
为了同时学习特征表示和进行聚类,一些作品探索了两种基于深度学习的方法的结合:自动编码器和深度嵌入聚类(DEC) 自动编码器是目前最流行的深度框架之一,它可以以无监督的方式自动学习数据的低维表示。scDeepCluster 使用基于零膨胀负二项模型的自编码器对scRNA-seq数据的统计特征进行建模,并同时通过dec进行聚类。类似地,DESC预先训练一个堆叠的自编码器;然后,对编码器和DEC进行训练。通常,这些方法将表示学习和聚类结合到一个统一的框架中,以提高聚类性能。但是,它们在表示学习过程中只考虑基因表达信息,没有明确刻画细胞之间的关系。因此,习得的细胞表示不够聚类友好。
为了将表达信息和关系信息自然嵌入潜在表示中,最近开发的一种方法scGNN 将新兴的图卷积网络结合到单细胞聚类中。GCN通过邻居信息传播学习图中节点的表示,同时考虑到节点特征和图拓扑。已经证明,通过GCN学习的表示可以改善聚类结果。scGNN将GCN集成到它的多自编码器框架中。首先利用特征自编码器构造GCN的细胞图;然后,通过基于gcn的自编码器学习图中细胞的表示,并对细胞表示进行k-means运算得到聚类结果。同一集群中的单元格表示由一些集群自动编码器迭代调整。但是,由于构建的图可能包含一些连接不同类型细胞的噪声边,而基于gcn的自编码器直接在相邻细胞之间传播信息而不区分它们,不同的细胞类型可能会混淆,从而误导聚类结果。
提出了单细胞图注意聚类,首先构造一个单元图,每个节点代表一个单元,每条边连接一个单元,权重由皮尔逊相关系数初始化。为了提高单元图的可信度,对单元图进行网络去噪,去除噪声边缘。基于去噪后的细胞图,scGAC通过图注意自编码器学习细胞的潜在表征,利用基因表达和细胞-细胞关系信息。注意机制有助于scGAC在跨邻域传播信息时为不同的邻域分配不同的权重。为了同时学习表示和优化聚类,采用自优化方法得到聚类结果。在16个真实scRNA-seq数据集上的实验表明,scGAC具有良好的聚类性能,优于现有的单细胞聚类方法。
传统聚类方法构建相似度信息来学习细胞的表示,无法呈现细胞的潜在关系。representation learning and clustering是独立的。所以需要深度学习,但是深度学习学到的表征不是聚类友好的,所以用图深度聚类. 但是GCN直接在相邻细胞之间传播信息,不区分,所以引入注意力机制来学习潜在表征。
原始计数基因表达矩阵 R m ∗ n R_{m*n} Rm∗n,m个基因,n个细胞。数据清洗后归一化变成 X m ∗ n X_{m*n} Xm∗n。主要架构包括三个部分:
为了在相似的单元间共享信息并学习更友好的聚类单元嵌入,图注意自动编码器需要一个细胞图。由于scRNA-seq数据中细胞之间没有直接关系,因此需要构造一个可信赖的辅助图。
首先计算Pearson相关系数来度量细胞之间的相似度,并构造初始相似矩阵 S n ∗ n S_{n*n} Sn∗n。然而,由于scRNA-seq数据是噪声和高维的,细胞之间的相似性可能被错误估计。不正确的相似度会严重误导信息共享过程和聚类结果。
这里我们采用NE去噪 S n ∗ n S_{n*n} Sn∗n。给定一个加权图,eigengap是两个连续特征值之差,最稳定的聚类通常由最大化eigengap的值k给出。NE可以增加eigengap, 同时保留其邻接矩阵的特征向量,从而更好地检测聚类。这样一来,连接不同单元格的边的权值就会被削弱。
具体来说,我们执行NE将 S n ∗ n S_{n*n} Sn∗n转化为重新计算权重的相似性矩阵 E n ∗ n E_{n*n} En∗n, E n ∗ n E_{n*n} En∗n的计算过程如下:
E i j = { S i j if E ^ i j ≥ t 0 otherwise , (1) E_{i j}=\left\{\begin{array}{ll} S_{i j} & \text { if } \hat{E}_{i j} \geq t \\ 0 & \text { otherwise } \end{array},\right.\tag{1} Eij={Sij0 if E^ij≥t otherwise ,(1)
其中t为预先定义的阈值。如果Eij过小(小于t),则将Sij视为噪声,将Eij设为零。
对于每个单元格,我们根据 E n ∗ n E_{n*n} En∗n选择K个最相似的单元格作为它的邻居。每一对邻居将由 A n ∗ n A_{n*n} An∗n中的一条边连接。
受到ICLR2018的工作启发,我们设计了一种图注意自动编码器,它由一个包含两个堆叠的图注意层的编码器和一个结构对称的解码器组成,将拓扑信息嵌入到细胞的潜在表示中。给定一个单元图,图注意层通过聚合具有不同权重的相邻单元的特征来学习单元的特征。由于权重是根据细胞及其邻居的特征自动分配的,因此可以自然地捕获潜在的关系。因此,学习到的特征可以更有利于集群。
图注意层可被表示为:
h i ′ = σ ( ∑ j ∈ N i α i j W h j ) (2) \mathbf{h}_{i}^{\prime}=\sigma\left(\sum_{j \in N_{i}} \alpha_{i j} \mathbf{W h}_{j}\right)\tag{2} hi′=σ⎝⎛j∈Ni∑αijWhj⎠⎞(2)
这里 h i ′ \mathbf{h}_{i}^{\prime} hi′是细胞i的新特征, N i N_{i} Ni是细胞i的邻居集合, h j h_{j} hj是细胞j的输入特征,W是一个可学习的变换矩阵。 σ \sigma σ是一个非线性激活函数。 α i j \alpha_{ij} αij为权重系数,表示单元j对单元i的重要性。
为了测量一个细胞对另一个细胞的重要性,最初的GAT将它们的特征拼接,得到注意系数 e i j e_{ij} eij,可表示为:
e i j = LeakyReLU ( a T [ W h i ∣ ∣ W h j ] ) (3) e_{i j}=\operatorname{LeakyReLU}\left(\mathbf{a}^{T}\left[\mathbf{W} \mathbf{h}_{i}|| \mathbf{W} \mathbf{h}_{j}\right]\right)\tag{3} eij=LeakyReLU(aT[Whi∣∣Whj])(3)
其中LeakyReLU是一个非线性函数, α \alpha α是一个可学习权向量,||是拼接操作。
与GAT不同的是,我们将相似度信息显式地整合到注意系数中,注意系数通过高斯核变换两个单元间的距离来计算:
e i j = exp ( − ∣ a 1 T W h i − a 2 T W h j ∣ 2 ) (4) e_{i j}=\exp \left(-\left|\mathbf{a}_{1}^{T} \mathbf{W} \mathbf{h}_{i}-\mathbf{a}_{2}^{T} \mathbf{W} \mathbf{h}_{j}\right|^{2}\right)\tag{4} eij=exp(−∣∣a1TWhi−a2TWhj∣∣2)(4)
其中 α 1 \alpha1 α1和 α 2 \alpha2 α2分别是细胞i和细胞j的可学习权向量。
一般情况下,注意系数会通过一个softmax函数进行归一化,使其在不同单元间具有可比性,表示为:
α i j = softmax ( e i j ) = exp ( e i j ) ∑ k ∈ N i exp ( e i k ) (5) \alpha_{i j}=\operatorname{softmax}\left(e_{i j}\right)=\frac{\exp \left(e_{i j}\right)}{\sum_{k \in N_{i}} \exp \left(e_{i k}\right)}\tag{5} αij=softmax(eij)=∑k∈Niexp(eik)exp(eij)(5)
与GAT类似,我们采用多头注意力来稳定学习过程。使用G个独立注意模块共同学习表示,可表述为:
h i ′ = ⨁ g = 1 G σ ( ∑ i ∈ N i α i j g W g h j ) (6) \mathbf{h}_{i}^{\prime}=\bigoplus_{g=1}^{G} \sigma\left(\sum_{i \in N_{i}} \alpha_{i j}^{g} \mathbf{W}^{g} \mathbf{h}_{j}\right)\tag{6} hi′=g=1⨁Gσ(i∈Ni∑αijgWghj)(6)
这里 ⨁ \bigoplus ⨁是一个聚合操作。对自编码器的前三层和最后一层分别使用拼接函数和平均函数作为聚合运算。
在实施中, Y D ∗ n Y_{D*n} YD∗n和 A n ∗ n A_{n*n} An∗n被输入到图注意自编码器中,分别提供基因级表达信息和细胞级拓扑信息。为了约束学习过程,计算重构特征矩阵 Y D ∗ n ′ Y'_{D*n} YD∗n′和原始输入矩阵 Y D ∗ n Y_{D*n} YD∗n的MAE为重建损失:
L r = ∑ i = 1 D ∑ j = 1 n ∣ Y i j − Y i j ′ ∣ (7) L_{r}=\sum_{i=1}^{D} \sum_{j=1}^{n}\left|Y_{i j}-Y_{i j}^{\prime}\right|\tag{7} Lr=i=1∑Dj=1∑n∣∣Yij−Yij′∣∣(7)
在预先训练图注意自编码器后,潜在表示矩阵 Z d ∗ n Z_{d*n} Zd∗n,可以从细胞与细胞的关系和基因表达两个方面表征细胞。通过执行k-means可以获得一个简单聚类结果 。然而,这个结果可能是次优的,因为聚类模块不与特征学习模块交互。因此,我们采用迭代自优化的聚类方法,让两个模块相互受益,最终提高结果。
首先,基于学生的t分布(如DEC中所采用的方法),我们测量细胞和簇中心之间的相似性。在细胞层面归一化后,一个隶属矩阵 Q c ∗ n Q_{c*n} Qc∗n,可计算为:
q i j = ( 1 + ∥ z i − u j ∥ 2 ) − 1 ∑ k = 1 c ( 1 + ∥ z i − u k ∥ 2 ) − 1 , (8) q_{i j}=\frac{\left(1+\left\|\mathbf{z}_{i}-\mathbf{u}_{j}\right\|^{2}\right)^{-1}}{\sum_{k=1}^{c}\left(1+\left\|\mathbf{z}_{i}-\mathbf{u}_{k}\right\|^{2}\right)^{-1}},\tag{8} qij=∑k=1c(1+∥zi−uk∥2)−1(1+∥zi−uj∥2)−1,(8)
其中 z i z_{i} zi为细胞i的嵌入, u j u_{j} uj为聚类中心j的嵌入,c为细胞类型的数量。
然后,得到优化的隶属矩阵 P c ∗ n P_{c*n} Pc∗n,是根据 Q c ∗ n Q_{c*n} Qc∗n构建的,定义为:
p i j = q i j 2 / ∑ i = 1 n q i j ∑ k = 1 c ( q i k 2 / ∑ i = 1 n q i k ) (9) p_{i j}=\frac{q_{i j}^{2} / \sum_{i=1}^{n} q_{i j}}{\sum_{k=1}^{c}\left(q_{i k}^{2} / \sum_{i=1}^{n} q_{i k}\right)}\tag{9} pij=∑k=1c(qik2/∑i=1nqik)qij2/∑i=1nqij(9)
它被用作 Q c ∗ n Q_{c*n} Qc∗n,优化和重新分配成员。再分配后,由于平方运算,单元的隶属度分布更加确定。
此外,总隶属度较低的集群 ( ∑ i = 1 n q i j ) \left(\sum_{i=1}^{n} q_{i j}\right) (∑i=1nqij)将获得相对较高的隶属度。然后根据 Q c ∗ n Q_{c*n} Qc∗n和 P c ∗ n P_{c*n} Pc∗n,以获得更好的聚类结果。为了更好地表征聚类,采用细胞加权平均更新聚类中心的嵌入,采用 Q c ∗ n Q_{c*n} Qc∗n为权重,计算公式为:
u j = ∑ l i = j q i j z i ∑ l i = j q i j (10) \mathbf{u}_{j}=\frac{\sum_{l_{i}=j} q_{i j} \mathbf{z}_{i}}{\sum_{l_{i}=j} q_{i j}}\tag{10} uj=∑li=jqij∑li=jqijzi(10)
其中 l i l_{i} li为本次迭代中细胞i的簇标签,定义为:
l i = arg max i q i j (11) l_{i}=\arg \max _{i} q_{i j}\tag{11} li=argimaxqij(11)
另一方面,为了监督潜在表征的学习和增强底层聚类结构, Q c ∗ n Q_{c*n} Qc∗n和 P c ∗ n P_{c*n} Pc∗n间的散度被定义为聚类损失:
L c = ∑ i = 1 c ∑ j = 1 n p i j log p i j q i j (12) L_{c}=\sum_{i=1}^{c} \sum_{j=1}^{n} p_{i j} \log \frac{p_{i j}}{q_{i j}}\tag{12} Lc=i=1∑cj=1∑npijlogqijpij(12)
在训练过程中,我们基于潜在表示计算轮廓分数,以监测早期停止的聚类性能。单元格i的轮廓分数计算为:
s i = b i − a i max ( a i , b i ) , (13) s_{i}=\frac{b_{i}-a_{i}}{\max \left(a_{i}, b_{i}\right)},\tag{13} si=max(ai,bi)bi−ai,(13)
其中 a i a_{i} ai为细胞I与同一簇细胞之间的平均距离, b i b_{i} bi为细胞I与不同簇细胞之间的平均距离。聚类结果的轮廓分数是所有细胞的平均轮廓分数。细胞和簇中心的潜在表示将被迭代微调,直到轮廓分数收敛。
综上所述,总损失函数计算为:
L = L r + γ L c (14) L=L_{\mathrm{r}}+\gamma L_{\mathrm{c}}\tag{14} L=Lr+γLc(14)
其中Lr为重构损耗,Lc为聚类损耗,$\gamma $为平衡两个损耗的超参数。损失函数将潜在表示学习和聚类整合到一个统一的框架中,从而促进最终的聚类结果。
在16个真实数据集进行评估。All the original tested datasets (Yan, Biase, Klein, Romanov, Muraro, Björklund, PBMC, Zhang, Guo, Brown.1, Brown.2, Chung, Sun.1, Sun.2, Sun.3 and Habib) can be downloaded.
这些数据集的大小从几十到数千不等,来自不同的组织和平台。例如,数据集Biase只包含3种细胞类型的49个细胞,而数据集Habib包含10788个细胞,10种类型的小鼠细胞核。
聚类前,表达式矩阵 R m ∗ n R_{m*n} Rm∗n被预处理为 X m ∗ n X_{m*n} Xm∗n通过执行质量控制和标准化。首先,如果细胞的总读取计数或表达的基因数量超过上阈值或低于下阈值,则删除低质量的细胞。此外,在3个以下细胞中表达的低质量基因也被去除。经质量控制后,读数除以库大小,乘以100000,通过log2转换变成1的伪计数。
为了加速后续的学习过程, X m ∗ n X_{m*n} Xm∗n降维为 Y D ∗ n Y_{D*n} YD∗n,然后输入到图形自动编码器。主成分分析(PCA)默认用于降维。
对于小数据集(n < D),选择前D个高变量基因,因为PCA无法在它们上运行。 Y D ∗ n Y_{D*n} YD∗n归一化为z-score数据,均值和单位方差为零。
对于scGAC,用于图构造的默认邻居数计算为:
K = round ( N cells 10 × N clusters ) , (15) K=\operatorname{round}\left(\frac{N_{\text {cells }}}{10 \times N_{\text {clusters }}}\right) \text {, }\tag{15} K=round(10×Nclusters Ncells ), (15)
其中Ncells是细胞的数量,Nclusters是集群的数量。为了保证构建的图是有效可靠的,K被限制在6到20之间。我们将输入特征的维数D设为512。图注意自编码器由4个头部组成,每个头部包含一个两层编码器(第一层64个神经元,第二层16个神经元)和一个两层解码器(第一层64个神经元,第二层512个神经元)。损失系数c设为1。通过学习率为0.0002的Adam优化器对模型进行预训练,并以学习率为0.0005进行训练。
七种最先进的单细胞聚类方法,CIDR, SC3, SAME, RCSL, scDeepCluster, DESC和scGNN ,作为基线方法进行评估。
对于CIDR、SAME和scDeepCluster,为其后续的预处理和聚类提供原始数据。对于SAME算法,采用BIC准则产生的聚类结果作为其解。对于SC3,根据其要求提供原始数据和日志转换数据。对于DESC,按照其在线教程(https://eleozzr.github.io/desc/tutorial.html)进行归一化、日志转换、基因选择和缩放,并使用“分辨率”为0.8的聚类结果作为其解。对于scGNN,进行了数据预处理和LTMG推断。SC3和scDeepCluster提供了集群数量。所有方法的参数都设置为默认值或遵循教程。
对于基于深度学习的方法,包括scGAC, scDeepCluster, DESC和scGNN,在自编码器的瓶颈层中获得潜在表示作为细胞嵌入。对于CIDR,得到了不相似矩阵。对于RCSL,得到了块对角矩阵。对于SAME和SC3,由于没有合适的细胞嵌入,所以不进行嵌入分析。为了量化细胞嵌入的簇内纯度和簇间分化,根据标注的细胞类型标签计算轮廓系数评分。
为了可视化,当得到的嵌入维数超过50维时,PCA将其压缩到50维。接下来,通过t-分布式随机邻居嵌入(t-SNE) 将其进一步简化为2维进行演示。2D可视化平面中的点将根据其标注的单元格类型进行着色。
两个指标,调整兰德指数(ARI)和归一化互信息(NMI) ,用于评估scGAC和基线方法的聚类性能。
ARI度量聚类结果与ground truth的相似度,计算结果为:
ARI = ∑ i j ( n i j 2 ) − [ ∑ i ( a i 2 ) ∑ i ( b j 2 ) ] / ( n 2 ) 1 2 [ ∑ i ( a i 2 ) + ∑ i ( b j 2 ) ] − [ ∑ i ( a i 2 ) ∑ i ( b j 2 ) ] / ( n 2 ) (16) \text { ARI }=\frac{\sum_{i j}\left(\begin{array}{c} n_{i j} \\ 2 \end{array}\right)-\left[\sum_{i}\left(\begin{array}{c} a_{i} \\ 2 \end{array}\right) \sum_{i}\left(\begin{array}{c} b_{j} \\ 2 \end{array}\right)\right] /\left(\begin{array}{l} n \\ 2 \end{array}\right)}{\frac{1}{2}\left[\sum_{i}\left(\begin{array}{c} a_{i} \\ 2 \end{array}\right)+\sum_{i}\left(\begin{array}{c} b_{j} \\ 2 \end{array}\right)\right]-\left[\sum_{i}\left(\begin{array}{c} a_{i} \\ 2 \end{array}\right) \sum_{i}\left(\begin{array}{c} b_{j} \\ 2 \end{array}\right)\right] /\left(\begin{array}{c} n \\ 2 \end{array}\right)}\tag{16} ARI =21[∑i(ai2)+∑i(bj2)]−[∑i(ai2)∑i(bj2)]/(n2)∑ij(nij2)−[∑i(ai2)∑i(bj2)]/(n2)(16)
其中,nij为ground truth中的聚类i和聚类结果中的聚类j之间共享的细胞数量,n为所有细胞的数量, a i = ∑ j n i j and b j = ∑ i n i j . a_{i}=\sum_{j} n_{i j} \text { and } b_{j}=\sum_{i} n_{i j} \text {. } ai=∑jnij and bj=∑inij.
NMI度量聚类结果与ground truth之间的归一化互信息,计算为:
N M I = 2 M I ( U , V ) H ( U ) + H ( V ) , (17) N M I=\frac{2 M I(U, V)}{H(U)+H(V)},\tag{17} NMI=H(U)+H(V)2MI(U,V),(17)
其中U为聚类结果,V为基础真理,MI(U, V)表示U和V之间的互信息,H是熵函数。
为了公平比较,scGAC和基线方法重复运行10次,计算平均ARI和NMI进行评估。
主要用了3个trick:NE,图注意力机制和自动优化聚类。再加上图深度聚类很少用于single cell中,所以论述的力度有效。
将scGAC应用于16个真实数据集,并与7种基线方法进行比较。总体而言,scGAC在ARI和NMI评分方面的表现都是最好的。在16个数据集中的9个在ARI评分方面优于所有基线方法。在其余7个数据集中,scGAC的表现也是第二好的。
此外,基于ARI和NMI得分(补充图S1和表S2), scGAC在所有数据集上的平均得分最高。
为了观察scGAC是否学习到更有利于聚类的细胞嵌入,我们获得了scGAC和5种基线方法的学习嵌入,并将其簇内纯度和簇间分化与基于轮廓系数的输入表达矩阵中细胞的原始特征进行了比较。
如图3所示,scGAC在16个评估数据集中有一半的轮廓系数最高,并且优于原始特征在几乎所有的数据集中。scGAC在所有数据集中拥有最高的平均轮廓得分,比第二好的方法DESC高出30.9%。结果表明,scGAC学习的细胞嵌入在不同的细胞类型中更容易区分,在同一细胞类型中具有高度的一致性。
值得注意的是,除了scGAC之外,在学习嵌入细胞的同时进行聚类的DESC和scDeepCluster两种方法也获得了平均第二和第三高的剪影分数。这意味着嵌入学习和聚类的交互作用有效地改善了数据的聚类特征。
此外,为了直观地观察潜在的表征,我们通过t-SNE可视化。如图3b所示,只有scGAC得到了4个边界非常清晰的纯聚类,这比其他方法要好得多。对于scGNN,这四个集群是纯的,但不明显。RCSL是将同一类型的细胞分开,而将不同类型的细胞(NK细胞和ILC3细胞)混合。对于CIDR、scDeepCluster和DESC,不同类型的细胞混合在一起。PBMC由四种免疫细胞组成,包括单核细胞、NK细胞、B细胞和T细胞,它们更容易聚集。如图3c所示,scGAC、scDeepCluster和DESC的可视化效果相对较好,CIDR将细胞混合在一起,RCSL和scGNN将NK细胞或B细胞分成子簇。用所有方法都很难将NK细胞从T细胞中分离出来。虽然scGAC只产生3个簇,NK细胞和T细胞紧密结合在一起,但scGAC中的NK细胞比scDeepCluster和DESC中的NK细胞纯度更高。
为了获得更好的聚类结果,我们使用一个图注意自编码器来学习细胞的嵌入,同时利用细胞之间的拓扑关系。图注意自动编码器使图中的邻居之间能够灵活地共享信息,从而使嵌入更加集群友好。
为了探究scGAC中信息共享的效果,我们还运行scGAC,并将邻居的数量K设置为1,这意味着除了自己之外,没有一个单元可以将信息传递给另一个单元。补充表S3显示了scGAC在16个数据集上的ARI得分,K分别设为1 (scGAC_no_neighbor)和设为default (scGAC)。scGAC优于scGAC_no_neighbor,在大多数数据集上的ARI得分显著高于scGAC_no_neighbor,平均提高42.3%,这表明阻止信息共享严重阻碍了聚类。
因此,利用单元格之间的关系非常重要可以受益于集群。然而,值得注意的是,应该避免过度分享信息。在不同细胞类型的细胞之间共享特征信息会干扰聚类,因为不同细胞类型的特征会被遮蔽。
我们利用注意机制来缓解上述问题。由于在自动编码器中的图注意层,可以自动区分一个单元的不同邻居的重要性。
因此,一个单元可以有选择地从不同的邻居接收信息。为了评估注意机制的好处,我们还运行了持续注意scGAC (scGAC_const_attention)。所有的邻居将被分配到一个相同的常量权重,从而对特征学习过程做出相同的贡献。如图4a所示,在大多数数据集中,scGAC的ARI得分高于scGAC_const_attention。此外,scGAC在ARI平均得分上比scGAC_const_attention提高1.4%。
此外,为了直观地展示注意机制的重要性,我们将它们可视化地嵌入到数据集PBMC中。
如图4b所示,在没有注意机制的情况下,NK细胞和T细胞更难分离,说明没有选择的情况下接收所有信息可能会误导特征学习。
此外,注意力的实现机制也会影响聚类结果。与原有的GAT通过拼接操作实现注意机制不同,scGAC明确地将细胞间的相似信息集成到注意计算中,可以提高学习到的特征。
因此,我们还评估了连接注意机制(scGAC_concat_attention)进行比较。如图4a所示,在大多数数据集上,scGAC优于scGAC_concat_attention,平均ARI评分提高了6%。
如前一节所述,跨单元的信息共享对于集群至关重要。它是否有益还取决于构建的单元图的可靠性,因为信息只会在图中连接的单元之间共享。因此,采用NE对单元图进行去噪和改进。
为了观察NE是否有利于构建单元格图,我们分别计算了在使用或不使用NE构建的单元格图中正确边(连接相同单元格类型的单元格)的比例(补充表S4)。比例越高,表示单元图的可靠性越高。在大多数数据集中,用网元去噪的单元图具有较高的正确边缘比例。对于简单的数据集,如数据集Yan和Biase,不同的单元类型非常不同,不使用NE构造的单元图是足够可靠的。然而,对于更复杂的数据集,不同的单元类型很难分离,NE带来了显著的改进。具体来说,NE为数据集Zhang带来了8.6%的改进,为数据集Bjo¨rklund带来了6.5%的改进,为数据集Guo带来了5.3%的改进。
此外,我们还应用了不引入NE的scGAC (scGAC_no_NE)对评价d、d、t、s、t进行评价。在图4a中,对于大多数数据集,特别是正确边比例提高较高的数据集(补充表S4),如Bjo¨rklund、PBMC、Zhang和Guo数据集,有NE的scGAC获得的ARI得分显著高于无NE的scGAC。整体而言,NE促进scGAC在ARI平均评分上提高3%。
此外,为了直观地演示NE的有效性,我们分别可视化了使用和不使用NE学习的数据集Bjo¨rklund的细胞嵌入(图4c)。与没有NE的scGAC相比,在scGAC中ILCs可以清晰地分为三个簇,这意味着NE有效地去除了单元图中的噪声边缘。因此,NE确实有助于构建更可靠的单元图,提高聚类结果。
除了图注意自编码器,scGAC的另一个重要组成部分是自优化聚类模块,它为scGAC提供最终的聚类结果。它优化聚类中心并重新分配成员,使其更具确定性。同时,它还与图注意自动编码器相互作用,帮助更新学习到的嵌入。
为了验证自优化聚类模块是否改善了聚类结果,我们展示了图4a中自优化聚类前的聚类结果(scGAC_kmeans),该聚类结果仅对预训练的嵌入执行k-means得到。与只有k-means的scGAC相比,scGAC在几乎所有数据集上都有更高的ARI得分,尤其是在自优化聚类前ARI得分较低的数据集,表明了自优化聚类的有效性。例如,自优化聚类后,Brown.1数据集的ARI评分提高了71.8%,Zhang数据集提高了21.8%,Brown.2数据集提高了17%。因此,k-means提供的聚类解是次优的,可以通过附加的自优化聚类模块进行改进。
实验部分没有什么亮点,主要验证了2种所提出的3种trick的有效性,并且和第一段形成呼应,可以考虑加个时间对比。
聚类是后续分析scRNA-seq数据的关键步骤。然而,聚类单细胞存在高维、高变量和高噪声数据的问题。在本文中,我们提出了一种新的单细胞聚类方法scGAC。scGAC通过注意机制在相似的细胞之间共享信息,学习聚类友好嵌入的细胞,并利用NE和自优化聚类提高聚类结果。
实验结果表明,scGAC在16个数据集上取得了优异的聚类性能,优于7种专门针对scRNA-seq数据设计的聚类方法。
此外,scGAC的不同成分已被证明对scGAC有显著和有益的作用。此外,scGAC在真实数据集上表现出良好的泛化能力,无论数据集的大小、单元类型的数量以及单元类型之间的差异。
scGAC的一个局限性是它的效率。scGAC在评估数据集上的运行效率中等,低于DESC、CIDR和SC3(补充表S5)。值得注意的是,其他考虑成对细胞-细胞关系的方法,如scGNN和RCSL,效率也很低,因为运行时间会随着细胞数量的增加而显著增加。因此,为了处理更大的数据集,我们将考虑在未来利用单元之间的关系的同时加速学习过程。
GAC在16个数据集上取得了优异的聚类性能,优于7种专门针对scRNA-seq数据设计的聚类方法。
此外,scGAC的不同成分已被证明对scGAC有显著和有益的作用。此外,scGAC在真实数据集上表现出良好的泛化能力,无论数据集的大小、单元类型的数量以及单元类型之间的差异。
scGAC的一个局限性是它的效率。scGAC在评估数据集上的运行效率中等,低于DESC、CIDR和SC3(补充表S5)。值得注意的是,其他考虑成对细胞-细胞关系的方法,如scGNN和RCSL,效率也很低,因为运行时间会随着细胞数量的增加而显著增加。因此,为了处理更大的数据集,我们将考虑在未来利用单元之间的关系的同时加速学习过程。