4. MaxQuant结果文件解读
跑完MaxQuant,你得到一堆文件。初学者往往直接看proteinGroups,但其实真正的质控信息藏在另外两个文件里。我最初做质控时也犯过这个错,直到有一次批次效应查了半天,最后发现是evidence表里一条不起眼的标注揭露了问题。今天我们就把这几个核心文件的里里外外说清楚。
结果文件概览——你该关注什么
MaxQuant输出文件夹里文件很多,但质控核心是三个txt文件:
| 文件名 | 行对应 | 核心用途 |
|---|---|---|
| evidence.txt | 每个PSM(肽谱匹配)一条 | 原始鉴定与定量信息的“原子”级记录 |
| peptides.txt | 每个肽段序列一条(去冗余后) | 肽段级别丰度、修饰与唯一性判断 |
| proteinGroups.txt | 每个蛋白组一条 | 最终蛋白定量结果(含FDR、肽段计数) |
我个人习惯的排查路线:先用evidence检查原始匹配质量 → 用peptides看肽段覆盖 → 最后用proteinGroups做差异分析。跳步往往导致问题定位不准。
evidence.txt——最底层的真相
这个文件是质控的“第一现场”。每行对应一次鉴定事件,包含原始谱图信息、得分、保留时间、电荷等。
核心列清单:
- Sequence:匹配到的肽段序列
- Charge:前体电荷
- m/z:质荷比
- Retention time:色谱保留时间
- Score:二级谱图匹配得分
- Intensity:前体峰强度
- Reverse:是否为反库匹配(+代表诱饵)
- Potential contaminant:潜在污染
- Protein group IDs:归属的蛋白组编号
质控中我最常用的是这几列组合:
关键过滤操作:在PTXQC中,evidence表的 Reverse 和 Potential contaminant 列被自动用来计算TDR(目标-诱饵率)。如果查看原始文件,建议先排除这两类条目再做统计,否则鉴定数会虚高。
为什么PTXQC高版本要求保留evidence.txt?因为它需要原始PSM信息来构造TIC、MS1/MS2计数、保留时间漂移曲线等几乎全部一级指标。你删了它,很多东西算不出来了。
peptides.txt——肽段级别的“质检报告”
这个文件把同一个肽段序列的多个PSM合并成一行。你注意看它的实验设计相关的列:
| 列名 | 含义 |
|---|---|
| Sequence | 肽段序列 |
| Proteins | 关联蛋白(多个蛋白用分号分割) |
| Unique (Peptides) | 是否为该蛋白组的唯一肽段 |
| Intensity | 定量强度(可有多列,取决于样本数) |
| Score | 最佳PSM得分 |
| Mass | 理论质量 |
质控关注点:
- 唯一肽段的比例——值越高,蛋白定量越可靠
- 肽段长度分布——太短(<6)或太长(>40)往往可靠度下降
- 肽段被多少PSM支持——我曾见过某个肽段只有1个PSM但强度很高,最后复核是谱图误匹配
注意:peptides.txt的强度列是肽段级的,不是PSM级的。如果你发现某个肽段强度异常,一定要回溯到evidence看看它由哪些PSM构成。多数质控问题在PSM级就能暴露。
proteinGroups.txt——最终输出,但不是唯一答案
这是大多数人最先打开的文件。它给出了蛋白水平的定量结果,但内部结构远比看起来复杂。
关键列解析:
| 列名 | 作用 |
|---|---|
| Protein IDs | UniProt ID列表 |
| Majority protein IDs | “主导”蛋白(用于唯一命名) |
| Peptides | 匹配的肽段总数(含非唯一) |
| Razor + unique peptides | 用于蛋白定量的肽段数(推荐用这个) |
| Unique peptides | 仅该蛋白组独有的肽段数 |
| Sequence coverage [%] | 序列覆盖率 |
| Intensity | 样本定量值 |
| LFQ intensity | LFQ归一化后的强度 |
| iBAQ | 基于肽段数量的绝对定量估计 |
| Only identified by site | 标记为“仅由修饰位点鉴定” |
批本质控中最敏感的字段:
- Peptides / Razor + unique peptides:批次间肽段计数波动是强信号
- Sequence coverage:覆盖率过低往往意味着鉴定可信度差
- LFQ intensity:归一化后的定量值受批次影响比Raw intensity小,但PQS仍需检查
PTXQC在使用proteinGroups.txt时,会提取 Only identified by site 列为True的条目,将其归入“低可信蛋白”标记。我个人建议你在差异分析前就过滤掉这些蛋白。
版本差异——这事儿你得知道
MaxQuant 1.6.x 和 2.x 系列在输出格式上有一些小变化,最影响质控的是:
| 特性 | 1.6.x | 2.x |
|---|---|---|
| evidence列数 | 约80列 | 超过110列(新增MS2定量、标胶信息等) |
| peptides列结构 | 强度列命名:Intensity H, M, L | 强度列命名:Intensity 0, 1, 2 (多标实验更通用) |
| proteinGroups列 | LFQ和iBAQ都在 | 保留,新增“Match between runs”的标记列 |
| PQS标记 | 无独立列 | 新增 PQS 和 PEP 后验错误概率列 |
这些变化直接影响PTXQC的解析逻辑。低版本结果强行给高版本PTXQC输入,会报列缺失错误。我在一次客户项目中遇到过这个问题,直到我把MaxQuant从1.6升到2.1才解决。
三张表的整合关系
实战:从三张表快速定位批次效应
假设你有两个批次的数据,怀疑存在批次差异。我的排查顺序是这样的:
- 第一步:打开所有批次的evidence.txt,看每批次的总鉴定数、平均Score、保留时间分布。如果一批次Score中位数显著低于另一批,问题出在色谱或MS参数。
- 第二步:看peptides.txt,检查唯一肽段比例是否一致。我曾经发现一批次唯一肽段比例骤降,原因是用错了裂解酶。
- 第三步:检查proteinGroups.txt,筛选Razor + unique peptides 数量在批次间有显著变化的蛋白。注意不只看定量值,还要看鉴定支持度。
批间肽段计数差异超过20%就要高度警惕。不要轻易用归一化掩盖问题——先找出根因再处理数据。