肽段鉴定软件的核心是评分函数(scoring function),用于评估肽段(理论计算谱图)与实际二级质谱图的匹配程度。
对于原始数据中的每个二级谱,软件会检索蛋白质数据库,以找到评分最高的匹配项(peptide-spectrum matching, PSM)。
然而,PSM 并不总是真实的。导致错误匹配的常见原因包括:
二级谱质量较低;
目标肽段不在数据库中;
评分函数不完善。
为了控制结果质量,PSM 通常按得分排序。通过选择合适的得分阈值(score threshold),可以保证阈值以上的 PSM 具有可接受的质量。
FDR(False Discovery Rate, 假发现率) 被定义为:阈值以上的假阳性 PSM 数量与总 PSM 数量的比值。
通过调整得分阈值,可以在结果的准确性(FDR)与灵敏度(识别数量)之间进行权衡。不同软件由于评分函数不同,其权衡效率可能差异显著。
值得注意的是,大多数蛋白质鉴定结果列表中的假阳性比例高于 5%,即使采用了 p < 0.05 或 95% 置信度的截断值。
使用 Target-Decoy 方法估计 FDR
在实际应用中,难以直接判断哪些 PSM 是假阳性的——否则算法可以直接将其去除,从而实现零假发现率。
因此,靶标-诱饵(Target-Decoy)方法在实践中被广泛用于估算 FDR。
在这种方法中,软件会同时搜索一个**靶标数据库(target database)与一个诱饵数据库(decoy database)**的拼接版本,且两者大小相同。
如果诱饵库构建合理,则软件产生的假阳性鉴定将在靶标库与诱饵库中均匀分布。由于所有诱饵匹配结果都是假阳性的,因此可用以下公式估算 FDR:
\text{FDR} = \frac{\#(\text{Decoy Hits})}{\#(\text{Target Hits})}
在实验中,诱饵数据库通常通过将真实数据库逆序或随机打乱生成,因此不包含任何真实序列。使用诱饵数据库得到的匹配结果必为假阳性 [10.1038/nmeth1019]。
基于诱饵匹配的 FDR 计算方法
目前至少存在两种基于诱饵匹配的 FDR 计算方法。最常用的一种称为 全局假发现率(Global False Discovery Rate, 亦称 Aggregate FDR),其计算公式为:
\text{FDR} = 100 \times \frac{2 \times (\text{诱饵匹配数})}{\text{总匹配数}}
(计算时适用于任意选定的得分阈值)
示例:
如果在得分 50–400 范围内共有 200 个蛋白匹配,其中 4 个为诱饵匹配,则
\text{FDR} = \frac{2 \times 4}{200} \times 100 = 4\%
Global FDR 的局限在于:这 4% 的 FDR 是针对整体 200 个蛋白而言的。显然,得分在 50–80 的蛋白比得分高的蛋白更可能是假阳性。
因此可以推断,如果整体假阳性概率为 5%,则高得分蛋白的假阳性概率远低于 5%,而低得分蛋白的假阳性概率远高于 5%。
局部 FDR(Local FDR)
2008 年 Tang 等人发表了 Proteomics System Performance Evaluation Pipeline (PSPEP) 算法 [10.1021/pr070492f],可计算每个单独蛋白的局部假发现率(Local FDR,亦称瞬时 FDR / Instantaneous FDR)。
相较于 Global FDR,Local FDR 更为严格:在相同阈值条件下(例如 FDR < 5%),满足条件的蛋白或肽段数量会更少,但置信度更高。
Target-Decoy 方法的常见误用
错误 1
在多轮搜索(multi-round search)算法中使用 Target-Decoy 验证。
多轮搜索为加速计算,常在第一轮从大型数据库中筛选出少量候选蛋白,然后在第二轮仅用候选蛋白进行匹配。
但此过程破坏了 Target-Decoy 方法的前提:第二轮中靶标库与诱饵库不再等大,从而使 FDR 估计失效。
错误 2
在评分函数中使用蛋白水平信息时仍用 Target-Decoy 验证。
若某蛋白已被高置信度鉴定,则其对应的肽段匹配更可能是真实的。
一些软件会因此给来自高置信度蛋白的肽段附加额外得分(score bonus)。
虽然这样可提高灵敏度,但会导致错误分布不均——高得分的假阳性主要出现在靶标库中,而诱饵库中较少,进而使 FDR 低估。
错误 3
使用靶标和诱饵结果重新训练评分函数并重新排序(re-ranking)。
这种重新排序方法近年来越来越常见,因为它能显著提升搜索灵敏度。
但若重新训练算法过度拟合,可能消除所有诱饵匹配(但未能去除假阳性靶标匹配),从而使 FDR 估计完全失效。
因此,仅在算法特别设计以避免过拟合,且数据集规模足够大时,才建议使用此策略。
更多关于这些常见错误的解释,可参考 A Practical Guide to Significantly Improving Peptide Identification Sensitivity and Accuracy 一文。