← Back to scModels Foundation Model

scGen

scGen
Mohammad Lotfollahi, F. Alexander Wolf, Fabian J. Theis · 2019-07-29 · Nature Methods

首个用VAE+潜空间向量算术预测单细胞扰动响应的生成模型。2019年Nature Methods,690引用。跨细胞类型/物种外推扰动效应,Theis实验室单细胞AI版图奠基之作。

Overview

📄 第29期 | scGen predicts single-cell perturbation responses:第一个教会AI"预测未知"的单细胞模型

2019年,一个来自慕尼黑的团队用变分自编码器做了一件此前无人做到的事——在从未见过的细胞类型上,准确预测基因扰动后的表达变化。这篇Nature Methods论文开启了单细胞领域"in silico筛选"的先河。

Figure 1: scGen architecture overview
▲ 图1:scGen工作流程。在潜空间学习"扰动向量",将其应用到未见过的细胞类型上,解码回基因表达空间。


🔬 为什么这篇文章重要?

做生物实验的人都有一个痛点:想测试某个药物对十种细胞类型的影响,但只做了其中五种。剩下五种怎么办?再做一轮实验——花钱、花时间、花生命。

2019年之前,计算生物学家对这个问题束手无策。统计模型需要配对样本,机器学习模型只能内插不能外推。没有人证明过,一个模型可以在训练时没见过某种细胞类型的扰动状态,却能准确预测它的响应。

scGen 是第一篇证明这件事可行的论文。它用一个看似简单的架构——变分自编码器加潜空间向量算术——跨越了细胞类型、研究批次乃至物种的边界。690次引用,6万次访问,它不仅是Theis实验室单细胞AI版图的奠基之作(后续的scArches、CPA都由此展开),更定义了一个新范式:预测生物学


🧠 核心创新:scGen 是怎么工作的?

scGen 的核心思路可以用一句话概括:在潜空间里做加减法

三步走的预测流程

① 编码:把所有细胞压进同一个潜空间

scGen 使用变分自编码器(VAE)将高维基因表达数据(约7000个高变基因)压缩到低维潜空间。编码器学会将每个细胞的基因表达谱映射为一个潜向量 z,解码器负责从 z 重建原始表达谱。

这里的关键是:VAE不是简单压缩,它学的是一个平滑的、可插值的潜空间——相似的细胞在潜空间中靠近,不同细胞类型形成不同的"区域",而沿着潜空间的某些方向移动,对应着有生物学意义的变化。

② 学习扰动向量 Δ:扰动 = 潜空间中的一次"平移"

scGen 的第二个关键组件是"扰动向量"。假设你有对照细胞(control)和被IFN-β刺激过的细胞(stimulated),把两类细胞分别编码到潜空间后,计算它们的平均潜向量之差:

Δ_stim = mean(z_stimulated) - mean(z_control)

这个 Δ 就是"IFN-β刺激"这件事在潜空间中的几何表示——一个固定方向和长度的向量。

③ 预测:z_new = z_control + Δ

最精彩的部分来了:如果你有一个从未在刺激条件下见过的细胞类型(比如单核细胞只在对照条件下被你观测过),只需:

  1. 把对照状态下的单核细胞编码为 z_mono_control
  2. 加上扰动向量:z_mono_predicted = z_mono_control + Δ_stim
  3. 解码回基因表达空间

你就得到了单核细胞在被IFN-β刺激后理论上应该呈现的表达谱。

scGen vs 同期方法

方法 能否预测未见的细胞类型? 能否跨物种? 核心机制
传统差异表达分析 ❌ 只能分析已有数据 统计检验
机器学习分类器 ❌ 只能内插 监督学习
机理模型(ODE等) ⚠️ 需要完整的通路知识 微分方程
scGen ✅ 潜空间外推 VAE + 向量算术

为什么潜空间向量算术有效?

这不是魔法,而是VAE的正则化性质的直接结果。VAE的训练目标包含两部分:重建损失(让解码回的数据像真的)和KL散度损失(让潜空间接近标准正态分布)。后者强制潜空间连续且光滑——潜空间中相近的点解码出相似的表达谱,且两点之间的线性插值解码出合理的中间状态。

当一个生物学扰动在潜空间中表现为一个大致一致的平移方向时(即同一扰动对不同细胞类型的潜空间影响方向相似),向量算术就自然成立。scGen的实验结果证明,至少在IFN-β刺激、LPS处理、沙门氏菌感染等场景下,这个假设确实成立


📊 关键实验结果

scGen 在三个递进难度的任务上验证了它的能力:

任务一:跨细胞类型预测。 在PBMC数据集上,用IFN-β刺激的CD4 T和CD8 T细胞训练模型学习扰动向量 Δ_stim,然后预测单核细胞、B细胞、NK细胞、树突状细胞的刺激响应。预测结果与真实刺激数据高度吻合——模型从未见过这些细胞类型的刺激状态,却准确推断出了哪些基因会上调或下调。

任务二:跨物种预测。 用人类细胞的LPS响应数据训练,预测小鼠细胞的LPS响应。这比跨细胞类型更难——不同物种的基因集合不同(同源基因对应关系),基线表达水平也不同。scGen成功捕获了物种间保守的响应模式。

任务三:跨研究/批次泛化。 scGen还展示了批次校正能力——可以将来自不同实验室、不同测序平台的数据整合到统一的潜空间中,同时保留生物学差异(扰动效应),去除技术噪声。

Figure 2: Cross cell type prediction
▲ 图2:跨细胞类型扰动预测。模型在CD4 T和CD8 T细胞的IFN-β刺激数据上训练,预测单核细胞等未见过类型的响应。


⚠️ 局限与展望

scGen 的开创性毋庸置疑,但它也有清晰的边界:

  1. 线性潜空间假设。 向量算术成立的前提是扰动在潜空间中表现为均匀的平移。对于复杂的非线性扰动(如多基因组合敲除),这个假设可能不成立。这一点在后续的CPA(组合扰动自编码器)中得到了改进。

  2. 需要配对数据。 scGen要求训练集中至少有一些细胞类型同时具有对照和扰动两种状态,才能学习扰动向量。纯零样本场景(没有任何扰动数据)无法处理。

  3. 规模限制。 2019年的scGen处理的是数千到数万个细胞,相比今天动辄百万细胞的基础模型,它的表征能力有限。

然而,scGen真正的遗产不在于模型本身,而在于它证明了一个重要的命题:潜空间中的向量算术可以捕捉生物学扰动的本质。这一洞见深刻影响了后续工作——scArches将迁移学习引入VAE、CPA将向量算术扩展为非线性组合、Cell-JEPA则用联合嵌入预测架构重新诠释了同一思想。从"能不能"到"怎么做得更好",scGen完成了最艰难的第一步。


📎 论文信息

  • 📄 论文: scGen predicts single-cell perturbation responses
  • 🔗 链接: https://doi.org/10.1038/s41592-019-0494-8
  • 💻 代码: https://github.com/theislab/scgen
  • 👥 团队: Mohammad Lotfollahi, F. Alexander Wolf & Fabian J. Theis | Helmholtz Munich / TU Munich
  • 📊 影响力: 690 Citations | 60k Accesses | Nature Methods (2019)
  • 📅 发表日期: 2019年7月29日

Publication

scGen predicts single-cell perturbation responses

Links

📄 Read Paper 💻 GitHub

Specifications

  • ArchitectureVAE (Variational Autoencoder) with latent space vector arithmetic
  • ModalityscRNA-seq