跳转至

空间代谢组学(成像质谱)


一句话说明

空间代谢组学就是"在组织切片上给代谢物拍照"——不需要把组织磨碎,直接在组织上逐点扫描质谱,生成每种代谢物的空间分布热图。就像给组织做一张"代谢物地图"。


核心知识点

要点1:主要成像质谱技术

  • MALDI-MSI(基质辅助激光解吸电离)
  • 在组织上涂基质,用激光逐点打,最主流的技术
  • 空间分辨率:5-100 μm(常用20-50 μm)
  • 适合检测脂质、小分子代谢物、药物
  • DESI-MSI(解吸电喷雾电离)
  • 用带电溶剂喷射组织表面,无需基质
  • 常压操作,适合术中快速诊断
  • 空间分辨率:~100-200 μm
  • SIMS(二次离子质谱)
  • 用离子束轰击表面,分辨率最高(亚微米级)
  • 检测范围窄,主要适合小分子和元素分析
  • AP-SMALDI:大气压下的MALDI,空间分辨率可达5 μm

要点2:MALDI-MSI实验流程

  1. 组织切片:冷冻切片(10-12 μm厚),贴在导电载玻片上
  2. 基质涂覆:喷涂或升华法涂覆基质(如DHB、CHCA、9AA)
  3. 基质选择影响检测的代谢物类别
  4. DHB适合脂质,9AA适合负离子模式小分子
  5. 质谱采集:逐像素扫描,每个像素获得一张完整的质谱
  6. 图像重建:将每个m/z的强度映射到空间位置,生成分子图像

要点3:数据分析挑战

  • 数据量大:一次实验产生几GB到几十GB数据(每个像素一张谱图)
  • 数据格式:imzML是标准格式,SCiLS Lab是常用商业分析软件
  • 空间分割:自动分区识别组织中的不同区域(如肿瘤vs正常)
  • 统计分析:空间统计需要考虑空间自相关性
  • 代谢物鉴定:需要on-tissue MS/MS或与LC-MS数据互验

要点4:应用场景

  • 肿瘤边界判定:手术中用DESI快速判断切缘是否干净
  • 药物分布研究:看药物在组织中的渗透和分布
  • 疾病标志物:发现具有空间特异性的代谢标志物
  • 微生物-宿主互作:研究微生物在组织表面的代谢产物分布

实战代码

# === 空间代谢组学数据分析(Python) ===
# 使用pyimzML读取imzML格式数据
# pip install pyimzml

from pyimzml.ImzMLParser import ImzMLParser
import numpy as np
import matplotlib.pyplot as plt

# 1. 读取imzML文件
parser = ImzMLParser("tissue_section.imzML")

# 获取数据基本信息
n_pixels = len(parser.coordinates)  # 总像素数
print(f"总像素数: {n_pixels}")
print(f"坐标范围: x={min(c[0] for c in parser.coordinates)}-{max(c[0] for c in parser.coordinates)}")

# 2. 提取特定m/z的离子图像
target_mz = 885.55  # 例如PI 38:4(磷脂酰肌醇)
tolerance = 0.1     # m/z容忍度 ±0.1 Da

# 获取坐标网格
x_coords = [c[0] for c in parser.coordinates]
y_coords = [c[1] for c in parser.coordinates]
x_range = max(x_coords) - min(x_coords) + 1
y_range = max(y_coords) - min(y_coords) + 1

# 创建空白图像
ion_image = np.zeros((y_range, x_range))

# 逐像素提取目标m/z的强度
for idx, (x, y, z) in enumerate(parser.coordinates):
    mzs, intensities = parser.getspectrum(idx)  # 获取该像素的质谱
    # 找到目标m/z范围内的最大强度
    mask = (mzs >= target_mz - tolerance) & (mzs <= target_mz + tolerance)
    if mask.any():
        ion_image[y - min(y_coords), x - min(x_coords)] = intensities[mask].max()

# 3. 可视化离子图像
plt.figure(figsize=(10, 8))
plt.imshow(ion_image, cmap="viridis", interpolation="nearest")
plt.colorbar(label="Intensity")
plt.title(f"Ion Image: m/z {target_mz}")
plt.xlabel("X (pixels)")
plt.ylabel("Y (pixels)")
plt.savefig("ion_image.png", dpi=150, bbox_inches="tight")

# 4. 提取多个代谢物的离子图像对比
target_mzs = {
    "PC 34:1": 760.58,    # 磷脂酰胆碱
    "PE 36:2": 742.54,    # 磷脂酰乙醇胺
    "SM 34:1": 703.57,    # 鞘磷脂
    "Cholesterol": 369.35  # 胆固醇(正离子脱水形式)
}

fig, axes = plt.subplots(2, 2, figsize=(14, 12))
for ax, (name, mz) in zip(axes.flat, target_mzs.items()):
    img = np.zeros((y_range, x_range))
    for idx, (x, y, z) in enumerate(parser.coordinates):
        mzs, intensities = parser.getspectrum(idx)
        mask = (mzs >= mz - tolerance) & (mzs <= mz + tolerance)
        if mask.any():
            img[y - min(y_coords), x - min(x_coords)] = intensities[mask].max()
    ax.imshow(img, cmap="hot", interpolation="nearest")
    ax.set_title(f"{name} (m/z {mz})")
    ax.axis("off")

plt.tight_layout()
plt.savefig("multi_ion_images.png", dpi=150)

面试常问点

Q1: MALDI-MSI和LC-MS代谢组学有什么互补关系?

参考答案:LC-MS把组织磨碎提取后分析,丢失了空间信息但定量准确、代谢物覆盖广;MALDI-MSI保留了空间信息但定量不如LC-MS准确(没有内标、基质效应影响大),而且代谢物鉴定受限(只有精确质量,通常无法做MS/MS)。理想的做法是两者结合:先用MALDI-MSI发现有空间特异性的代谢物,再用LC-MS在不同组织区域的微切割样品中验证和定量。

Q2: 空间分辨率为什么重要?

参考答案:空间分辨率决定了你能看到多细的结构。20 μm大约是1-2个细胞的大小,可以区分不同的组织微区域;100 μm只能看到组织的粗略分区。比如在肿瘤研究中,肿瘤核心和边缘的代谢物可能完全不同,分辨率太低就看不到这种异质性。但分辨率越高,每个像素的样品量越少,灵敏度越低,扫描时间也越长,需要权衡。


速查卡片

问题一句话答案
MALDI-MSI分辨率?通常20-50 μm,高端可达5 μm
DESI的优势?无需基质、常压操作、适合术中诊断
imzML是什么?成像质谱的标准数据格式
基质涂覆方法?喷涂法(分辨率中等)或升华法(分辨率更高)
一次实验数据量?几GB到几十GB
适合检测什么代谢物?脂质最容易,小分子代谢物、药物也可以