跳转至

单细胞蛋白组学技术


一句话说明

单细胞蛋白组学就是"在一个细胞级别测蛋白质"——传统蛋白组需要几百万个细胞混在一起测,单细胞蛋白组学让你看到每个细胞的蛋白表达差异,就像从"班级平均分"到"每个人的成绩单"。


核心知识点

要点1:技术挑战

  • 灵敏度:一个哺乳动物细胞只含~100-300 pg蛋白质,总肽段量极少
  • 没有"PCR":蛋白质不能像DNA/RNA那样扩增,检测到多少就是多少
  • 动态范围:细胞内蛋白丰度差异达到10⁶倍(从组蛋白到信号分子)
  • 通量:目前单次实验能测几百到几千个细胞,远少于单细胞RNA-seq的几万个

要点2:质谱类单细胞蛋白组技术

  • SCoPE2/plexDIA
  • Slavov实验室开发,用TMT标记将单细胞与载体细胞混合
  • 载体细胞提供足够的离子信号,单细胞"搭便车"
  • 2024-2025年已能鉴定每个细胞1000-3000种蛋白
  • nanoPOTS:超微量样品前处理技术,减少样品损失
  • MILO-MS:单细胞尺度的样品制备自动化平台
  • timsTOF SCP:Bruker专门为单细胞蛋白组优化的质谱仪

要点3:非质谱类方法

  • CyTOF(质量细胞术):用金属标记抗体,可同时检测50+蛋白标记物
  • 高通量(百万级细胞),但只能测已知蛋白(需要抗体)
  • CITE-seq:用DNA条形码标记抗体,在10X Genomics平台同时测RNA和表面蛋白
  • REAP-seq:类似CITE-seq的蛋白-RNA联合检测
  • 成像方法:CODEX/PhenoCycler,组织切片上多轮免疫荧光

要点4:数据分析要点

  • 缺失值问题:单细胞蛋白组缺失值比bulk更严重(50-70%),需要特殊处理
  • 批次效应:不同质谱run之间差异大,需要严格校正
  • 降维与聚类:与scRNA-seq类似,用PCA+UMAP降维,Leiden/Louvain聚类
  • 与scRNA-seq整合:WNN(加权最近邻)方法整合蛋白和RNA信息

实战代码

# === 单细胞蛋白组学数据分析框架 ===
import pandas as pd
import numpy as np
import scanpy as sc  # 借用单细胞RNA-seq的分析框架

# 1. 读取单细胞蛋白组定量矩阵
# 行=细胞,列=蛋白
protein_data = pd.read_csv("single_cell_proteins.csv", index_col=0)
print(f"细胞数: {protein_data.shape[0]}, 蛋白数: {protein_data.shape[1]}")

# 2. 创建AnnData对象(Scanpy框架)
adata = sc.AnnData(protein_data)

# 3. 质控过滤
# 过滤检测蛋白太少的细胞(可能是空液滴或碎片)
min_proteins = 200  # 至少检测到200种蛋白
sc.pp.filter_cells(adata, min_genes=min_proteins)
# 过滤在太少细胞中检测到的蛋白
sc.pp.filter_genes(adata, min_cells=10)
print(f"过滤后: {adata.shape[0]}细胞, {adata.shape[1]}蛋白")

# 4. 归一化和缩放
sc.pp.normalize_total(adata, target_sum=1e4)  # 总量归一化
sc.pp.log1p(adata)  # log变换
sc.pp.scale(adata, max_value=10)  # 缩放

# 5. 降维与聚类
sc.tl.pca(adata, n_comps=30)  # PCA降维
sc.pp.neighbors(adata, n_pcs=15)  # 构建KNN图
sc.tl.umap(adata)  # UMAP可视化
sc.tl.leiden(adata, resolution=0.5)  # Leiden聚类

# 6. 可视化
sc.pl.umap(adata, color="leiden", save="_clusters.png")  # 聚类结果UMAP

# 7. 差异蛋白分析(marker蛋白发现)
sc.tl.rank_genes_groups(adata, groupby="leiden", method="wilcoxon")
sc.pl.rank_genes_groups(adata, n_genes=10, save="_markers.png")
# === SCoPE2数据预处理要点 ===
# SCoPE2特殊考量:载体通道去除、单细胞通道归一化

# 1. 读取SCoPE2输出(包含载体通道和单细胞通道)
scope2_data = pd.read_csv("scope2_output.csv", index_col=0)

# 2. 去除载体通道(carrier channel)
# 载体通道是由200个细胞混合提供信号,不是单细胞数据
carrier_cols = [c for c in scope2_data.columns if "carrier" in c.lower()]
sc_data = scope2_data.drop(columns=carrier_cols)  # 只保留单细胞通道

# 3. 列归一化(消除通道间系统差异)
sc_normalized = sc_data.div(sc_data.median(axis=0), axis=1)  # 每列除以中位数

# 4. 行归一化(消除不同蛋白量级差异)
sc_final = sc_normalized.sub(sc_normalized.mean(axis=1), axis=0)  # 减去行均值

print(f"单细胞数: {sc_final.shape[1]}, 蛋白数: {sc_final.shape[0]}")

面试常问点

Q1: 单细胞蛋白组学和单细胞转录组学相比,有什么优势和劣势?

参考答案:优势:蛋白是真正执行功能的分子,mRNA到蛋白有很多调控层,蛋白数据更直接反映细胞功能状态;蛋白半衰期长,对瞬时波动不敏感,数据更稳定。劣势:蛋白不能扩增(不像mRNA可以逆转录+PCR),灵敏度受限;目前每个细胞只能测1000-3000种蛋白(scRNA-seq可以测几千到上万基因);通量低,一次只能测几百到几千个细胞;成本更高。

Q2: SCoPE2的载体通道是什么概念?

参考答案:SCoPE2用TMT多标记技术,其中1-2个通道加入约200个细胞的混合蛋白(载体通道),其他通道各放一个单细胞。载体通道的作用是:提供足够的离子信号让质谱能稳定检测到肽段(毕竟单个细胞蛋白太少),然后通过TMT标签区分载体和单细胞的信号。就像大声播放背景音乐让麦克风能工作,然后通过频率滤波提取说话人的声音。


速查卡片

问题一句话答案
一个细胞有多少蛋白?~100-300 pg,动态范围10⁶倍
SCoPE2核心思路?TMT标记,用载体细胞提供信号,单细胞"搭便车"
CyTOF能测多少蛋白?~50个(需要金属标记抗体)
目前每细胞能鉴定多少种蛋白?质谱法1000-3000种(2025年水平)
与scRNA-seq主要区别?蛋白不能扩增,灵敏度和通量更低但功能信息更直接
CITE-seq是什么?DNA条形码标记抗体,同时测RNA和表面蛋白