空间组学平台概览(技术原理和物理机制层面的横向分类)

空间组学平台概览(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

🔗 原始数据

💻 示例代码

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

🔗 原始数据

💻 示例代码(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

🔗 原始数据

💻 示例代码

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

🔗 原始数据

💻 示例代码(需预处理)

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)

🔗 原始数据

💻 示例代码(预处理后)

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 数据格式需转换为 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

📂 数据建议:

🧠 联合分析:

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
posted @ 2025-05-22 23:56  tomorgen  阅读(183)  评论(0)    收藏  举报