单细胞蛋白组学技术¶
一句话说明¶
单细胞蛋白组学就是"在一个细胞级别测蛋白质"——传统蛋白组需要几百万个细胞混在一起测,单细胞蛋白组学让你看到每个细胞的蛋白表达差异,就像从"班级平均分"到"每个人的成绩单"。
核心知识点¶
要点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和表面蛋白 |