空间组学平台概览(技术原理和物理机制层面的横向分类)
空间组学平台概览(Spatial Omics Platforms Overview)
空间组学技术在保留组织空间背景下,实现转录组、蛋白组、表观组等多组学信息的原位测量,是理解细胞生态位与组织功能关键工具。主流平台可分为以下几类:
1️⃣ 10x Visium
- 原理:玻片阵列搭载空间条形码,组织贴附、转录捕获、测序还原空间转录图谱。
- 特点:55μm/spot 分辨率,支持 H&E/IF 图像,高通量、生态成熟。
- 优势:使用简便、数据丰富、软件支持广。
- 局限:非单细胞,精度有限,仅支持 RNA。
- 应用:肿瘤免疫区分布、小鼠大脑分层表达等。
2️⃣ MERFISH
- 原理:多轮 FISH 检测,鲁棒编码定位单个 RNA,达亚细胞级分辨率。
- 特点:高精度、理论支持全转录组。
- 优势:高度定量、可解析微结构。
- 局限:流程复杂,设备要求高,图像数据庞大。
3️⃣ seqFISH
- 原理:序列化探针编码 + 杂交轮回,实现 RNA 定位与条形码解码。
- 特点:支持上千基因、亚细胞分辨率。
- 优势:适合全转录组成像,图像清晰。
- 局限:显微操作依赖强、计算负担重。
4️⃣ Slide-seqV2
- 原理:组织贴附珠子阵列,mRNA 捕获并空间解码,珠径约 10μm。
- 特点:高分辨近单细胞,转录组广覆盖。
- 优势:灵敏度高、分辨率强。
- 局限:制备复杂、不支持图像联合分析。
5️⃣ MIBI-TOF
- 原理:金属抗体标记后用离子束扫描,质谱分析蛋白空间表达。
- 特点:亚细胞分辨,支持 FFPE。
- 优势:多通量蛋白成像、空间精度高。
- 局限:仅蛋白、数据标准化待完善。
6️⃣ IMC(成像质谱)
- 原理:激光消融+质谱读取金属标签,实现多通量蛋白成像。
- 特点:分辨率高,信息丰富,适用病理样本。
- 优势:高精度、组织结构保留良好。
- 局限:仅蛋白、仪器昂贵、通量受限。
7️⃣ NanoString DSP
- 原理:光控释放条形码探针,定量特定 ROI 的 RNA/蛋白。
- 特点:ROI 定制,FFPE 兼容。
- 优势:区域灵活、RNA+蛋白同步。
- 局限:非单细胞,通量低,偏向定向分析。
8️⃣ 4i Imaging
- 原理:多轮免疫荧光染色+洗脱成像,构建高维蛋白图谱。
- 特点:支持 20+ 蛋白目标,亚细胞分辨率。
- 优势:空间完整性强,分析深度高。
- 局限:周期长、图像处理复杂。
✅ 平台横向对比总结表
| 平台名称 | 检测类型 | 分辨率 | 分子通量 | 是否单细胞 | FFPE兼容 | 应用场景 |
|---|---|---|---|---|---|---|
| 10x Visium | RNA | 55 μm/spot | 高 | ❌ | ✅ | 全组织转录组图谱 |
| MERFISH | RNA | 亚细胞级 | 高 | ✅ | ❌ | 细胞生态位解析 |
| seqFISH | RNA | 亚细胞级 | 中高 | ✅ | ❌ | 发育和神经生物学 |
| Slide-seqV2 | RNA | 10 μm 珠子 | 高 | ✅ | ❌ | 高分辨肿瘤空间图谱 |
| MIBI-TOF | 蛋白 | 260 nm | 中高 | ✅ | ✅ | 组织免疫微环境研究 |
| IMC | 蛋白 | 1 μm | 中 | ✅ | ✅ | 肿瘤病理分析 |
| NanoString DSP | 蛋白+RNA | ROI级别 | 中 | ❌ | ✅ | FFPE病理标本精准分析 |
| 4i Imaging | 蛋白 | 亚细胞级 | 高 | ✅ | ✅ | 蛋白通量可视化 |
✅ 多平台统一使用策略
| 平台 | 适配模块 | 推荐工具链 |
|---|---|---|
| 10x | scanpy + squidpy |
sc.pl.spatial, sq.pl.spatial_scatter |
| MERFISH | squidpy |
sq.gr.moran, sq.gr.nhood_enrichment |
| seqFISH | squidpy |
sq.gr.ripley, sq.pl.spatial |
| Slide-seq | scanpy + squidpy |
sc.pp.neighbors, sq.gr.spatial_neighbors |
| MIBI-TOF | squidpy.im |
sq.im.extract_features() |
| IMC | squidpy.im |
segmentation + feature extraction |
| DSP | scanpy |
PCA, UMAP, ROI 分组分析 |
| 4i | squidpy.im |
ImageContainer, crop + segment |
✅ 未来趋势与发展建议
- 多组学融合:如 RNA + 蛋白 + 表观的空间层叠。
- 分辨率与通量平衡优化:Slide-seqV3 和 Visium HD 将填补单细胞高通量空缺。
- 软件生态协同:如 Squidpy、Tangram、Cellpose 对多个平台兼容解析支持。
- AI深度学习分析:图像分割、ROI提取、空间预测模型日益依赖神经网络框架。
以下是为八个主流空间组学平台配套的:
✅ 示例代码(基于 Python/Squidpy/Scanpy)
✅ 原始数据链接(官方/公开)
✅ 推荐可视化方法(图函数 + 图例说明)
✅ 交互流程图构建建议(如 Napari 使用)
✅ 1. 10x Visium
🔗 原始数据
-
示例数据(Human Lymph Node):
https://support.10xgenomics.com/spatial-gene-expression/datasets/1.1.0/V1_Human_Lymph_Node -
Squidpy 预加载数据:
import squidpy as sq adata = sq.datasets.visium_hne_adata() img = sq.datasets.visium_hne_image()
💻 示例代码
import scanpy as sc
import squidpy as sq
sc.pp.normalize_total(adata)
sc.pp.log1p(adata)
sc.tl.pca(adata)
sc.pp.neighbors(adata)
sc.tl.leiden(adata)
sq.gr.spatial_neighbors(adata)
sq.pl.spatial_scatter(adata, color="leiden")
📊 可视化模板
sc.pl.spatial(adata, color="leiden", frameon=False)
🧭 交互流程图建议(Napari)
viewer = img.interactive(adata)
✅ 2. MERFISH
🔗 原始数据
- Vizgen MERFISH Mouse Liver Dataset:
https://info.vizgen.com/mouse-liver-access - 教程数据文件:
cell_by_gene.csvmeta_cell.csv
💻 示例代码(Squidpy 教程)
import squidpy as sq
adata = sq.datasets.merfish() # or load from file
sq.gr.spatial_neighbors(adata)
sq.gr.nhood_enrichment(adata)
sq.pl.nhood_enrichment(adata)
📊 可视化模板
sc.pl.spatial(adata, color="cell_type", frameon=False)
✅ 3. seqFISH
🔗 原始数据
- Allen Institute or UCLA developmental brain datasets
- 参考文献:
https://science.sciencemag.org/content/361/6400/1383
💻 示例代码
import squidpy as sq
adata = sq.datasets.seqfish()
sq.gr.spatial_neighbors(adata)
sq.gr.ripley(adata)
sq.pl.ripley(adata, cluster_key="cell_type")
📊 可视化模板
sq.pl.spatial_scatter(adata, color="leiden", shape=None)
✅ 4. Slide-seqV2
🔗 原始数据
- Slide-seqV2 cerebellum: https://singlecell.broadinstitute.org/single_cell/study/SCP815/
- Gene Expression Omnibus (GEO): GSE174332
💻 示例代码(需预处理)
adata = sc.read_visium(path_to_slideseq_data)
sc.pp.highly_variable_genes(adata)
sq.gr.moran(adata)
sq.pl.spatial_autocorr(adata, mode="moran")
📊 可视化模板
sc.pl.spatial(adata, color=["geneA", "geneB"], cmap="viridis")
✅ 5. MIBI-TOF
🔗 原始数据
-
数据示例和
.h5ad文件:Squidpy 包内adata = sq.datasets.mibitof()
💻 示例代码
sc.pl.spatial(adata, color="CD45", cmap="viridis")
sq.im.calculate_image_features(adata, img, features="summary")
sc.pl.spatial(sq.pl.extract(adata, "summary_features"), color="summary_ch-0_mean")
✅ 6. IMC(Imaging Mass Cytometry)
🔗 原始数据
- Human FFPE breast cancer tissues:
https://data.mendeley.com/datasets/9t9z7c8s96/1
💻 示例代码(预处理后)
adata = sc.read("imc_data.h5ad")
sq.im.calculate_image_features(adata, img, features="segmentation")
sc.pl.spatial(sq.pl.extract(adata, "segmentation_features"), color="segmentation_area")
✅ 7. NanoString DSP
🔗 原始数据
- GeoMx DSP demo dataset:
https://nanostring.com/products/geomx-digital-spatial-profiler/datasets/
💻 示例代码
(注意:GeoMx 数据格式需转换为 Anndata)
adata = ad.AnnData(X=dsp_matrix, obs=dsp_meta)
sc.pp.pca(adata)
sc.pl.pca(adata, color="ROI_type")
📊 可视化模板
sc.pl.violin(adata, keys="target_gene", groupby="ROI")
✅ 8. 4i Imaging
🔗 原始数据
- 官方网站或公开 FFPE 图像数据(部分需授权)
- Allen Cell Image Database 可用于参考:https://www.allencell.org/
💻 示例代码(图像多轮染色)
img = sq.im.ImageContainer(multi_round_image_stack)
img = img.process(layer="img", method="smooth")
img = img.segment(layer="img", method="watershed", thresh=80)
📊 可视化模板
img.show(layer="img", segmentation_layer="seg", segmentation_alpha=0.5)
✅ 总结建议:多平台统一使用策略
| 平台 | 适配模块 | 推荐工具链 |
|---|---|---|
| 10x | scanpy + squidpy |
sc.pl.spatial, sq.pl.spatial_scatter |
| MERFISH | squidpy |
sq.gr.moran, sq.gr.nhood_enrichment |
| seqFISH | squidpy |
sq.gr.ripley, sq.pl.spatial |
| Slide-seq | scanpy + squidpy |
sc.pp.neighbors, sq.gr.spatial_neighbors |
| MIBI-TOF | squidpy.im |
sq.im.extract_features() |
| IMC | squidpy.im |
segmentation + feature extraction |
| DSP | scanpy |
PCA, UMAP, ROI 分组分析 |
| 4i | squidpy.im |
ImageContainer, crop + segment |
✅ 1. 10x Genomics Visium
🧩 模块流程图建议(逻辑顺序):
下载数据 → Scanpy预处理 → Squidpy建图 → 图像挂载 → 特征提取 → 可视化 → Napari交互
💻 封装代码模块:
def visium_pipeline(path):
import scanpy as sc, squidpy as sq
adata = sc.read_visium(path)
sq.gr.spatial_neighbors(adata)
sc.tl.leiden(adata)
sq.pl.spatial_scatter(adata, color="leiden")
return adata
📂 数据建议:
- 使用
Space Ranger输出的filtered_feature_bc_matrix.h5,spatial/图像和位置
🧠 联合分析:
sq.im.calculate_image_features(adata, img, features="summary")
sc.pl.spatial(sq.pl.extract(adata, "summary_features"), color="summary_ch-0_mean")
✅ 2. MERFISH (Vizgen)
🧩 流程图建议:
下载 gene/cell metadata → Scanpy构建AnnData → 空间邻居图 → Cluster注释 → 基因空间自相关分析
💻 封装代码模块:
def merfish_pipeline(csv_gene, csv_meta):
import pandas as pd, scanpy as sc, anndata as ad
X = pd.read_csv(csv_gene, index_col=0)
obs = pd.read_csv(csv_meta, index_col=0)
adata = ad.AnnData(X.values, obs=obs)
adata.obsm["spatial"] = obs[["x", "y"]].values
return adata
📂 数据建议:
- 获取 Vizgen Liver MERFISH 数据 → 下载 https://info.vizgen.com/mouse-liver-access
🧠 联合分析:
sq.gr.moran(adata)
sq.pl.spatial_autocorr(adata, mode="moran", genes=["Albumin", "Cyp2e1"])
✅ 3. seqFISH
🧩 流程图建议:
原始基因表达 → 坐标对齐 → 图构建 → Ripley's L 统计 → 聚类 + 核定位 → 多轮序列解码
💻 核心模块:
sq.gr.ripley(adata, cluster_key="cell_type")
sq.pl.ripley(adata, cluster_key="cell_type")
📂 数据建议:
- Allen Institute 或 Linnarsson 实验室公开小鼠胚胎发育数据集
🧠 联合分析:
结合 RNA 条形码和图像层:
img = sq.im.ImageContainer(image)
img.segment(layer="img", method="watershed", thresh=85)
✅ 4. Slide-seqV2
🧩 流程图建议:
raw_feature_bc_matrix → Visium格式转化 → H&E图挂载 → 自相关 + 配体受体 → 图谱构建
💻 模板封装:
def slideseq_pipeline(path):
adata = sc.read_visium(path)
sq.gr.spatial_neighbors(adata)
sq.gr.nhood_enrichment(adata)
return adata
📂 数据建议:
- 下载 Slide-seqV2 cerebellum GSE174332 公开数据
🧠 联合分析:
sq.gr.co_occurrence(adata)
sq.pl.co_occurrence(adata, cluster_key="cell_type")
✅ 5. MIBI-TOF
🧩 流程图建议:
.tiff / h5ad 图像导入 → 细胞分割 → 核密度图 → 分子特征提取 → cluster空间交互
💻 模块化封装:
img = sq.datasets.mibitof_image()
adata = sq.datasets.mibitof()
sq.im.calculate_image_features(adata, img, features="segmentation")
📂 数据建议:
- 官方公开数据:ImmunoAtlas、Nature Methods 补充材料中
🧠 联合分析:
sc.pl.spatial(sq.pl.extract(adata, "segmentation_features"), color="segmentation_area")
✅ 6. IMC (Imaging Mass Cytometry)
🧩 流程图建议:
图像→图层初始化→细胞分割→特征提取→Spot叠加→按Cluster回溯图像
💻 示例代码片段:
img = sq.im.ImageContainer(imc_img)
img.segment(method="watershed", layer="img")
img.show("img", segmentation_layer="seg", segmentation_alpha=0.5)
📂 数据建议:
- 下载 breast cancer FFPE from Mendeley IMC breast
🧠 联合分析:
sq.im.calculate_image_features(adata, img, features="summary")
✅ 7. NanoString DSP
🧩 流程图建议:
ROI文件处理 → barcoded count ↔ ROI label映射 → PCA/UMAP → 区域聚类 → 组间差异
💻 模板代码:
adata = sc.AnnData(X=dsp_matrix, obs=dsp_meta)
sc.tl.rank_genes_groups(adata, groupby="ROI_label")
sc.pl.rank_genes_groups(adata)
📂 数据建议:
🧠 联合分析:
聚焦 ROI:
sc.pl.umap(adata, color="ROI_type")
✅ 8. 4i Imaging(Iterative Indirect Immunofluorescence Imaging)
🧩 流程图建议:
多轮染色图 → channel 配置 → Napari 可视 → 分割 → Feature提取 → cluster映射
💻 模板代码:
img = sq.im.ImageContainer(multi_round_image)
img = img.process(method="smooth")
img = img.segment(method="watershed", thresh=80)
📂 数据建议:
- 可参考 Allen Cell 或 Human Protein Atlas Imaging Resources
🧠 联合分析:
sq.im.calculate_image_features(adata, img, features="texture")
✅ Napari交互图像分析统一调用方式:
viewer = img.interactive(adata)
# shift + E 可标记 ROI
浙公网安备 33010602011771号