MaxQuant工作流程概览

做质谱数据分析,很多人上来就点“Run”。
嗯,这样跑是能出结果,但结果质量嘛……我不敢打包票。

我一直认为,搞懂MaxQuant的工作流程,比学会点按钮重要得多。
你只有知道软件背后在做什么,才能理解每条参数为什么这么设,FDR为什么能控制住。

这一章,我带大家把流程拆开看看。

核心观点: MaxQuant不是黑盒子。它的流程可以分为三大阶段——数据预处理、肽段与蛋白鉴定、FDR过滤与定量。每一阶段都有对应的参数和检查点。
MaxQuant 标准化工作流程 阶段一:数据预处理与搜索 原始文件(.raw/.mzML) 酶切与质荷比校正 一级图谱提取 二级碎片匹配 Andromeda 搜索引擎 阶段二:控制与定量 肽段谱图匹配(PSM) 目标-诱饵库构建 FDR 估计(q-value) 蛋白分组推断(Occam's razor) LFQ / 标记定量 阶段三:结果输出 evidence.txt peptides.txt proteinGroups.txt msms.txt summary.txt ⚠ 关键检查点 ① 参数表(experimentalDesignTemplate.txt)是否与实际分组一致 ② 诱饵库比例是否为 1:1(默认 0.01 即 1% 诱饵) ③ FDR 阈值(PSM、肽段、蛋白三级)是否分别按需设置 💡 推荐做法:先跑一个样本作为测试,确认流程没有报错,再批量提交 “我曾经因为实验设计表写错一个分组名,结果定量全乱了……”

2.1 原始数据文件与实验设计

整个流程的起点,是质谱仪生成的原始文件。
我看过不少新手,直接把十几个 .raw 文件丢进去就跑。然后对着结果文件夹发愣——哪个样本对应哪个组?

我个人习惯是,在准备数据的同时就写好 experimentalDesignTemplate.txt。
这个文件决定了 MaxQuant 怎么分组、怎么比对,尤其影响 later 的 LFQ 定量。

Tip: Raw 文件的命名要简洁且统一。我建议格式:
日期_条件_生物学重复_技术重复.raw
比如 20240901_Treatment_R1_Run1.raw。这样在参数表里一眼就能看清楚分组。

实验设计表说白了就是两列:一列文件名(不含 .raw),一列实验组名。
组名可以写 Control、Treatment_1h 等等,最好别用编号 1、2、3,不然分析完对照着表查半天。

2.2 参数配置组(XML 配置文件)

MaxQuant 把参数保存在 mqpar.xml 里。你可以在界面里配置,也可以用脚本生成。
我经常讲:「所有 FDR 相关的内容,都在这个文件里」。

下面是 mqpar.xml 中和 FDR 直接相关的几个参数段——

<?xml version="1.0" encoding="utf-8"?>
<MaxQuantParams xmlns="...>
  <!-- 酶切参数 -->
  <Digestion>
    <Enzyme>Trypsin/P</Enzyme>
    <MaxMissedCleavages>2</MaxMissedCleavages>
  </Digestion>
  <!-- FDR 三级阈值 -->
  <Fdr>
    <PsmFdr>0.01</PsmFdr>
    <PeptideFdr>0.01</PeptideFdr>
    <ProteinFdr>0.01</ProteinFdr>
  </Fdr>
  <!-- 诱饵库开关 -->
  <Decoy>
    <DecoyMode>R</DecoyMode>
    <DecoyFraction>0.01</DecoyFraction>
  </Decoy>
</MaxQuantParams>

嗯,这里要特别注意:FDR 是三级独立的——PSM、肽段、蛋白各有一个阈值。
多数情况下我都设为 0.01(1%)。但有些项目如果蛋白鉴定数太少,可以考虑适当放宽到 0.05,但不能超过 0.1。

⚠ 我曾经遇到过: 把 DecoyMode 从 R(反向序列)改成了 R 之外的选项,结果诱饵分布直接崩掉,FDR 估计完全不准。后来排查了两天才发现——诱饵模式选错了。

2.3 肽段鉴定:从二级谱图到 PSM

这一块是 MaxQuant 的核心引擎 Andromeda 的活。
说白了,就是把二级碎片质谱图和你准备的蛋白数据库做匹配,算出一个匹配得分(Score)。

匹配完之后,每个谱图可能对应多个候选肽段,但只有得分最高的那个被保留为 PSM(肽段谱图匹配)。
那怎么判断这个 PSM 靠不靠谱呢?——就是 FDR 登场的地方了。

常规流程里,MaxQuant 做了这么几步:

  • 一级图谱提取: 算出每个肽段的母离子质荷比和保留时间
  • 二级碎片解析: 把二级碎片做成峰列表,和理论碎片做比对
  • Score 计算: 基于 Andromeda 的匹配逻辑生成 Score 和 Delta Score
  • 假阳性评估: 通过诱饵库匹配数,反推真实匹配的 FDR

我个人习惯在检查结果时,先看 msms.txt 里的 Score 分布。
如果诱饵匹配的 Score 和目标库的 Score 有明显重叠区,说明样本质量或参数可能有问题。

2.4 蛋白推断(Protein Inference)

鉴定完肽段后,你要把肽段「拼」回蛋白。
这个步骤叫蛋白推断。MaxQuant 用的是一个很聪明的原则——奥卡姆剃刀(Occam's razor)。

什么奥卡姆剃刀?
想象一下:你有两个肽段,一个只出现在蛋白 A 里,另一个同时在蛋白 A 和 B 里。MaxQuant 会优先认为,这两个肽段都来自蛋白 A。蛋白 B 如果没有独有肽段支持,会被归入“蛋白组(Protein Group)”,而不是独立鉴定。

你想想看,这里的大坑是什么?
——如果蛋白 A 被 FDR 过滤掉了,同时丢失的还有共享肽段的信息,可能导致蛋白 B 也被误判。

所以,我的建议是: 在看最终蛋白列表(proteinGroups.txt)之前,先检查 peptides.txt 里每个蛋白组的独有肽段数(Unique Peptides)。如果为 0,就要小心了——那基本是个假阳性或噪声鉴定。

2.5 结果文件一瞥

MaxQuant 会生成一整套结果文件。每一份都有它在流程中的特定角色。

文件 内容 FDR 相关字段
msms.txt 所有二级谱图的匹配信息 Score, Delta Score, PEP
evidence.txt 每条肽段的定量与鉴定证据 PEP, q-value
peptides.txt 汇总每条肽段的多文件统计 Peptide PEP, Peptide q-value
proteinGroups.txt 蛋白组的鉴定与定量结果 Protein PEP, Protein q-value, Score
summary.txt 每轮鉴定的整体统计 鉴定总数、FDR 实际值

我在项目中见过不下50次,有人只盯着 proteinGroups.txt 看,完全不检查 msms.txt 或 summary.txt。
结果发文章前才发现,整体 PSM 层面的 FDR 已经超过 5% 了。

记住:FDR 是三级瀑布。一级失守,后面全部失守。

快速检查技巧:
打开 summary.txt,看第 2 列 Peptide IDs 和 Protein IDs 的数字。
然后看最后一列 FDR,如果这个值大于你设置的阈值(比如 1%),说明这轮跑失败了。
我刚用 MaxQuant 时就在这栽过跟头——FDR 栏显示 3.8%,我还以为自动修正了。其实没修正,它只是如实汇报你看着办。

2.6 一个小结思维导图

到这,你应该能理解:MaxQuant 不是一个简单的搜库软件,它是一套完整的质谱数据分析流水线。
从原始文件到蛋白列表,中间经过酶切、匹配、打分、FDR 控制、蛋白推断、定量整合,每一步都牵一发动全身。

我个人最深的体会是:你控制 FDR 的位置越多,最后结果的可靠性就越高。
如果只在蛋白层面设一个 0.01,前面 PSM 和肽段层面的 FDR 都放开,那蛋白层面的 0.01 其实是一个假象——因为你已经放进来太多错误的肽段了。