Visium 的本质

🧠 一、Visium 的本质:“小块上的 bulk RNA”

✅ 关键事实:

特征 描述
单位 每个 Visium spot 约 55μm,包含 1–10 个细胞
本质 是一个局部 bulk RNA-seq,测量的是所有细胞表达的总和
输出矩阵 Spot × Gene,无法直接提供单细胞层面的表达信息

📌 因此 Visium 的分析关键是 —— 如何反推出每个 spot 中的细胞类型构成(deconvolution)


🔍 二、细胞类型的可视化:从“混合”中提取“单一信号”

❓问题回顾:

如果 spot 是混合的,那么我可视化某个细胞类型时,颜色是混合的吗?会不会误导?

✅ 回答核心:

  1. Spot 是混合的,这是 Visium 的本质;
  2. 可视化是单通道 signal intensity —— 即展示某一细胞类型的相对 abundance 强度
  3. 不是颜色混合图像,而是单色热度图,避免解读混淆。

🔧三、常见解卷积工具与原理

工具名称 算法原理 输出形式
RCTD 贝叶斯线性模型 每个 spot 的细胞类型概率
cell2location 层级贝叶斯 + 负二项建模 每个 spot 每种细胞的“丰度”
SPOTlight 非负矩阵分解 + topic 模型 占比、贡献因子
Stereoscope 使用 variational inference 与 cell2location 类似,较轻量

解卷积输出示例:

text复制编辑Spot_ID     T_cells   CAFs    B_cells   Endo
Spot_001      3.4      0.2      0.0       1.0
Spot_002      0.1      5.0      0.0       0.0
Spot_003      2.1      2.5      1.2       0.3
  • 每个值 = 某细胞类型在该 spot 中的 abundance(数量强度)
  • 可进一步标准化为占比或标签(最大者标记)

🎨 四、可视化策略:不混色,但可以并排/叠加

✅ 方法一:单细胞类型热图(最常用)

sc.pl.spatial(adata, color="CAF_abundance", cmap="Reds")
  • 每个 spot 按 CAF 丰度深浅着色;
  • 不管是否混有 T 细胞或其他类型;
  • 直观、清晰、解读准确 ✅

✅ 方法二:多图并排比较(推荐)

sc.pl.spatial(adata, color=["CAF_abundance", "Tcell_abundance", "Bcell_abundance"], ncols=3)
  • 每种细胞类型出一张热图
  • 比较各自空间分布,观察潜在共定位

✅ 方法三:组合标签图(共富集区域分析)

adata.obs["combo_label"] = (
    adata.obs["CAF_abundance"] > 0.5).astype(str) + "_" + 
    (adata.obs["Tcell_abundance"] > 0.5).astype(str)
sc.pl.spatial(adata, color="combo_label")
  • 表示哪些 spot 是 CAF-only,哪些是 CAF+Tcell 共富集;
  • 用于局部空间共存模式识别

✅ 方法四:RGB 三通道叠加图(不推荐全图使用)

  • 将 CAF、Tcell、Bcell 分别映射到 R/G/B 通道;
  • 每 spot 的颜色混合反映成分,但不利于定量解读;
  • 多用于小图展示(如论文图注、Figure 4f)

✅ 方法五:饼图 / 条形图显示细胞比例

  • Giotto / spatialLIBD 支持每个 spot 画小饼图;
  • 适合区域放大分析,图像密集,不利于全图展示。

🧪 五、实战中还能做什么?

  • 按 CAF 丰度筛选 CAF-rich spot:

    adata.obs["CAF_high"] = adata.obs["CAF_abundance"] > 0.5
    
  • 构建邻域 → 聚类邻域细胞组成:

    import squidpy as sq
    sq.gr.spatial_neighbors(adata, coord_type="grid")
    
  • 构造组合富集图(“CAF+T”区域) → 空间机制假设验证。


🧠 六、终极总结

问题 正确理解方式
Spot 是混合的吗? ✅ 是,每个 spot 是多个细胞组成的 bulk 信号
可视化颜色是“混合”的吗? ❌ 否,是单通道表达热图,不显示“颜色混合”
能不能看多个细胞类型? ✅ 能,用并列热图 / 饼图 / RGB 图来展示
颜色强度表示什么? CAF abundance(或其他 cell type)在 spot 中的相对信号强度
最推荐的展示方式? 多图并列、单一 cell type 强度热图、共富集区域 label 分群展示

七、完整分析流程模板(简略)

python复制编辑# 加载解卷积结果
adata.obs["CAF_abundance"] = result["CAF"]
adata.obs["Tcell_abundance"] = result["T_cells"]

# 可视化单细胞类型
sc.pl.spatial(adata, color="CAF_abundance", cmap="Reds")

# 多类型对比可视化
sc.pl.spatial(adata, color=["CAF_abundance", "Tcell_abundance"])

# 区域打标签
adata.obs["predicted_label"] = result.idxmax(axis=1)
sc.pl.spatial(adata, color="predicted_label")

✅ 一句话总结:

Visium 是 spot-level 混合表达测序,解卷积后我们看到的只是某种细胞在 spot 中的“推测丰度图”,而非真实位置图,更非混色图。

posted @ 2025-05-27 23:03  tomorgen  阅读(42)  评论(0)    收藏  举报