论文阅读:scMGCA----模型方法

Yu, Z., Su, Y., Lu, Y. et al. Topological identification and interpretation for single-cell gene regulation elucidation across multiple platforms using scMGCA. Nat Commun 14, 400 (2023). https://doi.org/10.1038/s41467-023-36134-7

论文地址:Topological identification and interpretation for single-cell gene regulation elucidation across multiple platforms using scMGCA | Nature Communications

论文代码:https://github.com/Philyzh8/scMGCA


接上一篇论文阅读:scMGCA----结果分析及讨论-CSDN博客,详细介绍一下scMGCA模型的实现方法。


摘要

单细胞RNA测序提供了高通量的基因表达信息,使我们能够在单个细胞水平上探索细胞异质性。然而,在表征高通量基因表达数据时,面临着维度问题和掉落事件(dropout events)的挑战。为了解决这些问题,我们开发了一种用于单细胞数据分析的深度图学习方法---scMGCA。scMGCA基于图嵌入自编码器,能够同时学习细胞-细胞的拓扑结构表示和聚类分配。我们证明了scMGCA在细胞分离和批次效应校正方面具有高准确性和有效性,并在多个平台上超越了其他最先进的模型。此外,我们还对图嵌入自编码器的关键压缩转录组空间进行了基因组学解释,以展示其潜在的基因调控机制。我们在一个胰腺导管腺癌数据集上证明了scMGCA的有效性,该方法成功地为特定细胞类型提供了注释,并揭示了多个肿瘤相关和细胞信号通路中的差异基因表达水平。

模型

数据处理与标准化

我们将scRNA-seq基因表达计数矩阵 \(X \in \mathbb{R}^{n \times g}\) 作为输入,其中 \(n\) 和 \(g\) 分别表示细胞和基因的数量。第一步是过滤掉未在细胞中表达的基因,从而减少scRNA-seq数据中高脱落率的影响。然后,为了促进网络的训练和优化,我们将离散数据转换为连续数据,并确保大小因子的稳定性,标准化可定义如下:

\[

H(X_{ij}) = \ln \left(\frac{\text{median}(X)}{X_{ij}} \cdot \frac{1}{\|X_i\|}\right) \tag{1}

\]

其中,\(\text{median}(X)\) 表示所有细胞总表达值的中位数。根据公式(1),通过自然对数转换,离散数据被平滑并重新缩放。最后,我们采用SCANPY包计算每个基因的归一化离散值进行排序,并在研究中使用具有高级别信息的前 \(d\) 个高变基因,即最终的归一化矩阵 \(\hat{X} \in \mathbb{R}^{n \times d}\)。

细胞图

在本研究中,我们开发了一个细胞图用于表示细胞之间的关系,该方法受到共现概率PPMI矩阵的启发。细胞图首先从一个KNN图构建,其中每个节点代表一个细胞。通过计算节点之间的欧几里得距离,并设置邻居数量 \(k\),每个节点与包括自身在内的 \(k\) 个最短距离节点连接,并在它们之间创建边缘,细胞图 \(K\) 可以如下定义:

\[

K_{ij} =

\begin{cases}

1, & \text{if } j \in N_k(i) \\

0, & \text{if } j \notin N_k(i)

\end{cases}

\tag{2}

\]

其中 \(N_k(i)\) 表示以第 \(i\) 个节点为中心的最邻近 \(k\) 个节点的邻域。显然,KNN图通过局部搜索方法确定每个节点及其邻近节点的领域,这是建模生物网络的更有效方法。

之后,我们对KNN图应用随机游走模型,以进一步探索领域内节点之间潜在的复杂非线性关系。我们引入一个转移矩阵 \(P^s\),其中 \(P^s_{ij}\) 表示第 \(i\) 个节点在经过 \(s\) 次转移后到达第 \(j\) 个节点的概率,且初始转移矩阵 \(P^0\) 等于单位矩阵(\(P^0 = I\))。返回初始顶点并重新开始的概率设定为 \(1 - \alpha\),转移矩阵迭代过程可定义如下:

\[

P^s = \alpha P^{s-1}K + (1 - \alpha)P^0 \tag{3}

\]

经验上,我们将转移步长 \(s\) 设置为两步(\(s \leq 3\)),已有研究证明,三阶邻域几乎覆盖了整个生物网络,超过三跳的节点对邻域信息并不十分有用。为了进一步探索公式(3),我们可以通过初始转移矩阵 \(P^0\) 更新规则:

\[

P^s = \alpha^s P^0K^s + (1 - \alpha) \sum_{t=1}^{s} \alpha^{s-t} P^0K^{s-t} \tag{4}

\]

经过 \(s\) 步后,概率矩阵为 \(U = \sum_{s=1}^{S} P^s\)。为了增强图结构,我们将随机游走模型后的 \(U\) 转换为正点互信息(PPMI)矩阵。增强的主要方法基于计算每个节点的点互信息(PMI)并测量它们的相关性,定义如下:

\[

\text{PMI}(x, y) = \log \left( \frac{p(x, y) \cdot |S|}{p(x)p(y)} \right) \tag{5}

\]

\[

\text{PPMI}(x, y) = \max(\text{PMI}(x, y), 0) \tag{6}

\]

其中,\(|S| = \sum_x \sum_y p(x, y)\),\(x\) 和 \(y\) 代表不同的节点;\(p(x)\) 和 \(p(y)\) 分别表示 \(x\) 和 \(y\) 的概率;\(p(x, y)\) 表示 \(x\) 和 \(y\) 的共现概率。根据概率论,如果 \(x\) 和 \(y\) 相关性更强,那么 \(p(x, y)\) 与 \(p(x)p(y)\) 的比值就更大。因此,同类型的细胞在生物网络中的权重在细胞图中更高。最终,我们可以近似地将PPMI矩阵作为细胞图 \(A\),定义如下:

\[

A = \max\left( \log \frac{U \Theta}{\text{row}(U)\text{col}(U)}, 0 \right) \tag{7}

\]

其中,\(\Theta\) 表示 \(U\) 中所有元素的总和,\(\text{row}(U)\) 和 \(\text{col}(U)\) 分别是每行和每列总和的向量。

基于多项式分布的图卷积自动编码器

为了更好地捕捉scRNA-seq数据中的细胞图结构和节点关系,我们提出了一种基于多项式分布模型的图卷积自动编码器。模型的流程是首先通过图卷积网络(GCN)将计数矩阵数据和细胞图数据的主要特征和结构保留到低维空间中,然后我们使用两个平行的解码器分别重构图和提取潜在嵌入表示中的数据信息;即内积和基于多项式的解码器。 我们将预处理后的基因表达矩阵 \\hat{X} 和细胞图 A 作为输入。编码器通过两层GCN执行卷积操作,并将 \\hat{X}A 中的重要信息保留到潜在嵌入表示 Z 中,定义如下: \begin{equation} Z = \sigma \left( A \sigma \left( A X W_1 \right) W_2 \right) \tag{8} \end{equation} 其中,\\sigma(\\cdot) = \\max(0, \\cdot) 表示ReLU激活函数;A = D\^{-\\frac{1}{2}} A D\^{-\\frac{1}{2}} 是归一化细胞图,D = \\text{diag}\\{(I+A)1_N\\} 是度矩阵;W_l 是第 l 层学习到的参数矩阵。内积解码器从 Z 中解码重构的细胞图信息,定义如下: \begin{equation} \hat{A} = \text{sigmoid}(Z^T Z) \tag{9} \end{equation} 其中,\\hat{A} 是重构的细胞图 A\\text{sigmoid}(\\cdot) = \\frac{1}{1 + e\^{-\\cdot}} 是sigmoid激活函数。因此,我们可以定义重构损失 L_r 在训练过程中最小化,定义如下: \begin{equation} L_r = \frac{1}{n^2} \sum_{i=1}^{n} \sum_{j=1}^{n} \| \hat{A}{ij} - A{ij} \|^2 \tag{10} \end{equation} 其中,n 表示节点的总数。 另一方面,我们采用基于多项式的解码器来解码数据矩阵信息。我们定义 n_i = \\sum_{j=1}\^{d} X_{ij} 表示第 i 个细胞的总基因表达量,m_{ij} 表示第 i 个细胞中第 j 个基因表达在总基因表达中的未知真实相对丰度,即 E(X_{ij}) = n_i m_{ij}。因此,向量 X_i = (X_{i1}, X_{i2}, \\ldots, X_{id}) 服从多项式分布,定义如下: \begin{equation} f(X_i \mid m) = \frac{n_i!}{X_{i1}! X_{i2}! \cdots X_{id}!} \prod_{j=1}^{d} m_{ij}^{X_{ij}} \tag{11} \end{equation} 为了解决脱落事件,我们提出使用二元随机变量 U_{ij} 进行模拟,其中 U_{ij} = 0 表示第 i 个细胞的第 j 个基因表达值在原始矩阵中为零(即脱落事件),反之 U_{ij} = 1。每个基因的实际相对丰度 m_{ij} 服从beta分布,定义如下: \begin{equation} \hat{X}{ij} \sim \text{Beta}\left(\frac{\exp(Z_i Z_j)}{ \sum{k=1}^{d}\exp(Z_i Z_k)} \right) \tag{12} \end{equation} 为了进行进一步的推断,我们定义重构矩阵 \\hat{X} 的概率 p(\\hat{X}\\mid Z): \begin{equation} p(\hat{X} \mid Z) = \prod_{i=1}^{n} \prod_{j=1}^{d} \frac{\Gamma(\sum_{j=1}^{d} \hat{X}{ij})}{\prod{j=1}^{d} \Gamma(\hat{X}{ij})} \prod{j=1}^{d} \hat{X}{ij}^{n_i \hat{X}{ij}} \tag{13} \end{equation} 结合公式(12)和(13),基于多项式解码器的重构损失 L_d 可定义如下: \begin{equation} L_d = -\frac{1}{nd} \sum_{i=1}^{n} \sum_{j=1}^{d} \log p(\hat{X}\mid Z) \tag{14} \end{equation} 因此,我们的目标是通过将重构损失 L_rL_d 最小化,优化图卷积自动编码器模型,从而提升模型的稳定性和精度。

模型总损失函数

为了捕捉scRNA-seq数据的细胞图结构及其细胞间的非线性关系,并且有效解码细胞图和细胞嵌入数据,我们提出的基于多项式分布的图卷积自动编码器模型通过最小化以下总损失函数来实现: \begin{equation} L = L_r + \lambda L_d \tag{15} \end{equation} 其中,\\lambda 是控制两种损失之间权衡的超参数。通过公式(15)我们可以训练模型,在最小化重构损失的同时优化细胞图和数据信息的嵌入表示。

结论

我们提出了一种基于多项式分布的图卷积自动编码器来解决单细胞RNA测序数据中的细胞间非线性关系。该模型不仅在生物网络的图结构中有效捕捉细胞间的非线性关系,而且能够成功地在复杂的生物网络上进行细胞图和基因表达数据的重构。此外,该模型能够处理因数据噪声而产生的脱落事件。我们模型的优越性已在不同的公共数据集上得到了验证,未来可以扩展到更广泛的基因组分析中。



看完之后发现这正是我后续想研究的方向嘛,学习研究。。。

相关推荐
galileo20167 分钟前
LLM与金融
人工智能
DREAM依旧23 分钟前
隐马尔科夫模型|前向算法|Viterbi 算法
人工智能
GocNeverGiveUp36 分钟前
机器学习2-NumPy
人工智能·机器学习·numpy
B站计算机毕业设计超人2 小时前
计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
大数据·人工智能·爬虫·python·机器学习·课程设计·数据可视化
学术头条2 小时前
清华、智谱团队:探索 RLHF 的 scaling laws
人工智能·深度学习·算法·机器学习·语言模型·计算语言学
18号房客2 小时前
一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·sklearn
feifeikon2 小时前
机器学习DAY3 : 线性回归与最小二乘法与sklearn实现 (线性回归完)
人工智能·机器学习·线性回归
游客5202 小时前
opencv中的常用的100个API
图像处理·人工智能·python·opencv·计算机视觉
古希腊掌管学习的神2 小时前
[机器学习]sklearn入门指南(2)
人工智能·机器学习·sklearn
凡人的AI工具箱2 小时前
每天40分玩转Django:Django国际化
数据库·人工智能·后端·python·django·sqlite