STORM:空间转录组数据里的三个老问题,一个框架能不能一起解决

空间转录组技术解决了单细胞测序最大的缺陷:位置信息的丢失。

传统单细胞测序需要把组织打散成单个细胞,细胞在组织里的位置就没了。你知道这个细胞的基因表达谱,但不知道它在肿瘤边缘还是肿瘤中心,不知道它的邻居是什么细胞。空间转录组把基因表达和空间坐标绑在一起,让你可以在组织切片上直接看基因表达的分布。

但空间转录组数据用起来有三个问题,做过这类分析的人都遇到过。


第一个是批次效应。

空间转录组实验通常需要多个切片——同一个样本的不同切面,或者不同样本之间的比较。问题是,不同批次的切片之间存在系统性偏差。同一个细胞类型,在不同批次里测出来的基因表达值可能差很多,原因可能是组织处理方式、芯片批次、测序深度,甚至切片的厚度。

批次效应不处理,不同切片的数据就没法放在一起分析。

传统的批次校正方法(比如 ComBat、Harmony)是在基因层面做的:对每个基因,估计批次效应的大小,然后减掉。这个思路在单细胞数据上还算有效,但在空间转录组数据上有个额外的麻烦:不同切片的空间维度不一样。一张切片可能有 3000 个 spot,另一张可能有 5000 个,而且它们的空间坐标系也不同。你没办法直接把两张切片的数据对齐。

第二个是细胞类型混合。

空间转录组技术的分辨率还没有达到单细胞级别。10x Visium 的每个 spot 直径大约 55 微米,里面可能包含 1 到 10 个细胞,甚至更多。你测到的基因表达是这个 spot 里所有细胞的混合信号。

如果你想知道某个 spot 里有多少比例是肿瘤细胞、多少比例是免疫细胞,就需要做细胞类型反卷积(deconvolution)。现有的方法大多需要一个参考数据集——你需要先有一个单细胞数据集,知道每种细胞类型的基因表达特征,然后用这个参考来拆解空间转录组的混合信号。

这个依赖参考数据集的方式有局限:参考数据集和你的样本可能来自不同的物种、不同的组织状态,参考里没有的细胞类型就没法识别。

第三个是基因缺失。

空间转录组技术的捕获效率有限,不是每个 spot 里的每个基因都能被检测到。一个 spot 可能有几千个基因有表达值,但另外几千个基因是缺失的——不知道是真的不表达,还是技术上没捕获到。

缺失值会影响下游分析。聚类、轨迹推断、差异表达分析,都需要相对完整的基因表达矩阵。


这三个问题通常需要分别处理,用不同的工具,跑不同的流程。STORM 的出发点是:这三个问题其实有一个共同的数学结构,可以在同一个框架里解决。

STORM 的核心是张量分解。

把多个空间转录组切片的数据想象成一个三维张量:切片 × spot × 基因。这个张量是不规则的——不同切片的 spot 数量不同,空间坐标也不同。STORM 提出了一种不规则张量分解方法,可以处理这种维度不一致的情况。

分解的目标是找到一组”基础模式”,每个模式对应一种微环境或细胞状态。每个切片的数据可以被表示为这些基础模式的线性组合。不同切片共享同一组基础模式,但每个切片里各个模式的权重不同。

批次效应的处理方式是:不同批次的切片在基础模式层面是可比的,即使它们的原始基因表达值有偏差。STORM 用正交旋转来对齐不同批次的分解结果,让同一种微环境在不同批次里对应到同一个基础模式。

细胞类型反卷积是分解的副产品:每个基础模式对应一种细胞状态或细胞类型,每个 spot 里各个模式的权重就是细胞类型的比例。这个过程不需要外部参考数据集,直接从数据本身分解出来。

基因填补也是分解的副产品:低秩分解本质上是一种降噪和补全。原始数据里缺失的基因表达值,可以从分解得到的低秩结构里重建出来。


这个思路的关键在于”低秩假设”:虽然基因表达数据的维度很高(几千个基因),但真实的生物学变化发生在一个低维的空间里。一个组织里可能有几十种细胞类型,但细胞类型的数量远小于基因的数量。这个低维结构是批次校正、反卷积、基因填补三个问题的共同基础。

STORM 不用深度学习,用的是矩阵和张量分解。这意味着它的结果是可解释的——每个基础模式对应什么生物学含义,可以直接从分解结果里读出来。深度学习方法通常在性能上有优势,但你很难知道模型学到了什么。STORM 的可解释性在需要理解生物学机制的场景下是一个实际的优点。

论文在批次效应对齐、细胞类型反卷积、基因填补三个任务上都做了基准测试,结果显示 STORM 在这三个任务上都达到了目前最好的水平。


对实际做空间转录组分析的人来说,STORM 的价值在于简化流程。

现在的标准流程大概是:用 Seurat 或 Scanpy 做基础处理,用 Harmony 或 scVI 做批次校正,用 cell2location 或 RCTD 做细胞类型反卷积,用 SpatialDE 或其他方法做基因填补。每个工具有自己的输入输出格式,衔接起来需要不少工程工作。

STORM 把这三个步骤合并成一个。输入是多个切片的原始基因表达矩阵,输出是对齐后的潜在表示、每个 spot 的细胞类型比例、填补后的基因表达矩阵。

当然,”一个工具解决所有问题”通常意味着在某些场景下不如专门的工具。如果你的数据只有单个切片、批次效应不严重,STORM 的优势就不明显。另外,张量分解的计算复杂度随数据规模增长,大规模数据集上的运行时间需要实际测试。


参考文献

  • Subspace Tensor Orthogonal Rotation Model (STORM) for Batch Alignment, Cell Type Deconvolution, and Gene Imputation in Spatial Transcriptomic Data. Sean Cottrell et al. 2026-03-23. arXiv:2603.22477. https://arxiv.org/abs/2603.22477
  • Lingshu-Cell: A generative cellular world model for transcriptome modeling toward virtual cells. arXiv:2603.25240. https://arxiv.org/abs/2603.25240