快速摘要: 哥伦比亚大学与斯坦福大学联合团队开发了一个名为 Squidiff 的扩散模型框架,它能够在计算机中模拟细胞对分化信号、基因编辑和药物处理的转录组响应。该模型仅需少量时间点数据训练,即可预测中间状态的基因表达变化,Pearson 相关系数最高达 0.99。Squidiff 在细胞分化预测、基因扰动建模、药物响应筛选和类器官研究中均展现出优异性能,是迈向"AI虚拟细胞"愿景的重要一步。 往下看,莫潇羽@源码七号站将为你详细拆解这个模型的核心原理、技术架构、操作流程和实验验证结果。
一、为什么我们需要"AI虚拟细胞"?
在过去十年间,单细胞测序技术经历了爆发式发展。研究者们可以一次性获取数千甚至数万个细胞的基因表达信息,从而揭示出组织中细胞类型的惊人多样性。然而,一个核心问题始终悬而未决——我们虽然能"看到"细胞现在的状态,却很难预测它们在面对外部刺激时会如何变化。
举一个具体的场景来理解这个挑战:假设你正在研究一种抗肿瘤药物对胶质瘤细胞的作用效果。传统做法是在实验室中培养胶质瘤细胞,加入药物处理,等待一段时间后进行单细胞测序,然后分析哪些基因被上调、哪些被下调。这个过程不仅耗时耗力,而且如果你想测试 10 种药物在 5 种细胞类型上的效果,实验量就会呈指数级增长,在经济上和时间上都不现实。
正是在这样的背景下,"AI虚拟细胞"(AI Virtual Cell, AIVC)的概念应运而生。2024 年底,由陈·扎克伯格基金会(CZI)牵头,来自斯坦福大学、哈佛大学、Genentech 等机构的研究者联合发表了一篇重要的展望文章,系统阐述了如何利用人工智能构建虚拟细胞模型。其核心思路是:训练一个大规模神经网络,让它从海量的单细胞组学数据中学习到细胞行为的内在规律,然后在计算机中模拟细胞对各种扰动的响应——这就像是给细胞建了一个"数字孪生体"。
所谓"虚拟细胞",并不是要在计算机里精确复现一个细胞的每一个分子运动(那是分子动力学模拟的任务,在现有算力下对全细胞尺度是不现实的),而是要建立一个能够准确预测细胞宏观行为的统计模型。打个比方,天气预报不需要追踪每一个空气分子的运动,它只需要准确捕捉温度、气压、湿度等宏观变量之间的关系就够了。虚拟细胞的逻辑类似——通过学习基因表达水平之间的统计关系,来预测在给定条件下细胞最可能呈现的状态。
这个愿景催生了一系列具体的技术路线。有的团队致力于训练类似 GPT 的大规模基础模型(如 scGPT、Geneformer),试图通过海量单细胞数据的预训练来学习通用的细胞表示;有的团队专注于特定任务的条件生成模型,在给定扰动条件下直接生成预测的基因表达谱。Squidiff 属于后一种路线,但它的独特之处在于用一个统一的框架覆盖了多种预测任务。
不过,从愿景到落地之间还有很长的路要走。当前大多数单细胞预测模型存在一些共性限制:有些模型(如 scGen)基于变分自编码器(VAE),虽然能捕捉细胞状态的大致分布,但对于稀有细胞类型和瞬时过渡状态的刻画不够精细;有些模型(如 GEARS)专注于基因扰动预测,但需要图神经网络的先验知识,适用范围受限;还有一些模型无法同时处理细胞分化、基因编辑和药物响应等多种任务。
这就是 Squidiff 诞生的大背景。莫潇羽@源码七号站(www.fuyuan7.com)接下来将带你深入理解这个框架的技术细节。
二、Squidiff 是什么?——命名与定位
Squidiff 的全称是 Single-cell QUantitative Inference of stimuli responses by a DIFFusion model,翻译过来就是"基于扩散模型的单细胞刺激响应定量推断工具"。这篇论文于 2025 年 11 月正式发表在 Nature Methods(IF 32.1)上,第一作者为何思宇(Siyu He),通讯作者为哥伦比亚大学的 Kam W. Leong 和 Elham Azizi,以及斯坦福大学的 James Zou。
从定位上看,Squidiff 不是一个简单的数据分析工具,而是一个生成式 AI 框架。它的核心能力是:给定一个起始细胞状态和一个目标条件(比如"经过某种药物处理"或"分化到第 N 天"),生成对应条件下的单细胞转录组数据。换句话说,它能在计算机中"模拟"细胞的命运变化,这正是虚拟细胞概念的一种具体实现。
该项目的开源代码托管在 GitHub(https://github.com/siyuh/Squidiff ),可通过 pip install Squidiff 直接安装,输入格式为标准的 h5ad 文件(AnnData 格式),这对于有单细胞分析经验的研究者来说上手门槛并不高。
从研究团队的构成来看,这是一个典型的跨学科合作项目。三位共同第一作者分别来自生物医学工程(何思宇、朱悦飞)和组织工程(Daniel Naveed Tavakol)领域,通讯作者则横跨了计算生物学(Elham Azizi)、生物材料(Kam W. Leong)和机器学习(James Zou)三个方向。这种多学科交叉的团队构成也在一定程度上解释了 Squidiff 为什么能同时做好模型架构设计和生物学应用验证——这两件事在很多单一背景的团队中往往难以兼顾。此外,哥伦比亚大学的 Gordana Vunjak-Novakovic 团队提供了关键的血管类器官实验数据,哥伦比亚大学放射研究中心则贡献了中子辐射实验平台,这些资源在模型的应用验证阶段发挥了重要作用。
三、技术架构深度拆解:扩散模型如何"学会"细胞命运
3.0 从 Waddington 景观到潜空间:一个思想铺垫
在正式拆解 Squidiff 的技术架构之前,有必要先介绍一个贯穿整篇论文的核心隐喻——Waddington 表观遗传景观(Waddington's Epigenetic Landscape)。这是英国发育生物学家 Conrad Waddington 在 1957 年提出的一个经典概念模型:想象一个球(代表一个细胞)从山顶开始滚落,山坡上有许多分叉的山谷(代表不同的分化路径),球最终会落入某一个山谷底部(代表一种终末分化的细胞状态)。山谷的形状决定了球的滚动方向,而外部扰动(如基因编辑或药物处理)相当于改变了山坡的地形,从而改变了球的命运轨迹。
Squidiff 论文的第一张图就使用了 Waddington 景观来阐释模型的设计理念。在 Squidiff 的语境中,语义潜空间 (z_{sem}) 就相当于这个"景观"的数学化表示——不同的细胞状态对应潜空间中的不同位置,细胞分化对应潜空间中的连续路径,而扰动则对应潜空间中的方向偏移。这种类比不仅帮助理解模型的工作原理,也暗示了扩散模型为什么特别适合建模细胞命运——因为细胞状态的转变本身就是一个渐进的、连续的过程,与扩散模型的逐步去噪过程有天然的对应关系。
理解了这个思想背景,我们就可以更自然地进入技术细节了。
3.1 先理解扩散模型的基本原理
在深入 Squidiff 之前,我们需要先理解扩散模型(Diffusion Probabilistic Model, DPM)的核心思想。如果你熟悉图像生成领域的 Stable Diffusion 或 DALL·E,那么 Squidiff 的底层逻辑与之一脉相承,只是它处理的不是像素矩阵,而是基因表达向量。
扩散模型的工作分为两个阶段:
前向扩散过程(Forward Diffusion): 从一个真实的数据样本(在这里是一个细胞的基因表达向量 (x_0))出发,逐步向其添加高斯噪声。经过 (T) 步之后,原始数据被完全淹没在噪声中,变成了近似纯高斯分布的 (x_T)。这个过程可以用数学公式简洁表达:
[
q(x_t | x_{t-1}) = \mathcal{N}(x_t; \sqrt{1-\beta_t} \cdot x_{t-1}, \beta_t \cdot I)
]
其中 (\beta_t) 是每一步的噪声调度系数。在 Squidiff 中,(T) 被设定为 1000 步,(\beta_t) 从 0.001 线性增加到 0.01。
反向去噪过程(Reverse Denoising): 模型学习一个去噪网络 (\epsilon_\theta(x_t, t)),从纯噪声 (x_T) 出发,一步步去除噪声,最终还原出目标数据 (x_0)。关键在于,通过在去噪过程中引入条件信息(比如细胞类型、药物种类等),模型可以生成满足特定条件的新数据。
Squidiff 选择的具体变体是 DDIM(Denoising Diffusion Implicit Model),与标准的 DDPM 相比,DDIM 的去噪过程是确定性的(而非随机采样的),这意味着给定相同的潜变量输入,模型每次都会生成完全相同的输出。这一特性对于科学研究中的可重复性至关重要。
为了帮助不熟悉扩散模型的读者更直观地理解这个过程,莫潇羽@源码七号站打一个生活化的比喻。想象你手里有一张清晰的照片(对应一个细胞的真实基因表达谱),现在你不停地往上面撒沙子,每撒一次照片就模糊一点,撒了 1000 次之后照片完全被沙子覆盖了,你什么也看不出来了——这就是"前向扩散"。然后你训练了一个非常聪明的助手,教它怎么从一堆沙子中一点点恢复出原来的照片——这就是"反向去噪"。关键在于,你在训练这个助手的时候可以告诉它"你要恢复的是一张被某种特定药物处理过的细胞的照片",这样它就学会了在去噪过程中融入条件信息,最终生成满足指定条件的"照片"。
在基因表达数据的语境下,前向扩散过程将一个维度为 (n) 的基因表达向量逐步变成纯噪声,而反向去噪过程则从纯噪声出发,在语义条件的引导下,一步步生成有生物学意义的基因表达谱。整个过程涉及 1000 个时间步,每一步的噪声水平由预设的调度方案精确控制。
3.2 Squidiff 的双模块架构
Squidiff 的架构基于"扩散自编码器"(Diffusion Autoencoder)的设计理念,由两个核心模块组成:
模块一:语义编码器(Semantic Encoder)
这是一个基于变分自编码器(VAE)的编码网络,它将单细胞 RNA 测序数据映射到一个低维的语义潜空间中,生成语义潜变量 (z_{sem})。这个潜变量捕捉的是"高层语义信息"——也就是与生物学意义直接相关的信息,比如细胞类型、分化阶段、扰动状态等。
用一个比喻来理解:如果把细胞的基因表达谱看作一张高维度的"照片",那么 (z_{sem}) 就像是这张照片的"内容摘要"——它告诉你照片里画的是什么(一个干细胞?一个分化到第3天的内胚层细胞?一个被药物处理过的肿瘤细胞?),而不关注具体的像素细节。
为什么需要这个语义编码器?原因在于扩散模型本身生成的潜变量 (x_T) 虽然包含了重建原始数据所需的全部信息,但它缺乏"语义结构"。换句话说,如果你直接在 (x_T) 空间中做插值,得到的中间点往往没有可解释的生物学含义。而 (z_{sem}) 空间则不同——由于 VAE 的正则化约束,这个空间具有良好的结构性和连续性,相似的细胞状态在空间中彼此靠近,不同的细胞状态被清晰分开。论文中通过 PCA 可视化验证了这一点:(z_{sem}) 空间清楚地将不同细胞类型(如细胞类型 A、B、C)聚成了独立的簇,而 (x_T) 空间则呈现出混杂的随机分布。
在技术实现上,语义编码器采用了多层感知机(MLP)架构,配合批归一化(Batch Normalization)和 ReLU 激活函数。输入是经过质控和归一化处理的基因表达向量,输出是一个固定维度的语义向量。编码过程还引入了变分推断的重参数化技巧,使得模型可以通过反向传播进行端到端训练。
模块二:条件 DDIM 解码器(Conditional DDIM Decoder)
这是扩散模型的主体部分。它以 (z_{sem}) 和 (x_T)(随机噪声编码)作为联合输入,通过 1000 步的迭代去噪,生成目标条件下的基因表达谱。其数学形式为:
[
p_\theta(x_{t-1} | x_t, z_{sem}) = f_\theta(x_t, t, z_{sem})
]
其中 (f_\theta) 是由神经网络参数化的确定性变换函数。
这种双模块设计的精妙之处在于:语义编码器负责捕捉"你想生成什么类型的细胞",而 DDIM 解码器负责"如何一步步把噪声还原成逼真的基因表达数据"。两者各司其职,又紧密协作。
3.3 潜空间操纵:两种策略实现多场景预测
Squidiff 最核心的创新之一,是它通过操纵语义潜空间中的向量来实现不同任务的预测,而不需要为每种任务重新设计模型架构。具体来说,它采用了两种互补的潜空间操纵策略:
策略一:插值法(Interpolation)——用于细胞分化预测
假设你有干细胞状态(day 0)的语义变量 (z_{sem}^1) 和分化终态(day 3)的语义变量 (z_{sem}^2),那么中间任意时间点的语义变量可以通过球面线性插值(SLERP)来计算:
[
z_{sem}^{(t)} = \text{SLERP}(z_{sem}^1, z_{sem}^2, t), \quad t \in [0, 1]
]
当 (t = 0.33) 时,生成的就是大约 day 1 的转录组数据;(t = 0.67) 对应 day 2。这个方法的巧妙之处在于,它利用了潜空间的连续性——既然两个端点的语义变量能对应真实的细胞状态,那么它们之间的路径上的点也应该对应有生物学意义的中间状态。
值得注意的是,这里使用的是球面线性插值(SLERP)而非简单的线性插值(LERP)。这是因为语义潜空间经过 VAE 的正则化后,其分布接近单位超球面上的均匀分布,在这种几何结构下,球面插值能够保持更平滑的过渡效果。如果使用线性插值,中间点可能会落在潜空间的低密度区域,导致生成的基因表达数据质量下降。
这种插值策略的一个直觉理解是:你把干细胞状态想象成一个城市,分化终态想象成另一个城市,插值就是在两个城市之间规划一条路线。球面插值相当于沿着地球表面走大圆弧线(最短路径),而线性插值相当于直接打隧道穿过地心——虽然直线距离更短,但路径上可能会经过一些"不存在"的区域。
策略二:加法操纵(Addition)——用于扰动预测
对于基因扰动或药物处理的预测,Squidiff 采用的是"方向向量"的策略。具体做法是:
- 计算未扰动细胞的语义变量 (z_{sem}^{ctrl})
- 计算已知扰动细胞的语义变量 (z_{sem}^{pert})
- 得到扰动方向向量 (\Delta z_{sem} = z_{sem}^{pert} - z_{sem}^{ctrl})
- 将这个方向向量加到新的未扰动细胞上:(z_{sem}^{new} = z_{sem}^{ctrl,new} + \Delta z_{sem})
这就好比你学会了"加药处理"在潜空间中对应什么方向的移动,然后把这个移动应用到任何新的细胞上去。
对于虚拟基因敲除(Virtual Knockout)类型的预测,研究团队使用了类似的思路:通过语义变量的求和运算来模拟多基因联合扰动的效果。
3.4 药物结构信息的融合:rFCFP 指纹
Squidiff 在预测药物扰动时有一个特别值得关注的设计——它能整合药物的分子结构信息。具体而言,研究团队使用了重缩放的功能类指纹(rescaled Functional Class Fingerprints, rFCFP)来编码药物的化学结构。rFCFP 是一种将药物分子的 SMILES 字符串转换为 2048 维向量的方法,它能捕捉到药物分子中不同功能基团的存在与否。
在模型中,rFCFP 向量被输入到语义编码器中,与细胞的基因表达数据一起编码,生成融合了化学信息和生物信息的语义潜变量:
[
z'_{sem} = \text{Enc}(x_0, \text{rFCFP})
]
这个设计使得 Squidiff 不仅能预测训练集中已有药物的效果,还能对从未见过的新药做出合理的扰动预测——只要你能提供这个新药的分子结构信息就行。
从化学信息学的角度稍做补充:FCFP(Functional Class Fingerprints)是 ECFP(Extended Connectivity Fingerprints)的一种变体,它不是直接编码原子类型,而是编码功能基团的类别。这意味着两个化学结构完全不同但功能基团相似的药物,在 FCFP 空间中会有较高的相似度——这恰恰是药物机制预测所需要的。rFCFP 在 FCFP 的基础上进行了重缩放处理,使得指纹向量的分布更适合作为神经网络的输入。
在实际操作中,如果你想预测一个新药的效果,你需要先用化学信息学工具(如 RDKit)将该药物的 SMILES 字符串转换为 rFCFP 向量,然后将其输入到 Squidiff 的语义编码器中。这个过程的代码量并不大,熟悉 Python 的研究者应该可以很快上手。
四、从零开始:Squidiff 的数据准备与操作流程
作为一篇面向实操的解读文章,莫潇羽@源码七号站在这里梳理了 Squidiff 从数据准备到模型部署的完整流程。即使你是刚接触这个领域的新手,按照以下步骤也能建立起清晰的认知框架。
4.1 环境搭建
Squidiff 是一个 Python 项目,依赖 PyTorch 进行深度学习计算。安装非常简洁:
pip install Squidiff
当然,实际使用中你还需要确保以下依赖库已安装:
pip install scanpy anndata torch numpy pandas
建议使用 GPU 环境运行(NVIDIA CUDA),因为扩散模型的 1000 步迭代去噪在 CPU 上会非常缓慢。
4.2 数据格式要求
Squidiff 的输入是标准的 h5ad 格式文件(AnnData 对象),这是单细胞分析社区最通用的数据格式。如果你使用 Scanpy 或 Seurat 进行过单细胞分析,应该对这个格式不陌生。h5ad 本质上是一个基于 HDF5 的容器格式,它可以在一个文件中同时存储基因表达矩阵、细胞元数据、基因注释信息以及各种降维结果。
一个合格的输入文件需要包含:
- 基因表达矩阵(.X): 经过质控和归一化后的基因表达数据,通常是对数归一化后的值,聚焦于高可变基因(Highly Variable Genes, HVG)。论文中默认使用 200-500 个高可变基因。
- 元数据(.obs): 每个细胞的标注信息,包括细胞类型、处理条件(如药物名称、剂量)、时间点等。
- (可选)药物结构信息: 如果要进行药物扰动预测,需要提供药物的 rFCFP 指纹向量。
论文中使用的公开数据集包括:来自 Zenodo 平台的 iPSC 向内胚层分化数据集(day 0 至 day 3)、GEO 数据库的 K562 细胞基因扰动数据集(编号 GSE133344)、sci-Plex 药物筛选数据集,以及血管类器官的单细胞 RNA 测序数据。如果你想复现论文的结果或者学习模型的使用方法,这些数据集都可以在论文的 reproducibility 仓库中找到下载链接和预处理脚本。
4.3 数据预处理的关键步骤
在将数据输入 Squidiff 之前,你需要按照标准的单细胞分析流程进行预处理。以下是推荐的流程(以 Scanpy 为例):
import scanpy as sc
# 读取原始数据
adata = sc.read_h5ad('raw_data.h5ad')
# 质控:过滤低质量细胞和基因
sc.pp.filter_cells(adata, min_genes=200)
sc.pp.filter_genes(adata, min_cells=3)
# 归一化
sc.pp.normalize_total(adata, target_sum=1e4)
sc.pp.log1p(adata)
# 选择高可变基因
sc.pp.highly_variable_genes(adata, n_top_genes=500)
adata = adata[:, adata.var.highly_variable]
# 保存为 h5ad 格式
adata.write('preprocessed_data.h5ad')
值得注意的是,论文中在 iPSC 分化实验中仅使用了 203 个高可变基因、约 2400 个训练细胞,就取得了非常好的预测效果。这说明 Squidiff 对数据量的要求并不苛刻,中小规模的数据集也完全可以使用。
4.4 模型训练
Squidiff 的训练通过命令行脚本执行。基本的训练命令格式如下:
python train_squidiff.py \
--logger_path logger_files/my_experiment \
--data_path preprocessed_data.h5ad \
--resume_checkpoint my_results \
--gene_size 500 \
--output_dim 500
这里需要重点关注的几个参数:
--gene_size和--output_dim:需要与你选择的高可变基因数量一致--data_path:指向预处理后的 h5ad 文件--logger_path:训练日志的保存路径--resume_checkpoint:模型检查点的保存路径
如果你要进行带药物结构信息的训练(用于新药预测),需要额外指定参数:
python train_squidiff.py \
--logger_path logger_files/logger_sciplex \
--data_path datasets/sci_plex_train.h5ad \
--resume_checkpoint sciplex_results \
--use_drug_structure True \
--gene_size 200 \
--output_dim 200 \
--control_data_path datasets/sci_plex_control.h5ad
模型训练使用 Adam 优化器,学习率为 (1 \times 10^{-4}),核心优化目标是噪声预测损失(Noise Prediction Loss),即让模型在每一步去噪中尽可能准确地预测当前步骤添加的噪声。
用更精确的数学语言来说,训练目标可以写成:
[
\mathcal{L} = \mathbb{E}{x_0, \epsilon, t} \left[ | \epsilon - \epsilon\theta(x_t, t, z_{sem}) |^2 \right]
]
其中 (\epsilon) 是真实添加的噪声,(\epsilon_\theta) 是模型预测的噪声,(t) 是从 1 到 (T) 之间均匀采样的时间步。直觉上理解,这个损失函数在说的是:模型需要学会在任意噪声水平上准确地"猜出"添加了多少噪声。一旦它能做到这一点,就可以一步步地把噪声去掉,还原出干净的基因表达数据。
在实际训练中,语义编码器和 DDIM 解码器是联合端到端训练的,语义编码器的 VAE 损失(包括重构损失和 KL 散度正则项)也会被加入到总损失中。训练通常在 GPU 上进行几个小时到一天即可收敛,具体时间取决于数据集规模。
4.5 模型推理与预测
训练完成后,你可以使用 sample_squidiff.py 模块进行推理:
import scanpy as sc
import torch
from sample_squidiff import sampler
# 初始化采样器
my_sampler = sampler(
model_path='my_results/model.pt',
gene_size=500,
output_dim=500,
use_drug_structure=False
)
# 读取测试数据
test_adata = sc.read_h5ad('test_data.h5ad')
# 提取语义潜变量
z_sem = my_sampler.model.encoder(
torch.tensor(test_adata.X).to('cuda')
)
# 生成预测的转录组数据
predicted_expression = my_sampler.pred(
z_sem,
gene_size=test_adata.shape[1]
)
对于细胞分化预测,你需要手动进行语义变量的插值运算;对于扰动预测,则需要计算方向向量并施加到目标细胞上。这些操作在 GitHub 仓库的 reproducibility 代码(https://github.com/siyuh/Squidiff_reproducibility )中有详细示例。
五、实验验证:四大场景的硬核数据
论文对 Squidiff 进行了系统性的验证,覆盖了四个关键场景。下面我们逐一来看它在每个场景中的表现。
值得一提的是,在进入真实数据验证之前,研究团队首先在 Splatter 模拟数据上验证了模型的基本功能。Splatter 是一个常用的单细胞 RNA 测序数据模拟器,它基于 Gamma-Poisson 分布来生成符合统计规律的基因表达数据。研究团队用 Splatter 模拟了三种细胞类型的数据,在每一步人为引入噪声来可视化扩散过程。模拟实验证实了两个关键点:语义潜变量 (z_{sem}) 能够准确地将不同细胞类型分开(在 PCA 中形成清晰的簇),而随机潜变量 (x_T) 则呈现混杂分布(不包含语义信息)。此外,模型在模拟数据上的重构相关系数非常高,验证了架构的正确性。有了这些基础验证,才进入了更具挑战性的真实数据场景。
5.1 场景一:细胞分化预测
研究团队首先在 iPSC(诱导多能干细胞)向定向内胚层分化的数据集上验证了 Squidiff。这套数据来自 Zenodo 公开数据库,记录了 iPSC 从 day 0 到 day 3 的分化过程。
关键实验设计:模型仅使用 day 0 和 day 3 两个时间点的数据进行训练,然后预测 day 1 和 day 2 的转录组状态。这是一个非常严格的测试——模型从未见过中间时间点的真实数据,它需要完全依靠潜空间插值来"想象"中间发生了什么。
实验结果相当亮眼。在 day 1 的预测中,模型生成的转录组与真实数据的 Pearson 相关系数达到 0.85;day 2 达到 0.90;而 day 3(这是训练数据的端点,相当于重构任务)达到了 0.99。更重要的是,Squidiff 成功捕捉到了一些关键基因的动态表达模式——多能性标志基因 NANOG 的逐步下调、内胚层转录因子 GATA6 的渐进上调,以及中胚层标志基因 DBX1 的瞬时表达峰值。这些瞬时状态在传统方法中很容易被遗漏,而 Squidiff 的连续去噪机制天然适合捕捉这类渐变过程。
与对照模型 scGen 相比,Squidiff 在所有时间点的预测精度都更高,尤其是在中间时间点的优势更加显著。
这个实验设计还有一个巧妙之处值得注意——它测试的是"外推"能力而非仅仅是"重构"能力。模型在 day 0 和 day 3 上训练后,day 3 的高相关系数(0.99)在一定程度上可以归因于模型的重构能力,而 day 1(0.85)和 day 2(0.90)的相关系数则完全依赖模型对中间状态的"想象力"。这就好比你只看过一部电影的开头和结尾,然后需要合理推测中间剧情——模型做到了,而且做得相当不错。研究团队通过伪时间分析(Pseudotime Analysis)进一步验证了这些预测的生物学合理性:将预测的中间状态数据与已知的 iPSC 分化轨迹对齐后,细胞在伪时间轴上的分布与真实的发育时间线呈现出良好的对应关系。
5.2 场景二:基因扰动预测
第二组验证实验使用了 K562 细胞(一种慢性髓性白血病细胞系)的基因扰动数据,数据来自 GEO 数据库(GSE133344)。
这里的挑战升级了——研究者测试的是双基因非加性扰动的预测。所谓"非加性",是指同时敲除基因 A 和基因 B 的效果,不等于分别敲除 A 和 B 的效果之和。这种协同效应或拮抗效应在生物学中非常常见,也是最难预测的情况之一。
为什么非加性效应如此重要?因为在真实的基因调控网络中,基因之间并不是独立工作的——它们形成了错综复杂的调控回路、信号通路和反馈环。一个基因的表达变化可能通过级联效应影响下游数十甚至数百个靶基因。当两个基因被同时扰动时,它们各自的下游效应可能会发生交叉干涉,产生无法用简单加法预测的新表型。这也是为什么传统的线性回归模型在多基因扰动预测上往往力不从心的原因。Squidiff 的扩散模型架构天然具有捕捉非线性关系的能力,因此在这类任务上展现出了优势。
在 ZBTB25 与 PTPN12 的双基因扰动预测中,Squidiff 取得了 Pearson 相关系数 0.97、(R^2) 值 0.92 的成绩,显著优于 GEARS 和 scGen 等竞争模型。值得注意的是,Squidiff 实现这一成绩并不需要 GEARS 所依赖的基因互作图谱等先验知识,它纯粹从数据中学习到了基因间的协同规律。
5.3 场景三:药物响应预测
在药物响应预测方面,Squidiff 展示了更广阔的应用前景。
已知药物预测: 研究团队使用了胶质母细胞瘤和黑色素瘤细胞的药物筛选数据,测试了 6 种药物在 3 种细胞类型上的响应预测。Squidiff 不仅准确重建了不同药物在不同细胞类型上的差异化响应模式,还成功识别出 panobinostat(一种 HDAC 抑制剂)对肿瘤细胞具有最强效的作用。在少突胶质细胞上的重建相关系数达到 0.915,在肿瘤细胞上达到 0.912。
新药预测: 通过整合 rFCFP 分子指纹,Squidiff 还能预测训练集中未曾出现过的药物的扰动效果。研究团队在 sci-Plex 数据集上进行了测试,将部分药物完全从训练集中移除,然后用模型预测这些药物的作用。结果显示 Squidiff 的新药预测性能与专门为此任务设计的 PRnet 模型不相上下,甚至在某些指标上更优。
这意味着 Squidiff 有潜力成为药物筛选的计算前端——在实验室实际测试之前,先用模型快速扫描候选化合物对目标细胞的可能影响,大幅缩小实验范围。
从药物研发的实际流程来看,这种能力的价值不容小觑。一个典型的药物筛选项目可能需要测试数千种化合物在多种细胞系上的效果,而每次单细胞测序实验的成本从数百到数千美元不等。如果能用 Squidiff 先做一轮虚拟筛选,把候选化合物从数千种缩减到数十种,再对这些"高概率"的候选者做实验验证,研究成本和时间都会