GraphST是一种图自监督对比学习方法,将图神经网络和对比学习相结合,通过最小化空间相邻点间的embedding距离(反之亦然)来学习信息丰富且有判别力的spot embedding
GraphST 也是唯一一种可以在垂直或水平整合中联合分析多个组织切片同时校正批次效应的方法。最后,GraphST 展示了卓越的细胞类型反卷积,可以捕捉乳腺肿瘤组织中淋巴结生发中心和耗尽的肿瘤浸润 T 细胞等空间生态位。
GraphST的三个功能:
- 使用对GNN和对比学习,学到细胞的表示,返回一个H矩阵(特征),可以直接用于cluster
- 根据拼接不同样本的HE图像,做比对,构建integrated neighbor graph,消除batch effect
- 做反卷积,将单细胞的单个spot映射到空间中不同的spot中去,返回一个M的矩阵,可以直接和空间组数据做整合
Method
Data preprocessing
- 基因表达数据的预处理:对于空间转录组数据(ST数据),GraphST首先使用SCANPY包对原始的基因表达计数进行对数转换,然后根据图书馆大小进行归一化。
- 数据标准化:归一化后的基因表达计数随后被标准化,以具有单位方差和零均值。
- 选择高变基因:最后,从处理后的数据中选择前3000个高变基因(HVGs)作为输入,进入GraphST模型。
- scRNA-seq数据的预处理:对于单细胞RNA测序数据(scRNA-seq数据),其预处理流程与ST数据相似,包括对数转换、归一化和标准化。
- 选择共同的基因特征:在scRNA-seq数据中,同样选择前3000个HVGs。为了确保两种数据类型(ST和scRNA-seq)在特征信息上的一致性,使用这两种数据中共同的预处理的HVGs作为输入。
- 学习潜在表示:GraphST使用这些共同的HVGs来分别学习单细胞和空间转录组数据中的细胞和点的潜在表示。
Graph construction for spatial transcriptomics data
- 空间转录组学的优势:空间转录组学的强大之处在于其包含的空间位置信息,这可以用来识别不仅在基因表达上相似,而且在空间上也相邻的细胞状态,从而帮助定义组织亚结构。
- 空间信息的图表示:为了充分利用空间信息,作者提出将空间位置信息转换为一个无向邻域图 ( G = (V, E) ),其中预定义了一个邻居数量 ( k )。在这个图 ( G ) 中:
- ( V ) 代表点的集合,即空间转录组数据中的各个位置(spots)。
- ( E ) 代表点之间的连接边集合。
- 邻接矩阵:定义了一个$N_{spot} \times N_{spot}$的邻接矩阵来表示图$G$,其中$N_{spot}$是点的数量。如果点 j是点i的邻居,则邻接矩阵中的元素$a_{ij} = 1$,否则$a_{ij} = 0$。
- 邻居的定义:对于一个给定的点,其邻居是根据基于空间位置信息计算出的欧几里得距离来定义的。换句话说,一个点的邻居是距离它最近的点。
- 选择邻居:最后,从最近的邻居中选择k个点作为邻居。
- 参数选择:在作者的测试中,GraphST 在大多数测试数据集上达到最佳性能时,邻居数量 ( k ) 被设置为 3。
Graph self-supervised contrastive learning
- 框架概述:该框架的概览图示于图1A,并且包含三个主要步骤:
- 数据增强
- 基于图神经网络(GNN)的编码器进行表示学习
- 自监督对比学习进行表示精炼
- 数据增强
- 输入和输出:GraphST算法接收基因表达谱和邻域图作为输入,输出用于空间聚类和多个空间转录组(ST)数据集成的点的表示。
- 三个主要步骤:
- 数据增强:这个步骤可能涉及对输入数据的各种转换,以生成不同的视角或增强数据的多样性,从而帮助模型学习更鲁棒的表示。
- GNN-based encoder:使用基于图神经网络的编码器来从增强的数据中学习点的表示。GNN能够考虑图结构中的空间关系,这对于空间转录组数据尤为重要。
- Self-supervised contrastive learning:通过自监督对比学习来精炼学到的表示。在这个过程中,模型尝试让相同点的不同增强视图之间的表示更接近,而让不同点的表示更远离。
Data augmentation
- 目的:为了后续的对比学习,需要生成损坏的邻域图。
- 数据增强方法:具体来说,给定的邻域图 ( G ) 和归一化的基因表达矩阵 ( X ),通过随机打乱点(spots)之间的基因表达向量来创建损坏的图。这个过程保持了原始图的拓扑结构不变。
- 损坏的图和基因表达谱:
- 损坏的图用$G_0 = (V_0, E_0)$表示,其中$V_0$和$E_0$分别代表损坏图中的点集合和边集合。
- 打乱后的基因表达谱用$X_0$表示。
通过这种数据增强方法,原始的空间转录组数据的基因表达信息被随机化,但空间结构(即邻域关系)保持不变。这样的损坏数据可以作为一个负样本,用于对比学习中的正负样本对比,帮助模型学习到更鲁棒和不变的特征表示。
GNN-based encoder for representation learning
- 编码器的设计目的:编码器的目的是学习点的表示,这些表示能够捕捉基因表达谱和空间位置的有用信息。
- 输入和输出:编码器接收邻域图$G$和归一化的基因表达谱$X$作为输入,输出重构后的基因表达$H_s$。
- 图卷积网络(GCN):具体来说,使用图卷积网络(GCN)作为编码器来学习每个点的潜在表示$z_i$ 。GCN 通过迭代地聚合每个点的邻居表示来学习潜在表示。
- 数学公式:文中给出了GCN的公式,其中第$l$ 层的表示$Z_l^s$由以下公式计算:
$$
Z_s^l = \sigma (\hat{A} Z_s^{l-1} W_e^{l-1} + b_e^{l-1})
$$
$$
\hat{A} = D^{-\frac{1}{2}} A D^{-\frac{1}{2}}
$$
这里 $\hat{A}$ 是归一化的邻接矩阵,$D$是对角矩阵,$W_{l1}^e$和$b_{l1}^e$ 是可训练的权重矩阵和偏置向量,$\sigma(\cdot)$是非线性激活函数,例如ReLU。
- 初始输入:$Z_s^0$被设置为原始输入基因表达$X$,编码器的最终输出表示为 $Z_s$,其中第 $i$行$z_i$是点 $i$的潜在表示。
- 解码器:潜在表示$Z^s$被送入解码器,以将它们重构回原始基因表达空间。解码器采用对称的架构来重构基因表达。
解码器的数学公式:解码器的公式如下:
其中$H_s^t$是第$t$层重构的基因表达谱,$H_s^0$被设置为编码器的输出表示$Z_s$。
训练目标:为了充分利用基因表达谱,通过最小化基因表达的自重构损失来训练模型。自重构损失$L_{recon}$定义为:
这里$H_s$是解码器的输出,即重构的基因表达谱,$x_i$和$h_i$分别是点$i$的原始归一化基因表达和重构基因表达。
Self-supervised contrastive learning for representation refinement
使用自监督对比学习(SCL)策略来精炼空间转录组数据中点的表示,目的是使表示更加信息丰富和具有区分度
- 目的:为了确保模型能够捕捉到点的局部空间上下文,采用SCL策略。
- 表示生成:使用原始图 $G$和损坏的图$G^{\prime}$作为输入,GNN-based 编码器生成两个对应的表示矩阵 $Z_s$和$Z_s^{\prime}$。
- 局部上下文聚合:受到DGI(Deep Graph Infomax)的启发,将点的邻居的表示聚合成一个点的局部上下文$g_i$,代表点的邻域微环境。
- 正负样本对:对于图中的点$i$,其表示 $z_i$和局部上下文向量$g$ 形成正样本对,而从损坏的图中对应的表示$Z_i^{\prime}$和局部上下文向量$g$形成负样本对。
- 对比学习的目标:SCL的关键思想是最大化正样本对的互信息,同时最小化负样本对的互信息。通过对比学习,相邻的点将具有相似的表示,而非相邻的点将具有不同的表示。
- 对比损失函数:使用二进制交叉熵(BCE)来建模SCL。对比损失定义为:
$$
L_{SCL} = \frac{1}{2N_{spot}} \left( \sum_{i=1}^{N_{spot}} \left( \mathbb{E}_{(X,A)} \left[ \log \Phi(z_i, g_i) \right] + \mathbb{E}_{(X^{\prime},A^{\prime})} \left[ \log (1 - \Phi(z_i^{\prime}, g_i)) \right] \right)\right)
$$
其中$\Phi(\cdot)$是一个判别器$D: \mathbb{R}^d \times \mathbb{R}^d \rightarrow \mathbb{R}$,它区分正样本对和负样本对。
- 对称对比损失:由于损坏的图$G^{\prime}$与原始图$G$具有相同的拓扑结构,定义了一个对称的对比损失$L_{SCL_corrupt}$ 以使模型更加稳定和平衡:
总结来说,描述了如何使用自监督对比学习来精炼空间转录组数据中点的表示,并定义了相应的对比损失函数,以及如何通过最大化正样本对的互信息和最小化负样本对的互信息来训练模型,从而捕捉点的局部空间上下文。
Overall loss function
- 总损失函数:表示学习模块的训练损失函数定义为自重构损失和对比损失的组合,具体公式如下:
$$
L = \lambda_1 L_{recon} + \lambda_2 \left(L_{SCL} + L_{SCL\_corrupt} \right)
$$
其中$\lambda_1$和$\lambda_2$是权重因子,用于平衡重构损失和对比损失的影响。
- 权重因子的设置:根据经验,将$\lambda_1$ 和 设置为 10 和 1。
- 训练独立性:这个模块的训练是独立于下一个单细胞RNA测序(scRNA-seq)和空间转录组(ST)数据集成模块的。
- 优化器:使用Adam优化器来进行优化。
- 学习率和训练轮数:对于空间聚类和多个ST数据集成任务,学习率设置为0.001,训练轮数设置为600。而对于scRNA-seq和ST数据集成任务,学习率设置为0.001,训练轮数设置为1200。
Spatial domain assignment via clustering and refinement
在使用模型训练后,如何通过聚类和细化步骤来分配空间域
- ~~聚类:使用解码器重构的空间基因表达$H_s$和非空间分配算法 mclust 来将点(spots)聚类成不同的空间域。每个聚类被视为一个空间域,包含具有相似基因表达谱并且在空间上接近的点。~~
- ~~聚类数量的确定:对于有手动注释的组织切片,将聚类数量设置为与真实情况相同。对于没有手动注释的组织切片,测试不同的聚类数量,并选择产生最高Silhouette分数的聚类数量。~~
- ~~细化步骤:尽管重构的空间基因表达$H_s$是通过结合基因表达和空间信息获得的,但某些点可能被错误地分配到空间上不同的域。为了解决这个问题,模型包括了一个可选的优化步骤。~~
- ~~优化步骤:对于给定的点 ( i ),将其半径为 ( r ) 的圆形区域内的周围点视为其邻居。GraphST 将点 ( i ) 重新分配到其周围点最常见标签的同一域中。在本研究的基准测试中,将 ( r ) 设置为 50 可以获得最佳的聚类性能。~~
- ~~细化步骤的适用性:不建议将这个细化步骤应用于具有细粒度域的ST数据(例如,小鼠大脑的前部和后部)或使用Stereo-seq和SlideseqV2获得的数据。在本研究中,这个细化步骤仅应用于人类大脑DLPFC和人类乳腺癌数据集。~~
Vertical and horizontal integration of multiple tissues via implicit batch effect correction
如何通过隐式批次效应校正来实现多个组织切片的垂直和水平整合,以便进行更深入的生物组织样本分析
- 多组织切片分析:到目前为止的讨论都假设只有一个组织切片作为输入。为了获得对组织样本的更深入了解,可以整合分析多个组织切片。
- 垂直和水平切片:有两种类型的多样本分析:垂直分割的组织切片(例如,小鼠乳腺癌切片1和2)和水平分割的组织切片(例如,小鼠大脑的前部和后部切片)。
- 挑战:对于垂直分割的切片,一个主要的挑战是不同切片之间存在批次效应,这阻碍了数据的整合。对于水平分割的切片,挑战在于分配点(spots)到域,使得跨越连接边缘的域能够对齐。
- GraphST模型的扩展:为了克服这些挑战,扩展了GraphST模型以处理多个组织切片的整合分析。这里以两个切片为例,但模型可以扩展到处理更多切片。
- 主要步骤:如图1B所示,主要步骤有三个:
- 首先,使用PASTE算法对两个组织切片的H&E图像进行对齐,确保两个切片在空间上是相邻的。
- 其次,使用对齐后的空间坐标构建两个切片的联合邻域图,方式与单个切片相同。
- 最后,使用联合邻域图和基因表达作为输入,GraphST学习两个切片中点的联合表示,以便进行下游的空间聚类(如图1A所示)。
- 垂直整合:对于垂直整合,GraphST隐式地消除了切片之间的批次效应,而无需显式检测批次因子。批次效应主要源于批次之间特征分布的差异。
- 批次效应消除:在GraphST中,有两个方面有助于消除批次效应:
- 首先,GraphST通过迭代地聚合邻居的表示来学习表示,这平滑了批次的特征分布,并有助于减少批次之间的差异。
- 其次,通过使用图自监督对比学习,学到的表示捕捉了局部上下文信息,这使得空间上相邻的点具有相似的表示。
PASTE (probabilistic alignment of ST experiments) for multiple tissue slice alignment
使用PASTE(概率空间转录组实验对齐)算法来对齐和整合多个组织切片成一个单一的共识切片的方法
- PASTE算法:PASTE是一种利用基因表达相似性和点之间的空间距离来对齐和整合空间转录组数据的算法。
- 中心切片整合:在分析中,使用中心切片整合来克服由于测序覆盖范围、组织解剖或组织在阵列上的放置不同而导致的单个切片中的变异性。
- 数据预处理:首先使用Scanpy对每个单独的切片中min_counts=15的基因进行过滤。然后为每个单独的切片过滤出共同基因,并使用PASTE的‘center_align’算法或中心切片整合模式。
- 中心切片推断:在这种模式下,PASTE推断出一个由低秩表达矩阵组成的“中心”切片,以及从中心切片的点映射到每个输入切片的点的一组映射。它通过结合融合的Gromov-Wasserstein质心和非负矩阵分解(NMF)来整合ST切片到中心切片。
Spatially informed contrastive learning for scRNA-seq and ST data integration
如何使用空间信息对比学习来整合单细胞RNA测序(scRNA-seq)和空间转录组(ST)数据
- 目标:为了整合scRNA-seq和ST数据,目标是学习一个可训练的映射矩阵 ,其维度为$N_{cell} \times N_{spot}$ ,以便将细胞从scRNA-seq数据投影到空间空间。
- 映射矩阵 ( M ) 的学习:映射矩阵 $M$使用scRNA-seq和ST数据的基因表达谱来学习。每个元素 $M_{ij}$表示细胞 ( i ) 映射到点 ( j ) 的概率,约束条件是每个点对所有细胞的概率总和为1。
与Tangram的比较:与Tangram不同,Tangram直接使用原始基因表达(噪声水平较高)来学习映射矩阵,GraphST通过深度学习模块保留和精炼了scRNA-seq和ST数据原始基因表达谱中的信息和降噪特征,然后再学习映射矩阵。
ST数据的处理:对于ST数据,使用模块1的输出$H_s$作为映射矩阵学习的输入。
scRNA-seq数据的处理:对于scRNA-seq数据,通过自动编码器学习细胞表示。具体来说,使用归一化的基因表达$e_i$作为输入,通过编码器学习细胞 ( i ) 的潜在表示$q_i$。然后,使用解码器重建细胞基因表达$y_i$。
预测空间基因表达:模型训练后,可以得到重建的细胞基因表达矩阵$H_c$,通过结合映射矩阵 ( M ) 可以预测空间基因表达矩阵$H_s^{\prime}$。
对比学习机制:设计了一个无增强的对比学习机制来对齐预测的空间基因表达$H_s^{\prime}$和重建的空间基因表达 $H_s$。映射矩阵学习的总体损失$L_{map}$ 定义为对比损失和重建损失的组合。
对比损失:对比损失旨在最大化正样本对的相似性,最小化负样本对的相似性。对于给定的点 ( i ),正样本对是与空间上相邻的点形成的,而负样本对是与空间上不相邻的点形成的。
- 重建损失:重建损失确保预测的基因表达与重建的基因表达成比例。
- 权重因子:使用$\alpha$和 $\beta$作为权重因子来控制对比损失和重建损失的权重。分别设置为 1 和 10。
- 与现有方法的比较:与大多数现有的反卷积方法(如SPOTLight和cell2location)不同,GraphST模型在映射过程中不依赖于scRNA-seq的注释信息(例如,细胞类型)。
总结来说,这段文字介绍了如何使用空间信息对比学习来整合scRNA-seq和ST数据,包括学习映射矩阵的方法、对比学习机制的设计以及与现有方法的比较。