一、Visium 技术简介与发展历程

说实话,我第一次接触 Visium 还是 2019 年。

那时候公司刚拿到 10x Genomics 的 Visium 平台,我站在那台仪器前,脑子里冒出的第一个念头是——这东西真能把基因表达“拍”成照片?

后来做了一年多的项目,我发现它不仅做到了,而且做得比我想象中好太多。今天我们就聊聊 Visium 是什么,它怎么一步步走到今天的,以及为什么我们需要为它做容器化部署。

1.1 什么是 Visium?

Visium 是 10x Genomics 推出的空间转录组学解决方案。说白了,它能在组织切片上同时测出基因表达和空间位置。

传统 RNA-seq 把组织碾碎了测,你只知道里面有什么细胞,不知道它们在哪儿。Visium 不一样,它在玻片上铺了一层带空间条形码的捕获点阵,每个点对应组织切片上的一个位置。测序后,每个 mRNA 分子都能被“贴”上位置标签。

核心能力: 在组织切片上实现全转录组表达谱的空间定位,分辨率达到 55 μm(每个捕获点直径)。

我在项目中遇到过很多用户,他们最常问的一句话是:“Visium 和单细胞测序有什么区别?”

嗯,这是个好问题。我们看下面的对比:

维度 Visium scRNA-seq
空间信息 有,每个捕获点带有空间坐标 无,细胞被解离后丢失原位置
分辨率 55 μm 点阵,一个点可能包含 1-10 个细胞 单细胞级别
基因捕获量 每个点 ~500-2000 基因 每个细胞 ~1000-3000 基因
样本要求 新鲜冷冻或 FFPE 组织切片 解离后的细胞悬液
核心输出 空间表达热图 + HE 染色图像 基因表达矩阵(无空间信息)

你想想看,如果只做单细胞测序,你永远不知道肿瘤微环境里那些 T 细胞是怎么“站”在肿瘤细胞周围的。Visium 补上了这个缺口。

1.2 Visium 技术发展简史

Visium 不是突然冒出来的技术。它的前身是 10x Genomics 在 2016 年收购的 Spatial Transcriptomics 公司——那家公司在 2018 年就发了 Science 论文。

  1. 2018 年:概念验证阶段

    Spatial Transcriptomics 团队在 Science 上发表了第一代空间转录组技术,使用微阵列玻片捕获组织切片的 mRNA。分辨率较低,但证明了“空间基因表达”是可行的。

  2. 2019 年:Visium 商用平台推出

    10x Genomics 正式发布 Visium 平台,推出了标准化的试剂盒和配套分析软件 Space Ranger。我记得那时候我们实验室花了一个月才跑通第一版分析流程——没有容器化部署,环境依赖冲突让人头疼。

  3. 2020-2021 年:FFPE 兼容与扩展

    Visium 推出了 FFPE 样本兼容方案,拓宽了临床样本的适用范围。同时,分析流程也加入了细胞类型反卷积算法,比如 RCTD 和 SPOTlight。

  4. 2022 年:Visium HD 亮相

    高分辨率的 Visium HD 发布,捕获点直径从 55 μm 缩小到 2 μm,接近单细胞分辨率。我有个朋友在 AGBT 上看到这个数据时,直呼“这玩意儿要改变游戏规则了”。

  5. 2023 年至今:生态成熟期

    社区工具爆发式增长:Squidpy、Giotto、BayesSpace 等第三方分析包大量涌现。容器化部署成为标准化生产环境的必然需求——这也是我们这门课要解决的问题。

个人习惯: 我在选择 Visium 数据版本时,通常优先用 Visium HD 的数据做高分辨率分析,用标准 Visium 数据做大样本筛查。两者互补,而不是替代关系。

1.3 Visium 的核心工作流程

一个典型的 Visium 实验流程是这样的:

  1. 组织切片与贴片 — 将冷冻或 FFPE 组织切片贴在 Visium 玻片上
  2. 组织染色与成像 — 进行 H&E 或免疫荧光染色,获取组织形态学图像
  3. 组织透化与 mRNA 捕获 — 组织透化后,mRNA 扩散到玻片表面的捕获点阵
  4. 文库构建与测序 — 对捕获的 mRNA 进行反转录、扩增和测序
  5. 数据分析 — 使用 Space Ranger 进行初步处理,再用第三方工具做深入分析

然而,数据分析这一步往往是最折磨人的。为什么?环境配置太复杂了。

Space Ranger 依赖特定版本的 Python、R、Cell Ranger 和参考基因组索引。我以前在服务器上徒手搭建环境时,光解决依赖冲突就花了两天。这也是我为什么后来坚定不移地走容器化路线的根本原因。

我曾经踩过一个坑: 在 Ubuntu 20.04 上直接安装 Space Ranger 2.0,结果发现它需要 Python 3.7,而系统是 Python 3.8。手动降级 Python 版本导致系统工具链全崩了。后来重装系统,改用 Docker 镜像,十分钟搞定。

1.4 Visium 数据分析的生态现状

目前 Visium 的数据分析工具链已经相当丰富。我个人习惯把它们分为三类:

工具类别 代表工具 主要用途
官方流程 Space Ranger 原始数据预处理、基因表达矩阵生成、组织图像配准
空间分析 Squidpy, Scanpy 空间可变基因检测、邻域分析、聚类
细胞反卷积 cell2location, RCTD, SPOTlight 从斑点数据推断细胞类型比例

实际上,我见过不少团队在分析时会把 Space Ranger 的结果用 Squidpy 继续处理。这个组合在生物信息学圈子里已经算是“标配”了。

# 一个简单的 Squidpy 加载 Visium 数据示例(伪代码)
import squidpy as sq

adata = sq.read.visium('spaceranger_output_path', library_id='sample1')
sq.pl.spatial_scatter(adata, color='total_counts')

这么几行代码就能生成一张漂亮的 UMI 计数值空间分布图。你想想看,如果没有容器化部署,光把 Space Ranger 的输出路径、Python 版本、R 依赖这些理顺,可能就要多花一两个小时。

1.5 为什么我们需要容器化部署

嗯,这个问题其实我在前面已经暗示过了。总结下来有这么几点:

  • 环境一致性: Space Ranger、Squidpy、cell2location 等工具对 Python、R、Conda 版本都有精确要求。容器化能保证“一次构建,到处运行”。
  • 可重复性: 我在项目中遇到过最头疼的事情,是三个月后重新跑同一个分析的版本依赖变了,结果有微小差异。Docker 镜像锁死环境,杜绝这种问题。
  • 团队协作: 去年帮一个 biotech 团队搭建部署方案,他们有三个人用 Mac,两个人用 Windows,还有一个人在远程 Linux 服务器上跑。没有容器化,这简直就是噩梦。
  • GPU 加速: 空间聚类分析中,一些深度学习方法(如 SpaGCN、STAGATE)依赖 GPU。容器化能更方便地挂载算力资源。

一句话总结: Visium 技术本身已经在快速发展,但如果数据分析环境不能稳定、快速地部署,技术应用的天花板就会被拉低。容器化是让 Visium 分析真正落地的关键一环。

好,接下来我们用一张图来梳理本章的知识体系,方便你从全局把握 Visium 技术的脉络。

Visium 空间转录组技术知识体系 Visium 核心平台 技术原理 发展历程 数据分析生态 捕获点阵 + 空间条形码 HE 染色图像配准 全转录组空间定位 2018:Science 概念验证 2019:商用 Visium 发布 2022:Visium HD 高分辨率 Space Ranger 预处理 Squidpy / Scanpy 分析 cell2location / RCTD 反卷积 容器化部署:目标与本课程核心 三大分支共同指向容器化部署的必要性

这张图把 Visium 的核心技术、发展历程和数据分析生态串联起来了。你也能看到,三个分支最终都指向我们的核心主题——容器化部署。后面的章节,我们会一步一步把它手把手变成实操。

一个小建议: 如果你是第一次接触空间转录组,别急着上手跑分析。先把 Visium 的样本准备和实验流程仔细过一遍。我见过不少人跑出了漂亮的热图,结果一问,发现连片子是怎么贴上去的都不清楚——这样容易在后续理解数据时出现偏差。