第4章:mqpar.xml – 你手把手调教MaxQuant的“控制面板”
说实话,我第一次拿到MaxQuant时,看到那个图形界面其实有点懵。参数全挤在设置窗口里,换个酶切类型都要点好几层菜单。后来我发现,真正的大佬都在直接改mqpar.xml——这是MaxQuant的配置核心,说白了就是一份XML格式的参数清单。你改它,比点一万次鼠标都靠谱。
这一章,我就带你把这个文件拆开揉碎。我们重点聊三个最要命的关键参数:酶切、可变修饰、定量类型。别的参数以后碰到再说,但这三个,你跑任何一个项目都得过一遍。
4.1 mqpar.xml 长什么样?
你安装完MaxQuant后,在程序目录下能找到这个文件。或者你在GUI里点保存参数,也会生成一个。打开它,里面是一层层嵌套的XML标签。结构非常清晰,有点像我们写代码的配置文件。
看个简化示例:
<?xml version="1.0" encoding="utf-8"?>
<MaxQuant xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Sections>
<Section Name="ProteinQuantification">
<Parameter Name="LabelFreeQuantification" Value="True"/>
</Section>
<Section Name="Digestion">
<Parameter Name="DigestionMode" Value="Specific"/>
<Parameter Name="Enzyme" Value="Trypsin"/>
<Parameter Name="MaxMissedCleavages" Value="2"/>
</Section>
<Section Name="Modification">
<Parameter Name="VariableModifications" Value="Oxidation (M),Acetyl (Protein N-term)"/>
</Section>
<Section Name="Quantification">
<Parameter Name="QuantificationType" Value="LFQ"/>
</Section>
</Sections>
</MaxQuant>
嗯,别被这堆尖括号吓到。你只需要知道:<Section>是功能模块,<Parameter>是具体参数,Value就是值。改起来很直接。
4.2 酶切参数:你选错酶,搜库就全废
我个人觉得,酶切参数是mqpar.xml里最容易被忽略的坑。很多人从网上扒个模板就直接跑,结果切出来的肽段全是错的。
DigestionMode:一般用“Specific”表示完全酶切特异位点。我用“SemiSpecific”做过几次,那是给半酶切实验用的,普通项目别碰,碰了假阳性飙升。
Enzyme:常见的有Trypsin、LysC、GluC等等。注意拼写必须和MaxQuant内置的酶库完全一致。我遇到过有人写“Trypsin (missed cleavages at K)”结果程序认不出来,直接报错。你看:
<Parameter Name="Enzyme" Value="Trypsin"/>
就这个格式,千万别加括号或注释。Value值必须是预定义的名字。怎么查?在MaxQuant安装目录下的conf/enzymes.xml里能看到所有支持的酶。
MaxMissedCleavages:允许的最大漏切位点数。默认2。对于常规Trypsin消化,2个漏切足够覆盖大多数肽段。提高到3会把数据库撑大,搜库慢很多。我曾经为了追求覆盖度设成3,结果运行时间翻倍,鉴定量没多几个,果断改回2。
DigestionMode="Specific"时,MaxQuant会严格按照酶的特性去计算理论肽段。如果酶选错了,后面所有定量、修饰谱图匹配都是空中楼阁。
4.3 可变修饰:不是越多越好,别把自己坑了
可变修饰,就是寻找肽段上可能的翻译后修饰。最经典的就是氧化(Methionine oxidation)、乙酰化(N-terminal acetylation)。这些东西在生物样本里很常见,但你要小心。
在mqpar.xml中,可变修饰是这样的:
<Parameter Name="VariableModifications" Value="Oxidation (M),Acetyl (Protein N-term)"/>
记住:多个修饰用逗号隔开,不能有空格(除非MaxQuant内部定义的名字里含空格)。每个修饰的名字必须和modifications.xml里的一致。
数量上限:MaxQuant允许最多设置5个可变修饰。超过它?界面里直接灰掉,xml里写了也无效。你别想着把20个修饰全塞进去,搜库会慢成幻灯片。我一般只开2-3个,比如Oxidation (M)、Acetyl (Protein N-term)、Phospho (STY),再多不仅慢,还会稀释统计置信度。
4.4 定量类型:LFQ、TMT还是SILAC?
MaxQuant支持好几种定量策略。在mqpar.xml里由QuantificationType参数控制。常见值有:
| 值 | 说明 | 典型场景 |
|---|---|---|
| LFQ | Label-Free Quantification,无标记定量 | 多数蛋白质组学,尤其是DDA数据 |
| TMT | 同量异位标签定量 | 多通道标记实验,如TMT10plex、TMT16plex |
| SILAC | 稳定同位素标记定量 | 细胞培养氨基酸标记 |
| None | 不做定量,只定性鉴定 | 目标蛋白鉴定,不关心丰度 |
选定定量类型后,还需要设置相应的子参数。比如LFQ,要指定LFQMinRatioCount、LFQMinNumberOfNeighbors等等。这些子参数藏在对应的Section里(ProteinQuantification)。
我踩过一个坑:做TMT16plex时,以为只要把QuantificationType设成TMT就行,结果跑出来定量结果全是NaN。后来发现还要在TmtConfiguration Section里填好标签通道的对应关系,比如哪个通道是哪个样本。你不设置,MaxQuant找不到标签,自然定量不出来。
重要: 改变定量类型,会连锁影响很多下游参数。建议在GUI里先设置好,保存参数文件,然后再用文本编辑器微调。自己从头写mqpar.xml容易漏掉依赖参数。
4.5 一张图看懂 mqpar.xml 参数结构
我把整个文件的核心模块画了个图。你看一眼,就能记住XML的骨架。后面讲PTXQC时,也会基于这个结构来定制输出。
4.6 动手改一个 mqpar.xml
说一千道一万,不如自己动手改一次。我教你怎么改这三个关键参数:
- 定位 Section:用文本编辑器打开mqpar.xml,找到
<Section Name="Digestion">那一块。 - 改酶切:将
<Parameter Name="Enzyme" Value="Trypsin"/>改为你用的酶,比如Value="LysC"。 - 改可变修饰:找到
<Section Name="Modification">,修改VariableModifications的Value,比如加一个Phospho (STY)。 - 改定量类型:找到
<Section Name="Quantification">,把QuantificationType的Value设为LFQ或TMT。 - 保存:一定覆盖原文件或另存为新参数文件。然后在群里跑MaxQuant时,用
--parameter=mqpar.xml指定它(命令行模式)。
嗯,框架搭好了。你可能会问:那么多其他参数呢?比如LFQMinRatioCount、FirstSearch这些?别急,后面几章我们按模块一个个敲。这一章你先把XML的结构印在脑子里,后面改什么都快。