第1章 空间转录组学概述

1.1 空间转录组学:技术发展史

空间转录组学,说白了就是给传统的单细胞测序加上一个「坐标」。你想啊,普通单细胞数据把细胞都打碎了,我们只知道每个细胞里有什么基因在表达,却不知道它原来待在哪个位置。而空间转录组解决了这个问题——它让我们在完整组织切片上直接检测基因表达,同时保留细胞或 spot 的空间位置。

我最早接触这个领域是在 2019 年,那时候刚出了 10x Visium 的第一代产品。说实话,当时觉得这玩意儿就是个黑盒子,只知道它能输出一堆带坐标的基因表达矩阵,但背后的原理理解得并不深。这几年技术迭代之快,让人应接不暇。咱们快速理一下这条时间线:

  • 2016 年 - Slide-seq:哈佛团队首次用带有条形码的微珠(bead)来捕获组织切片中的 mRNA,实现了接近单细胞分辨率的空间表达谱。不过它的 bead 排列是随机的,需要后期通过原位测序来定位每个 bead 的坐标。
  • 2019 年 - 10x Visium:这是商业化最成功的平台。它将带有空间条形码的探针预先排列在玻片上,每个位置是一个直径为 55 μm 的 spot。我项目中第一次用的时候,发现它最大的优势是「确定性」——你不需要像 Slide-seq 那样去反向解码 bead 位置,因为 spot 的坐标在玻片制造时就固定了。
  • 2020 年 - MERFISH:这是基于多重荧光原位杂交(FISH)的单分子成像技术。它能检测单个 RNA 分子,空间分辨率可达到亚细胞级别。你想想看,这比 Visium 的 55 μm 精细多了。不过它的通量有限,一次能检测的基因数量远不如测序类方法。
  • 其他值得关注的平台:包括 seqFISH+(多重 FISH 的升级版)、Stereo-seq(华大推出的纳米级分辨率技术)、CosMx SMI(NanoString 的单分子成像平台)。每个平台都有自己的 trade-off,后面章节我们会做详细对比。
技术平台 空间分辨率 通量(基因数) 是否需要单细胞解离? 商业化程度
10x Visium 55 μm(包含 1-10 个细胞) 全转录组 否(组织切片直接上样) 高
Slide-seq V2 10 μm 全转录组 否 中等(需自制玻片)
MERFISH 亚细胞(约 200 nm) 100-1000 否 高
Stereo-seq 500 nm - 2 μm 全转录组 否 中等
seqFISH+ 亚细胞 约 10000 否 低(实验流程复杂)

我的一点经验:如果你刚开始做空间转录组,我建议从 10x Visium 入手。它的实验流程和生产环境最成熟,数据分析工具(尤其是 Seurat)的支持也最完善。等你对空间数据的基本结构熟悉了,再尝试高分辨率的成像类平台。

1.2 10x Visium 平台原理

10x Visium 的原理其实不复杂,但有几个关键细节你一定要注意。我最初看官方文档时被一堆术语搞懵了,后来亲手做了两次实验才理解透。来,咱们拆解开一步步讲:

1.2.1 玻片结构与捕获原理

Visium 玻片的表面布满了捕获区域(capture area),每个区域里预置了数千个 spot。每个 spot 上有数十万条探针(probe),每条探针包含以下几个关键部分:

5' - 捕获序列(poly-dT) - 空间条形码 - UMI - 连接序列 - 3'
                                |
                     (每个 spot 一个,唯一)
  • 捕获序列 (capture sequence):通常是 poly-dT,用于抓取组织中的 mRNA(带 poly-A 尾巴)。
  • 空间条形码 (spatial barcode):每个 spot 唯一且预知的一个 DNA 序列,长度约 16-20 bp。这个条形码决定了你测到的 read 来源于哪个 spot。
  • UMI (Unique Molecular Identifier):每个捕获探针上的随机序列,用来标记单个 mRNA 分子。UMI 是为了消除 PCR 扩增偏差而设计的。
  • 连接序列 (adapter):用于下游文库构建和测序。

组织切片贴到玻片上后,经过固定、透化(permeabilization),释放出的 mRNA 被最近的 spot 上的 poly-dT 探针捕获。嗯,这里要注意——透化时间需要拿捏得很准,时间短了 mRNA 抓得少,时间长了会扩散到相邻 spot,造成空间信息的混淆。我刚开始做的时候就吃过这个亏,透化时间多加了 3 分钟,结果空间热图全糊了。

1.2.2 文库构建与测序

捕获完成后,进行反转录(RT)、二链合成、PCR 扩增和文库构建。最终上机测序通常使用双端测序模式:

Read 1: 空间条形码 + UMI (约 28-30 bp)
Read 2: mRNA 的 cDNA 片段 (约 50-100 bp)
索引读段: 样本索引 (约 8 bp)

测序后的数据经过 Space Ranger 软件(10x 提供)处理,输出以下几个核心文件:

  • 稀疏矩阵 (matrix.mtx):基因 × spot 的表达矩阵,只存储非零值。
  • 特征列表 (features.tsv):基因 ID 与基因名。
  • 条形码列表 (barcodes.tsv):所有有效 spot 的条形码。
  • 空间坐标文件 (tissue_positions_list.csv):每个 spot 在图像上的像素坐标和其在阵列中的 row/col 索引。
  • 高分辨率组织图像 (tissue_hires_image.png):用于后续可视化。

数据速览:一份典型的 Visium 6 mm 捕获区域数据,包含约 4000-5000 个 spot(去除非组织区域后),检测到约 18k-22k 个基因,每个 spot 的 UMI 计数中位数约 1000-5000。这些数字因组织类型和样本质量波动很大。

1.3 空间转录组数据特点

空间转录组数据和普通 scRNA-seq 数据有本质区别。我整理了一张解析表,对比两者的核心差异:

维度 scRNA-seq 空间转录组 (Visium 为例)
基本单位 单个细胞 spot (55 μm,含 1-10 个细胞)
表达矩阵结构 细胞 × 基因 spot × 基因
空间信息 无(细胞已解离) 有(像素坐标 + 阵列坐标)
UMI 来源 每个细胞的捕获效率不同 每个 spot 的捕获区域固定(探针数量一定)
稀疏度 极高(dropout 严重) 较高(但比同细胞数的 scRNA-seq 略好,因为一个 spot 包含多个细胞)

1.3.1 Spot / Bead

在 10x Visium 里,spot 是最小分析单元。一个 spot 的直径是 55 μm,中心间距为 100 μm。这意味着相邻 spot 之间有约 45 μm 的间隙,不会重叠。但在组织切片中,spot 不一定都落在组织上——只有覆盖了组织的那部分 spot 才会被捕获到 mRNA。Space Ranger 会自动识别组织区域(通过图像分析,找到有组织覆盖的 spot)。

对于 Slide-seq 或 Stereo-seq 这类基于 bead 的技术,最小单元叫 bead。bead 的直径更小(约 10 μm 甚至更小),而且它们是被随机散落在玻片上的,所以每个 bead 的空间坐标需要通过单独的原位测序来确定。这也就是为什么 Slide-seq 的输出中会包含一个 beads.csv 文件,用来记录每个 bead 的坐标和条形码序列。

1.3.2 UMI

UMI 是处理空间转录组数据时绕不开的概念。每个捕获探针都带有一段随机序列(通常 10-12 bp),它标记了该探针捕获到的单一 mRNA 分子。在数据处理时,我们会通过 UMI 来去除 PCR 重复——同一 UMI 的多条 read 只算一次计数。

为什么这么设计?因为 PCR 扩增会偏好性地放大某些序列,导致你看到的基因表达量被扭曲。UMI 就像给每个 mRNA 分子发了一张「身份证」,PCR 再怎么扩增,同一种身份证的出现次数只计一次。我见过有人拿没有 UMI 的老数据做空间分析,结果高表达基因被严重高估,误导了下游的聚类分析。

我曾经踩过的坑:有一次我拿到一个 Visium 数据集,发现 UMI 计数分布非常奇怪——大多数 spot 只有 100-200 UMI,但有几个 spot 有 5 万以上。后来发现是组织透化过程中,有一小块组织碎片掉落在玻片上,导致局部捕获异常。这种事在湿实验里并不罕见。如果你在分析中看到某个 spot 的 total UMI 显著偏离整体分布,建议用 Filtering threshold 把它标记出来,而不是直接扔掉所有异常值。

1.3.3 空间坐标

空间坐标是空间转录组数据的灵魂。在 Seurat 中,我们会使用 spatial 对象来存储和管理这些坐标信息。对于 Visium 数据,坐标体系通常有两种:

  • 像素坐标 (pixel coordinates):基于组织 H&E 图像。例如一个 spot 在 1000×800 像素的图像上位于 (x=450, y=320)。
  • 阵列坐标 (array coordinates):基于玻片上的 spot 排列网格。每个 spot 有 row 和 col 索引,例如 (row=18, col=24)。

在 Seurat 中,这两种坐标会被自动转换并存储在 meta.data 里。我个人习惯在画空间特征图时优先使用像素坐标,因为它能直接对齐 H&E 图像,视觉效果更接近显微镜下的真实组织形态。

1.4 空间转录组数据的核心结构

为了让你对整体数据结构有个直观印象,我画了一张 SVG 框架图。它概括了从实验到数据分析所涉及的关键概念和数据流:

空间转录组学:核心概念与数据结构 组织切片 + 透化 mRNA 被 spot 探针捕获 反转录 + 文库构建 添加 UMI、空间条形码 测序 (双端) Read1: barcode + UMI Read2: cDNA 序列 Space Ranger 输出文件 matrix.mtx (稀疏矩阵) features.tsv + barcodes.tsv tissue_positions_list.csv Seurat 分析对象 SeuratObject (Spatial) meta.data (坐标 + QC) images (H&E + spot 映射) Spot / Bead 55 μm / 10 μm 最小分析单元 空间条形码 每个 spot 唯一 16-20 bp UMI 去除 PCR 偏好 每个 mRNA 一条 空间坐标 像素坐标 + 阵列坐标 用于可视化 / 邻域分析 后续所有 Seurat 分析都围绕这套数据结构展开:表达矩阵 + 空间坐标 + 组织图像

从这张图你能看到,整个空间转录组分析的起点是组织切片上的捕获和测序,产出三种核心文件(矩阵、特征、坐标)。而当我们把这些数据读入 Seurat 后,它们会整合成一个 Spatial 类的 SeuratObject,其中 assays 里存着表达数据,images 里存着组织图像与 spot 的映射关系,meta.data 里则包含了各种 QC 指标和坐标信息。

理解了这个基本框架,后面我们在 Seurat 里做的所有操作——从过滤、标准化、降维、聚类,到差异表达和空间可视化——都是在这个数据结构上进行的。这也是为什么我建议你花点时间搞懂本章的内容,把基础打牢。后面的路会顺很多。