← Back to scModels Foundation Model

CPA

CPA
Mohammad Lotfollahi, Anna Klimovskaia Susmelj, Carlo De Donno, Leon Hetzel, Yuge Ji, Ignacio L Ibarra, Sanjay R Srivatsan, Mohsen Naghipourfar, Riza M Daza, Beth Martin, Jay Shendure, Jose L McFaline-Figueroa, Pierre Boyeau, F Alexander Wolf, Nafissa Yakubova, Stephan Günnemann, Cole Trapnell, David Lopez-Paz, Fabian J Theis · 2023-05-08 · Molecular Systems Biology, 2023

组合扰动自编码器:将药物/基因扰动表示为可加和的潜空间嵌入向量,零样本预测未见药物组合和基因组合的转录组响应

Overview

📄 第28期 | CPA: Predicting cellular responses to complex perturbations in high-throughput screens — 一个能预测药物组合效果的「虚拟细胞实验室」

用深度生成模型在单细胞层面预测药物和基因的任意组合效果——不需要做实验,就能回答「如果给这个细胞同时用两种新药,会发生什么?」

🔬 为什么这篇文章重要?

药物研发面临一个核心困境:组合空间的指数爆炸。假设你有188种候选药物、3种癌细胞系、4个剂量级别——仅两两组合就有数百万种可能。逐一实验验证是不可行的。更麻烦的是,即使完成了筛药实验,那些「没被测试过的组合」里可能藏着最有效的方案。对于癌症治疗来说尤其如此:单药治疗常常因为耐药性而失败,联合用药是突破方向,但组合数量实在太多,实验成本和时间都无法承受。

CPA(Compositional Perturbation Autoencoder,组合扰动自编码器)正是为解决这个问题而生的。它的核心思想可以用一句话概括:把每一个药物扰动当作一个可学习的「向量」,然后像拼积木一样在潜空间里做加法,预测任意组合的效果。 这种「组合性」(compositionality) 正是自然语言处理中 word2vec 的核心理念——「国王 - 男人 + 女人 = 女王」——只不过 CPA 的对象不是词语,而是药物对细胞转录组的扰动效应。

为什么这个想法如此关键?因为在此之前,单细胞扰动建模领域存在一个尴尬的断层:线性模型可解释但无法捕捉复杂的非线性生物效应;深度神经网络灵活但像一个黑箱,你不知道它学到了什么。CPA 是第一个系统性地将「可解释性」和「非线性灵活性」统一在一个框架内的方法。它的加法结构让你能清楚地看到每个药物贡献了什么,而非线性解码器又保证了它不会把复杂的细胞响应简化成机械的求和。

这项工作由 Lotfollahi 和 Theis 实验室主导,联合了 Meta AI、华盛顿大学 Shendure 实验室和 Trapnell 实验室、慕尼黑工业大学等近二十位研究者,发表在 Molecular Systems Biology(2023),目前已被引用283次,访问量超过1.1万次。值得注意的是,这篇文章发表后不到一年,其扩展版本 chemCPA 就在 NeurIPS 2022 上亮相——足见这个框架的扩展潜力。

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

传统方法 vs CPA

维度 传统方法 CPA
基因表达建模 独立比较每种条件 vs 对照 统一潜空间中的所有条件
组合预测 无法预测未见组合 潜空间中用向量加法合成
可解释性 差(黑箱神经网络) 强(每个扰动有独立的可学习嵌入向量)
剂量响应 离散剂量单独建模 连续剂量缩放函数(学出来的剂量-响应曲线)
跨细胞类型 需分别训练 对抗训练解耦基底状态
药物化学结构 无法利用 可选集成化学编码器(chemCPA)

三步走的工作流程

① 编码:把细胞状态分解成可加和的「组件」

CPA 首先通过一个编码器神经网络,把细胞的基因表达向量压缩到低维潜空间。但关键的一步在于:这个潜空间表示被对抗训练「纯化」了。

具体来说,CPA 引入了一个判别器(discriminator),它的任务是:根据编码后的潜向量,猜出这个细胞接受了什么药物、属于哪种细胞类型。编码器的任务则相反——它要「欺骗」判别器,让判别器猜不出来。这种对抗博弈的结果是:编码器输出的潜向量不再包含任何药物和协变量信息,只剩下细胞的「基底状态」——即如果这个细胞没有被处理,它本来应该是什么样。

这个基底状态才是真正的「干净」表示。

② 组合:在潜空间里做「向量加法」

获得基底状态后,CPA 用加法把扰动效应叠加上去:

细胞最终状态 = 基底状态 + 药物A的嵌入 × 剂量缩放(剂量A) + 药物B的嵌入 × 剂量缩放(剂量B) + 细胞类型嵌入 + ...

这里的每个「嵌入」都是一个 256 维的可学习向量。剂量缩放函数是一个小神经网络,它学习把连续剂量值(如 10nM、100nM、1μM、10μM)映射到一个缩放系数——相当于自动学到了每个药物的剂量-响应曲线。

这个设计的精妙之处在于:它把「组合预测」变成了「向量加法」。如果你训练时见过药物A和药物B各自单独的效果,推理时你把它们的嵌入加起来,就能预测 A+B 组合的效果——即使训练数据中从未出现过这个组合。

当然,这种线性假设在潜空间中是成立的,但通过非线性解码器(一个将潜向量映射回基因表达空间的神经网络),CPA 可以捕捉复杂的、细胞类型特异性的非加性效应——比如两种药物在特定细胞类型中产生的协同作用。

③ 解码:从潜空间回到基因表达空间

解码器接受组合后的潜向量,输出每个基因的预测表达均值和方差——不仅预测基因会「平均表达多少」,还预测了「细胞间差异有多大」。这对单细胞数据至关重要,因为同一种处理下不同细胞的响应差异(异质性)本身就是重要的生物学信号。

为什么这个设计如此重要?

总结三条关键优势:

第一,真正的零样本组合预测。 传统的条件变分自编码器(cVAE)虽然也能建模多种条件,但当你问它「A+B 组合会怎样」,它只能说「我没见过,不知道」。CPA 因为是加性结构,可以直接合成答案。

第二,可解释的嵌入空间。 训练完成后,每个药物对应一个 256 维向量。相近的药物在嵌入空间中聚在一起——CPA 自动学会了将表观遗传调控剂、酪氨酸激酶抑制剂、蛋白质折叠/降解药物分别聚类。这意味着你可以用嵌入空间来「搜索」功能相似的药物。

第三,模块化扩展性。 CPA 的架构天然支持扩展。比如 chemCPA(Hetzel et al., NeurIPS 2022)在 CPA 基础上增加了一个化学编码器——输入药物的分子指纹,输出扰动嵌入——从而实现了对完全未见过的新药的响应预测。也就是说,只要你有一个新化合物的化学结构,CPA 就能猜出它会对细胞产生什么影响。

📊 关键实验结果

CPA 在三个规模递增的实验场景中接受了检验:

场景一:大规模药物筛选(sci-Plex3)

188种化合物 × 3种癌细胞系 × 4个剂量级别,共约29万个单细胞。测试任务是预测36种药物在最高剂量(10μM)下的效果——这些条件在训练中被完全剔除。

结果:CPA 预测的基因表达与真实数据之间的 R² 显著优于随机基线。在方差预测上,CPA 比前一代方法 scGen 提升了 35.85%。对于 Momelotinib(一种 JAK 抑制剂),即使模型从未见过该药在最高剂量下的任何细胞,它仍然准确预测了前5个差异表达基因的分布。

场景二:全新药物组合验证(Combosciplex)

研究人员专门生成了一个新的验证数据集:从188种药物中选出13种,测试了32种单药和组合条件。CPA 成功预测了所有5种被完全排除在训练之外的组合。其中,Panobinostat + Alvespimycin 的组合(在 UMAP 上形成了独立的转录簇)预测 R² 达到 0.81

更令人印象深刻的是:CPA 的表现显著优于线性模型基线,证明它捕捉到了超越简单平均的非线性组合效应。

场景三:遗传扰动筛选(Perturb-seq)

105个基因的过表达单扰和双扰实验(约10.8万个细胞),共有131个实测的双基因组合——这只占所有可能组合的 2.4%。CPA 用这2.4%的数据训练后,在 silico 中生成了其余 5,329个缺失组合(97.6%)的预测。

模型成功复现了已知的协同基因对(CBL+CNN1 驱动红系分化)和上位性基因对(DUSP9+ETS1),并能从预测的组合数据中推断出新的基因-基因相互作用模式——包括 KLF1 为主导的新互作、FOXA3 的协同效应等。

附:chemCPA —— 预测完全未见过的新药

通过在 CPA 的扰动嵌入模块前接入一个化学结构编码器(使用 RDKit 分子指纹),chemCPA 可以在从未见过某种化合物的训练数据的情况下,仅凭化学结构预测其单细胞转录组响应。在留出9种化合物(包括Dacinostat、Belinostat 等)的测试中,chemCPA 在 DEG 预测上的 R² 中位数达到 0.85

⚠️ 局限与展望

CPA 并非万能。论文坦诚地列出了几个关键局限:

  1. 分布外泛化的天花板:如果测试数据与训练数据差异过大,CPA 会失败——这是所有机器学习模型的共性。论文实现了一个基于潜空间距离的不确定性估计(查询条件离训练集越远,不确定性越高),但距离真正的贝叶斯不确定性量化还有距离。在实际应用中,这意味着你不能盲目信任模型对极端剂量或全新组合的预测——它需要配套的不确定性提示。

  2. 数据偏差会传导:如果某些基因总是与其他基因一起出现在组合扰动数据中,模型会倾向于预测更复杂的效果;而那些被较少测量的基因组合则倾向于被预测为单基因主导效应。这说明实验设计(哪些组合被测量了)直接影响模型学到什么——垃圾进,垃圾出,只不过这里的「垃圾」不是数据质量差,而是实验覆盖不均衡。

  3. 目前仅限于基因表达:CPA 不直接捕获转录后修饰、信号通路、细胞通讯等其他调控层次。但在架构上,向多组学扩展是可行的——比如同时建模 scRNA-seq 和 ATAC-seq,或者在潜空间中嵌入蛋白质相互作用网络的信息。

  4. 确定性而非变分:当前 CPA 使用确定性自编码器,通过输出方差来捕捉不确定性。转向变分版本(如 scVI 式的 VAE)在实现上是直接的,但需要权衡训练稳定性和生成质量。

综上,CPA 的核心贡献不在于追求某个单一指标上的 SOTA,而在于提出了一种 「组合性」建模范式——将「可解释的线性分解」与「灵活的非线性深度学习」统一在一个框架内。这个范式的影响力已经超出了论文本身:chemCPA 的化学结构扩展、对其他模态的自然适配、以及在 bulk RNA-seq 数据上的成功应用,都证明了这个框架的生命力。正如作者在讨论中所言——「生物学最终的目标不是盲目的预测,而是机制性的理解。」CPA 提供了一个既能预测、又能帮助理解的工具。

在药物组合筛选正变得越来越高通量的今天,CPA 提供的「先算后验」策略——用计算模型筛选最有希望的组合,再用实验精确验证——正在成为精准医疗时代的一种新常态。

📎 论文信息

  • 📄 论文: Predicting cellular responses to complex perturbations in high-throughput screens
  • 🔗 链接: https://doi.org/10.15252/msb.202211517
  • 💻 代码: https://github.com/theislab/cpa
  • 👥 团队: Mohammad Lotfollahi, Anna Klimovskaia Susmelj, Carlo De Donno et al. (19 authors) | Helmholtz Munich / Wellcome Sanger Institute / Meta AI / University of Washington / Technical University of Munich
  • 📊 影响力: 283 引用 | 11K+ 访问 | 89 Altmetric
  • 📅 发表: Molecular Systems Biology, 2023年5月8日 | Open Access (CC BY 4.0)

Publication

Predicting cellular responses to complex perturbations in high-throughput screens

Links

📄 Read Paper 💻 GitHub

Specifications

  • ArchitectureCompositional Perturbation Autoencoder (adversarially disentangled autoencoder): Encoder → basal state (purified via discriminator adversarial training) → additive composition with perturbation embeddings × dose-response scaler + covariate embeddings → nonlinear decoder → gene expression mean & variance. Extension chemCPA adds chemical structure encoder for unseen drug prediction.
  • ModalityscRNA-seq