2026-09-29
Saez lab开源mc-ASTRA,用半监督因子把单细胞与空间组学映射成可解释组织状态。DSS肠炎拆出四条并行重塑轨迹,第35天粘膜愈合后分子程序仍未复位。
单细胞和空间组学把组织拆到细胞、基因、邻域,临床和实验真正问的却是样本:这块组织处在什么状态、跟别的样本差在哪。现有工具大致两路。一路先算样本两两距离再嵌入,GloScope、PILOT、QOT 属于这一类,嵌入轴对不上具体基因或细胞类型。另一路用变分自编码器、Transformer 或张量分解学样本表征,多数只吃一种组织描述子,也不把潜空间读成跨细胞类型的功能程序。
评测还常拿诊断、年龄当真值。这些标签经常解释不了组织描述子里的方差:生物年龄不等于每个细胞类型的年龄,病理分型也可能分错。Saez-Rodriguez 组此前用群因子分析做过多细胞因子分析,能把跨细胞类型的表达程序和别的描述子一起建模,但模型无监督,加不进时间、取材批次或通路基因集。
mc-ASTRA 要补的是这一层包装:从单细胞和空间数据生成多种组织描述子,用可半监督的因子模型建成组织状态图,再把因子读成多细胞程序。
统计核心不是新算法,是 MOFA-FLEX 的概率群因子分析。每个样本被写成多个 view:某细胞类型的 pseudobulk 表达、细胞状态组成(centered log-ratio)、空间邻域富集(squidpy)。模型同时低秩分解这些矩阵,得到三样东西:样本的因子得分(组织状态图上的坐标)、每个特征在每个 view 上的 loading(当作多细胞程序)、重建误差对应的 R²(哪个描述子、哪个因子在解释方差)。
半监督来自两类先验。样本级先验(时间、取材分数、临床指标)可以钉住一个因子去吸收已知变异,其余因子继续探索。特征级先验(PROGENy 通路基因)可以把一个因子锚到已知过程,同时让基因权重按当前组织重学。输出落到 anndata,后面能接 Scanpy 聚类、ParTIpy 原型分析、patpy 的信息保留评测。
下游把因子 loading 转成多细胞协调网络:每个细胞类型的程序活性当因变量,其余类型当自变量做多元回归,可加混合效应;边权是回归系数乘模型 R²。再拿 LIANA+ 共识库在这些边上筛符号一致的配体-受体对。
克罗恩回肠上皮(scIBD)。用一种建库化学拟合,把取材分数钉到一个因子:跨细胞类型平均 R² 为 0.10,与取材分数关联 adj. p = 1.65×10⁻⁹。Factor 2 与克罗恩状态关联 adj. p = 0.002,平均 R² 为 0.08,肠上皮、杯状细胞和循环过渡扩增细胞上有 JAK-STAT 活性。第二种建库化学投影进去后,Factor 2 仍与疾病关联,adj. p = 0.0004。
狼疮患者外周血单个核细胞的 IFN-β 刺激。两因子非负模型,一个因子用 PROGENy JAK-STAT 上调基因(top 500)引导。引导因子解释模型回收方差的 23%,与刺激关联 adj. p = 7.88×10⁻¹³;第二个因子解释 75%,对应处理后下调的基因。PROGENy 权重最高的十个基因,和模型重加权签名的 Pearson 相关只有 0.07。先验把因子锚到这条通路,没有把基因贡献钉死。
心梗单核数据,27 个样本。五因子模型里两个与组织类别关联,跨细胞类型平均 R² 为 0.24。ParTIpy 找出三个原型:Arch 0 靠近对照、远端和边缘区;Arch 1 带 MAPK、EGFR、VEGF;Arch 2 带炎症和纤维化。样本落在这些极端之间,没有被切成离散组。
DSS 小鼠远端结肠 MERFISH,940 基因面板,取样在 day 0、3、9、35。day 21 因跨样本、跨细胞类型平均 Pearson 相关只有 0.04 被丢掉。单独用分子、组成、空间,或三者加时间高斯过程先验一起拟合。所有图都能从五近邻预测时间点,最低 F1 为 0.93。
| 样本图 | 时间点 F1 |
| 纯分子因子模型 | 1.00 |
| 纯组成 | 0.95 |
| 纯空间 | 0.93 |
| 三描述子联合 | 0.97 |
| GloScope | 0.97 |
GloScope 把 day 35 恢复样本放进一块孤立区域,没有靠近更健康的 day 0 和 day 3。
联合模型拆出四条并行轨迹。Factor 1 是峰值炎症,day 9 才亮、day 35 消退,跨 view 平均 R² 为 0.24,TNFα、NFkB、JAK-STAT 活跃,中性粒细胞和单核细胞增多。Factor 2 是渐进损伤,平均 R² 为 0.05,day 3 已接近峰值,炎症相关上皮细胞早现、浆细胞减少。Factor 3 是早期反应:上皮 Fos、Fosb、Egr1 指向 MAPK/ERK,还有 Mmp15;免疫侧出现 Ccl22 和 Il17re。Factor 5 是持续重塑:day 35 粘膜结构几乎恢复,分子仍偏,成纤维和免疫细胞持续表达 Axin2,上皮保留 Gdf15 和 Nlrc3,免疫侧 Nod2 和 Adamts12 仍高,Per1 与 Irf8 未回到基线。
协调网络对比更具体。早期上皮更跟免疫和内皮绑在一起,配体受体包括 Fasl–Fas、Igf2–Igf1r、Mmp7–Sdc1;峰值时上皮转向成纤维和平滑肌,出现 Tnfsf12、Cxcl10、Csf2、Il23a、Thbs1、Bmp10。组成单独模型里,时间点解释了细胞状态组成方差的 94%、空间组织的 58%。分子模型里平滑肌、成纤维、上皮的转录变异与病程关联最强,分别是 84%、75%、78%。
对做单细胞或空间队列的人,这是一套 scverse 风格的端到端包装:描述子生成、半监督因子、通路富集、配体受体、原型分析接在同一套 anndata 上。它没有宣称打败所有样本嵌入方法。时间点分类上 GloScope 已经到 0.97,mc-ASTRA 的卖点是能指出方差来自哪个 view、哪个基因、哪条细胞间边。
线性因子能把新队列投影进去,克罗恩跨 chemistry 那次就是。也能把已知技术变异钉进一个因子,疾病信号还在。已经在用 MOFA、LIANA+、decoupler 的实验室,迁移成本低。PyPI 还没上,依赖 MOFA-FLEX 开发分支,目标 Python 3.12 和 3.13。
这是渐进的工程整合,不是新的表示学习算法。有用的前提是接受线性因子,也接受细胞类型注释作为 view 边界。
作者写了:分割、注释、空间度量、基因过滤都会改图;先验、引导变量、因子个数要靠诊断,不能套模板。day 21 直接丢掉,时间轴不完整。
另外几处没钉死。协调网络测的是「A 的程序活性能否预测 B」,不是因果。配体受体主要靠 loading 符号一致再乘权重,空间接触约束只在两条相互作用上用 LIANA+ inflow 画过。狼疮 8 个病人、心梗 27 个样本,因子个数部分迁就样本量。DSS 处理是强信号,时间点 F1 高并不稀奇。补充表把 mc-ASTRA 写成最一般的因子或张量方法,那是分类学,不是定量对照。bioRxiv 预印本,未经同行评审。