一、三种主流 motif 算法
| 算法 | 核心思路 | 优势 | 劣势 |
|---|---|---|---|
| Motif-x | 基于位置特异矩阵的迭代搜索 | 直观,引用最多 | 对大样本效率低,结果假阳多 |
| MoMo | 基于混合 motif 模型(MEME 衍生) | 支持多种修饰类型混合 | 参数难调 |
| pLogo | 基于信息论的 logo 图,可视化 | 视觉直观 | 不做显式显著性检验 |
二、陷阱 1:找到 RRXS/T ≠ 找到 CK2 底物
motif 富集最常见的"假发现"问题是:
经典误读:"我们鉴定到的磷酸化位点显著富集到 RRXS/T 序列,因此这些底物的上游激酶是 CK2。"
问题在哪里?RRXS/T 实际上是 CK2 / PKA / AGC 家族 / SRPK等多个激酶的共识识别序列——光是 motif 富集到 RRXS/T,无法判断是谁在调控。
正确做法:
- 结合激酶抑制剂或激酶 KO实验验证。
- 用 GPS / NetworKIN 等工具做激酶-底物预测作为辅助证据。
- 看细胞背景:不表达 CK2 的细胞中找到 RRXS/T 富集可能指向其他激酶。
三、陷阱 2:背景序列选择偏倚
背景序列的选择比看起来重要得多:
- 用全蛋白组所有 S/T 位点作为背景 → 会低估 结构化区域 偏倚。
- 用整个"对应蛋白的所有 S/T"作为背景 → 更合理,但忽略蛋白表达水平。
- 理想背景:同一蛋白上未被修饰的其他 S/T 位点。
四、陷阱 3:定位概率阈值
MaxQuant 输出 Localization prob,告诉你"该修饰发生在该特定位点的概率"。常见错误:
- 不做阈值——把所有 location 倾向的位点都纳入分析(混淆信号)。
- 阈值设 1.0——丢失 30-40% 真实位点(过于严格)。
- 推荐阈值:0.75 + 至少 2 个差异样本。
五、实战 R 代码
# R 代码:使用 depLogo + motifr 做 motif 富集
library(depLogo)
library(motifr)
# 提取磷酸化位点周边序列
sequences <- extract_flanking_sequences(
phospho_sites,
window = 7, # 上下游各 7 个残基
uniprot_mapping = "human_grch38"
)
# 用同一蛋白未修饰位点作为背景
background <- extract_background_sequences(
phospho_sites,
background_strategy = "same_protein_unmodified"
)
# MoMo 富集
enriched_motifs <- momo_enrich(
foreground = sequences,
background = background,
modification = "Phospho",
p_threshold = 1e-6
)
参考文献
- Schwartz & Gygi, Nat Biotechnol 2005: Motif-x。
- Cheng et al., Bioinformatics 2018: MoMo。
- O'Shea et al., Nat Methods 2013: pLogo。
- Aimsmass 内部 SOP v2.1。