
如同群鸟齐飞,细胞(cells)在协调却又高度异质的集体状态中穿梭。封面图片捕捉了这些细胞群体在应对不同外部扰动时所展现出的流动性、适应性和涌现式(emergent)组织。个体的运动轨迹汇聚成动态模式,反映了功能状态之间的持续转换。Driessen等人将细胞视为一个不断演化的生态系统而非静态群体,他们的研究重点阐述了多样性和动态流动如何塑造细胞对药物治疗(drug treatment)的反应。

论文:Conditional Monge Gap enables generalizable single-cell perturbation modelling
单位:IBM欧洲研究院、苏黎世联邦理工学院、瑞士生物信息学研究所(SIB)、洛桑大学
请索引第109篇论文
![]() | ![]() |
CMonge(Conditional Monge Gap),一篇非常典型的"AI 数学工具 + 单细胞生物学"交叉代表作,对做神经最优传输(Neural OT)和单细胞扰动建模两个方向的人都有嚼头。
01 单细胞扰动预测的老大难:scRNA-seq 是"破坏性测量"
理解这篇论文的动机,得先从单细胞转录组的一个根本痛点说起。你想测同一群细胞在给药前后的变化,但 scRNA-seq 是破坏性的——测完这批细胞就死了,你永远拿不到"同一细胞 perturbed vs unperturbed"的配对数据。所以扰动建模本质上是在比分布,而不是比点对点。这正是最优传输(OT)天然擅长的场景:CellOT、scPRAM 这些前人工作已经证明 OT 能学 unperturbed → perturbed 的细胞分布变换。
但问题来了:现有 OT 方法全是无条件的,一个 drug-dose 条件就得训一个独立模型。代价是什么?论文里列了四条:
• 新条件没数据就废了,完全不能泛化;
• 36 个条件就要训 36 个模型,计算和存储都肉疼;
• 没有利用 covariate(药物结构、剂量、细胞类型…)里的归纳偏置;
• 相似扰动之间的跨任务信号完全浪费。
而药物发现里最值钱的场景恰恰是未见药物(OOS)预测——chemCPA、GEARS 这些 SOTA 已经在往这个方向走,但 OT 这条线一直缺一个能"条件化"的方案。CMonge 就是来补这个洞的。

02 从 Monge Gap 到 Conditional Monge Gap
Monge Gap(Uscidda & Cuturi, ICML 2023)的好处是用 Sinkhorn divergence + 一个正则项直接参数化传输映射 T,不用 ICNN 那种难训的凸约束,也不绑定平方欧氏成本。CMonge 的核心改造非常干净——把原本 per-condition 的 loss:

扩展成对所有 K 个条件同时优化:

也就是把 context c_i(药物编码 + 剂量)喂给同一个全局 T_\theta,让它学一个条件化的传输映射。推理时哪怕 c_i 是训练没见过的药物,也能直接推。
架构上更朴实:T_\varphi 是个 MLP,输入把 source cell s_i 和 context c_i 拼一起,输出是一个 shift vector,最终预测 t_i = s_i + T_\varphi(c_i, s_i)。SciPlex 的 1000 HVG 还先过了个 AE 压到 50 维 latent space 再训 OT,解码回来算指标。
对 AI 读者的一个小提醒:这里 context 编码的设计很影响上限。论文试了两种——
- RDKit fingerprint(194 维分子结构,纯先验,不依赖数据)
- MoA embedding(用 target 分布间 Wasserstein 距离做 MDS 压出来的 10 维,数据驱动,相似作用机制的药物在嵌入空间里自然靠近)
组合用药则用 DeepSets 平均池化,permutation invariant,能捕获非加性协同——这部分架构虽然简单,但留给后续换 attention pooling 的空间很大(补充材料里试了,边际提升)。
03 实验设计:从 9 药到 187 药,从 SciPlex 到 4i
论文的实验节奏铺得很扎实,我挑几个有关键信息的节点说。
第一层:只条件化剂量(单 context)。在 SciPlex 9 药 × 4 剂量上,原来每条件一个 Monge 要 36 个模型;CMonge-Dose-IS 每药一个模型(9 个)就能追平 36 个独立 Monge 的上界,10000 nM hardest dose 也几乎没掉点(Table 1)。

第二层:药物 + 剂量双 context,单模型通吃 36 条件。这时候 MoA 编码的 CMonge-DrugDose-MoA-IS 几乎贴着上界走,RDKit 版在低剂量还一般,但到 1000 nM 以上也能打(Fig. 2a)。值得注意的是,单模型 36 条件的 CMonge 在 Wasserstein 距离上还比 36 个独立 Monge 更好——说明全局共享结构确实学到了跨扰动的共性,分布异质性捕得更准。通路富集分析拿 trametinib(MEK 抑制剂)验了一下,预测出的 top 通路和真实观测高度重叠(Fig. 2d/e),生物学上说得通。


第三层:scale 到 187 药、748 条件。这时候独立 Monge 已经训不动了(计算上不合理),CMonge 单模型扛下来,RDKit 版因为参数和条件数都上去了,终于追平 MoA 版(Fig. 2b)——这个趋势很重要:结构编码在数据够多时能逼近效应编码,意味着纯靠 SMILES 就能做虚拟筛选,不依赖已有的 perturbed 数据去算 MoA。
第四层:4i 蛋白数据 + 组合用药。33 个治疗条件里含 6 个组合用药,CMonge 在组合场景甩开无条件 Monge 一大截(Fig. 3b),说明 DeepSets pooling 确实在抓组合效应上有用。

第五层:OOS 未见药物,这是真正的杀手锏。9 药 leave-one-out,CMonge-MoA-OOS 的 R^2 在 10000 nM 都能到 ~0.9,而 chemCPA 只有 ~0.21(Extended Data Table 3);scale 到 748 条件、leave 9 药 out 的 21-fold CV 里,CMonge-RDKit-OOS 在最高剂量也压过 chemCPA(Table 2,R^2 0.781 vs 0.760,Wasserstein 4.232 vs 4.767,MMD 0.020 vs 0.195——MMD 差距尤其夸张)。UMAP 可视化更直观:chemCPA 预测经常坍缩成均值态,丢掉了药物特异的多模态和离散度;CMonge 的预测分布既贴 target 又保留了 spread(Fig. 4d)。

Table 2|748 条件 OOS、10000 nM 下 CMonge-MoA / RDKit vs chemCPA 的三指标对比

Extended Data Table 1|9 药 Wasserstein 细粒度拆解,CMonge-MoA-IS 在 10/100/1000 nM 都压到 ~2.85,接近 Within-condition 上界

Extended Data Table 3|9 药 OOS 的 R^2,CMonge-MoA-OOS 四剂量全在 0.87+,chemCPA 在 10000 nM 跌到 0.211


04 参数量这件事:23k vs 1.37M
论文里有个细节值得 AI+生物交叉方向的读者琢磨:CMonge-DrugDose(36 条件版)全身可训参数 2.3 万,ChemCPA 是 137 万。放大到 748 条件版,CMonge-RDKit 也就 58 万,还是比 ChemCPA 小一圈。性能反而更好,尤其在分布级指标(Wasserstein、MMD)上甩得更远。
这个反差戳中当下单细胞基础模型的一个尴尬:scGPT、scBERT 这些百兆参数模型,在扰动预测 benchmark 上经常被线性 baseline 吊打(Ahlmann-Eltze et al., Nat Methods 2025 刚系统喷过这事)。CMonge 反过来证明——问题匹配的数学结构(OT 天生对口 unpaired 分布变换)+ 轻量条件化,比堆参数管用。这点对做 AI4Science 模型设计的人应该是个提醒:先想清楚问题的"归纳偏置该长什么样",再决定模型要多重。


05 局限与扩展方向
作者自己列得也老实:对完全新细胞类型的泛化、对稀疏采样药物类别、对超高剂量(转录态可能超出训练支撑集)都还会掉点。讨论里提的几个未来方向里有意思的是——他们在并行工作(Cell Systems 2026)已经把 CMonge 迁去 CAR-T 场景,用蛋白语言模型编码 CAR 设计当 context,同样能 OOS。这说明这个框架的 context 不挑模态:药物 SMILES、剂量、细胞类型、基因敲除、蛋白序列……都能塞。
另一个可挖的点是 permutation-invariant pooling 现在用的是 DeepSets 平均,复杂组合协同(synergy/antagonism)可能得换 attention pooling,补充材料里在小数据上试了边际收益不大,但如果是 Tahoe-100M 那种 giga-scale 组合扰动数据集,可能就值了。
06 对 AI+交叉读者的启发
OT 在生物学里的"条件化"才刚开场。CMonge 解决的是扰动预测,但同类思路(全局共享 OT map + context encoder)可以搬到轨迹推断(moscii 那路)、跨模态对齐(SCOT 那路)、空间转录组批次校正……凡是原来要做 per-conditional OT 的场景,都能想想能不能合成一个全局条件版。
结构编码 vs 效应编码的 trade-off 是药物 AI 的通用命题。RDKit 纯靠 SMILES、不碰任何 perturbed 数据就能逼近 MoA,这正好是"虚拟筛选未见化合物"想要的;但 MoA 在有数据时能打更高。混合策略(比如预训练结构编码 + 少量 perturbed 数据微调 MoA 头)可能是下一步。
轻量模型在 AI4Science 里远没过时。当领域 SOTA 都在冲 foundation model 时,CMonge 这种"问题量身定做 + 参数量级克制"的路子,反而更容易在细分任务上跑通、被实验组真用起来。



内容中包含的图片若涉及版权问题,请及时与我们联系删除




评论
沙发等你来抢