MaxQuant搜库使用指南¶
约 4653 个字 105 行代码 预计阅读时间 17 分钟
MaxQuant的介绍¶
介绍¶
MaxQuant是基于质谱(Ms)的蛋白质组学数据分析最常用的平台之一,目前认可度相对较高,可针对多种质谱数据。拥有自己的肽段搜索引擎- Andromeda。对于碰撞诱导离解(CID)、高能碰撞离解(HCD)和电子转移离解(ETD)所产生的串联光谱可以很容易地用MaxQuant进行分析。针对每种方法,采用自定义的多级评分方案,对每种特定的碎片化技术的多肽鉴定进行优化。MaxQuant使用target-decoy搜索策略以估计和控制假阳性。
搜库原理简述¶
MaxQuant对蛋白质序列数据库fasta文件中的蛋白质序列进行模拟酶切和碎裂,将蛋白质序列信息转换为理论谱图数据。通过将理论谱图数据与实际采集到的原始谱图数据进行比对打分,实现搜库的过程。
特点¶
-
免费不开源,基于Andromeda搜索引擎;可以支持目前主流的蛋白质组学质谱仪厂商产生的原始数据格式(raw,wiff,mzML,mzxml);
-
支持标记定量和非标定量,如labelfree(优势)/ICAT/SILAC/TMT/iTRAQ等;MaxQuant支持标记定量和非标定量,2.0版本后的MaxQuant还支持DIA的数据分析;新版本还支持ion MS3的分析;
- 蛋白鉴定数多,定量准确性高(主要是因为非线性质量校正和Match Between Runs)
MaxQuant安装¶
详见个人笔记:MaxQuant-Linux安装&环境配置
输入文件¶
参考蛋白库¶
一般是fasta的压缩格式,推荐uniprot下载;
质谱原始文件¶
MaxQuant 支持的输入文件类型(原始数据格式/扩展名如下):
配置MaxQuant¶
搜库标准化流程:
1.导入样本&样本分组设置¶
- 加载原始数据 进入<原始数据>面板,点击Load导入质谱数据,主要原始数据格式见第一部分所示;
-
对于TMT的数据,多个样本的肽段标记混合后,可能会分级(分馏,即Fraction)上机,即分多次进样进行质谱(当然并不是简简单单的将混合肽段分为10份,有专业设备自动分选),Thermo平台一般是分10级,其质谱原始数据就会有10份,一般是:.*_F[1-10].raw,全部导入即可,顺序没有关系;数据加载进来后,如果是windows系统,可以基于Exists和Size等信息检查数据信息;此外有些公司还可以提供15级(欧米),检测到的蛋白数和级数是有关的,但是推荐多少级就不知道了,没看到那个公司做了这测试(主要看饱和度就可以),因此当心一些公司以分级数来忽悠大家。
-
Set group设置实验组名称,注意如果设置相同的名称,后续搜库时会被合并;这里的Group可能会带来一些疑惑,我个人的理解是这样的:就像转录组的差异比较组一样,当存在多个差异比较组时,那么就需要设置多个Group,例如A_vs_B,B_vs_C是两个差异比较组,那么就需要设置两个group,可以让A_vs_B设置为Group0,B_vs_C设置为Group1,但是此时这两个group不能一起跑,因为里面B组是相同的,他的B组数据只有一份,此时如果想省得麻烦想一起跑,可以把B组的数据复制一份导入进来即可,否则此时就需要分开跑两个组的数据(因为B组数据导致的),但是分开跑可能会带来一个新的问题,即B组的数据在两个Group种的搜库定量结果可能会存在差异,个人认为这个差异是可以接受的
- 如果比较组是想A_vs_B,C_vs_D的,此时直接设置不同的group即可;
-
一个批次的TMT的数据理论上只设置Group0即可,因为TMT是多个样本的肽段标记混合后进行一起测序的,原始数据上是没法区分那个文件是那个样本的,需要找质谱公司获取每一个plex标记的样本名称,如下:
-
广泛来说,如果有实验的参数设置不同,应该设置不同group,在不同组添加参数;
-
Set experiment设置实验组名称,注意如果设置相同的名称,后续搜库时会被合并;我的理解是:同一个Group下,我们可以通过experiment来设置case和control分别是那些样本;
-
同一个Group下,TMT数据这一列没办法体现case和contronl信息的,这一列建议设置为同一个有意义的值即可,因为该值会输出到proteinGroups.txt和peptides.txt等关键结果的列名中(这里是test);
-
针对非TMT的项目,experiment推荐设置为没一个数据对应的样本名称,后续MaxQuant的输出会自动带上样本名,例如:LFQ intensity sample1,LFQ intensity sample2等;
-
Set Fraction实验分了馏分是才设置;我个人的理解是:TMT的数据,Fraction就直接设置为文件的后缀的序号即可(例如:1-10),其他蛋白测序方法(例如LFQ等),全部设置为1或者不设置,可以参考
-
TMT样品通常通过分馏分以实现高蛋白质组覆盖率
查询了赛默飞的官方文档,里面是这么介绍的:
-
Set PTM(post translational modifications)设置翻译后修饰信息,如果需要关注翻译后修饰信息,这个设置为True即可,一般般的蛋白技术都不针对翻译后蛋白修饰设计,注意PTM的项目记得改干参数;
-
该面板下的其他参数可以不用设置,保持默认值即可,官方文档也说明了,如果不知道参数如何设置,尽量保留默认值;
2.设定与组相关的特定参数¶
即根据每一个实验组的真实信息修改一些参数,这里以Group0来讲解,其他group根据事实来改即可
不同的质谱技术(eg:TMT,LFQ,DIA等)的关键区别大部分都是在这个页面下进行设置
- Type设置,主要是设置质谱技术相关的参数
-
对于常规的非标定量检测(label-free和MS1-labeled),Type页面可直接使用软件默认的参数;
-
默认的Standard模式下,Multiplicity可以用多个选择,可以用于设置样本是否有标记,一般情况下设置1即可,1:无标,2:有轻标和重标,3:轻、中、重标,其他数值:混合标记;
-
针对TMT技术,传统的同位素标记标记样本(TMT)选择Reporter ion MS2,同位素标记的MS3质谱选择Reporter ion MS3,其实很多时候会很纠结到底选Reporter ion MS2还是Reporter ion MS3,这个要看质谱仪来决定的1,如果质谱仪支持三级质谱,那么一定要选择Reporter ion MS3,否见鉴定到的蛋白就会少一些,大佬的笔记中也特别提醒了2;这里建议做项目数据分析之前最好咨询一下质谱公司或者查询质谱设备信息;
-
如果是TMT-MS2-6plex的项目,可以按照如下进行设置(其他plex按如下方案类推):
这里需要注意的是,TMT的项目会出现这样的情况,项目做的是6plex的项目,但是实际只做了4个样本,这里应该选4-plex还是6plex,这里必须按照质谱公司用的什么试剂来决定,一般很少有4plex的现成试剂盒,如果是4个样本的TMT,一般做的是6plex-TMT,其中有两个plex是没有用到的,需要咨询质谱公司问清楚是哪些plex没用到,推荐在这个页面上把没用到的plex参数行删掉,避免影响搜库和后续的结果;其他的情况也是类似。
-
Modifications设置,主要是设置蛋白修饰相关的参数
Variable modifications(可变修饰)是指并非每个氨基酸都会发生的修饰,如蛋氨酸氧化(Oxidation (M))可能只发生在某些蛋氨酸上。再比如,只有少数肽的 N 端会发生乙酰化(Acetyl (Prorein N-term))。需要注意的是可变修饰会增加in silico肽数据库的容量,进而增加分析时间;
可变修饰需要根据实验设计进行设置;可以查找修饰的肽段,比如磷酸化,乙酰化,泛素化,糖基化,甲基化等等;不同的修饰形式修饰位点会不一样,磷酸化是S/T/Y,乙酰化/泛素化是K等;
Fixed modifications(固定修饰)是指特定氨基酸每次出现时都会发生的修饰。这些修饰通常是人为引入的,如蛋白质组学样品制备中防止二硫键重新形成的半胱氨酸的氨基甲酰甲基化,也是该参数的默认值Carbamidomethyl (C);在样本处理过程中,加了DTT,会还原二硫键,为了防止再氧化形成二硫键,会对其进行封闭,用的封闭试剂是IAA,会在cys进行酰甲基化修饰。
做项目数据分析之前最好咨询一下质谱公司,一般来说项目做了什么修饰或者特殊处理,针对这个参数,无论是LFQ还是TMT,如果没有特俗指定,保留默认即可;
-
Label-free quantification设置,主要是设置蛋白定量方法相关的参数
针对LFQ的项目,需要设置Label-free quantification的方法为LFQ,LFQ页面下的其他参数一般是保持默认即可;
-
Digestion设置,主要是设置蛋白消化相关的参数,为了模拟真实的蛋白降解过程
一般选择的特异性的降解酶,即选择Specific即可;
一般胰蛋白酶在多数自下而上的蛋白质组学实验中都被用作蛋白酶,用于降解蛋白质,获得肽段,胰蛋白酶具有准确的裂解特异性等优点;因此Enzyme默认值为Trypsin/P。胰蛋白酶能裂解精氨酸和赖氨酸C末端的肽段,除非其后有脯氨酸;
MaxQuant使用该规则对蛋白质数据库进行in silico裂解,做项目数据分析之前最好咨询一下质谱公司用的蛋白酶来进行裂解蛋白的,中科的TMT项目,文档中说明的是:Trypsin;trypsin(胰蛋白酶,特异性的识别K/R的C端)
Max. missed cleavages默认为2,漏切越小越好,越准确(该参数一般需要在文献中方法中明确给出),其示意图如下:
-
Instrument设置,主要是设置质谱设备平台相关的参数
选择质谱仪器的平台,做项目数据分析之前最好咨询一下质谱公司,像中科的Q Exactive HF-X mass spectrometer (Thermo Scientific)和Q Exactive HF mass spectrometer (Thermo Scientific)等都隶属于Orbitrap系列,其他的平台进行下拉选取即可,但不管什么平台,里面的详细参数和默认值大致是一致的;
圈出来的两个参数主要是为了进行肽段的过滤(该参数一般需要在文献中方法中需要明确给出),保持默认值即可;
First search peptide tolerance:该参数在第一轮Andromeda搜索中应用于肽质量的质量容差,用于质量和时间相关的肽质量重新校准。对于没有任何严重校准问题的orbitrap或velos数据,20 ppm就足够了;
Main search peptide tolerance:在主要搜索过程中使用的肽质量容差,指的是根据时间和质量进行肽质量校准后的质量偏差,通常 6ppm 即可。
- 其他参数
该页面下的其他参数设置为默认值即可,如果设置到需要设置参数时候,请查看MaxQuant的说明书;当然在LFQ galaxy train3文档中也有详细的说明(推荐看看)。
3.全局参数设置¶
该面板主要设置与Andromeda搜索引擎想改的参数,可以类比于转录组比对软件的参数设置,例如hisat2的参数比对参数设置;
- Sequence设置,主要是设置参考蛋白库和污染库相关的参数
点击Add添加参考蛋白库,如果有污染源蛋白库也可以点击Add进行添加,参考蛋白库和污染源蛋白库可以是多个
参考蛋白库和污染源蛋白库添加完成后,可以点击Test按钮检测下蛋白库是否合格,即如下图,Sequnece列需是蛋白序列,Identifer列需是蛋白的ID,如果不对,需要点击Identifier rule按钮进行更换或者进行自定义正则表达式进行解析;此外很多时候Taxonomy lD和Organism没办法自动获取,可以点击Taxonomy lD按钮输入对应物种的Taxonomy lD号进行查询即可,Taxonomy lD和Organism两个信息也会输出到proteinGroups.txt等关键结果中,为了进行物种区分。
此外,还有一个关键参数:Min. peptide length,用于指定最小的肽段长度为7,太短的假阳性率高,该值设置为默认即可,(该参数一般需要在文献中方法中需要明确给出) - Indentification设置,主要是设置蛋白鉴定检出相关的参数
-
PSM FDR:PSM水平的FDR阈值,由TDA计算得出,0.01代表1% FDR。(该参数一般需要在文献中方法中需要明确给出)
-
Protein FDR:蛋白质水平的FDR阈值。(该参数一般需要在文献中方法中需要明确给出)
-
Site decoy fraction:修饰位点表水平上对饵命中进行过滤。(该参数一般需要在文献中方法中需要明确给出)
-
Min. peptides:鉴定一个蛋白质簇所需总肽段数的最小值,并在最终表格中报告。
-
Min. razor + unique peptides:鉴定一个蛋白质簇所需razor+unique肽段数的最小值,并在最终表格中报告。
-
Min. unique peptides:鉴定一个蛋白质簇所需unique肽段数的最小值,并在最终表格中报告。肽会以统计的方式组合成相应的蛋白质,因此主要应根据唯一肽进行判断。可以将参数设为1,即输出表中只报告至少有一个唯一肽的蛋白质。
-
Min. score for unmodified peptides:接受MS2鉴定无修饰肽的最小Andromeda分数。推荐值为0,即除FDR外,没有额外的过滤。
-
Min. score for modified peptides:接受MS2鉴定修饰肽的最小Andromeda分数。默认值为40。除对PSMs应用的FDR外,还需额外过滤。
-
Min. delta score for unmodified peptides:接受MS2鉴定无修饰肽的最小Andromeda delta分数。推荐值为0,即除FDR外,没有额外的过滤。
-
Min. score for modified peptides:接受MS2鉴定修饰肽的最小Andromeda delta分数。默认值为6。除对PSMs应用的FDR外,还需额外过滤。
-
Base FDR calculations on delta score:如果选中,所有 FDR 计算都将使用 delta 分数作为输入。delta 分数是得分最高的 PSM 与氨基酸序列不同、得分次之的 PSM 之间的分数差。
-
Dependent peptides:无偏搜索来自已鉴定肽的修饰肽。
-
Match between runs:是MQ提高蛋白检测能力的一个算法,TMT和LFQ都推荐勾选该参数,一些参考文献:14
-
Label-free quantification设置,主要是设置与LFQ定量相关的参数
推荐勾选iBAQ,iBAQ是基于Intensity的强度值,除以该蛋白的理论可被检测的肽段数目计算而来的定量值,主要用于不同蛋白的相互比较
- 其他参数
该页面下的其他参数设置为默认值即可,如果设置到需要设置参数时候,请查看MaxQuant的说明书。
4.其他面板参数设置(仅适用于window版本)¶
- 性能面板——提交任务后,可以查看进度
5.线程数设置¶
无论是Linux还是windows系统,该参数都不要过大,推荐8个就够了,这里的线程数,在linux上测试后发现是进程数。
Linux下需要修改配置xml文件中的numThreads值
6.软件运行¶
- Windows系统下按照上述的配置说明设置后,直接点击开始按钮即可运行
- Linux环境运行(重点说明)
-
本地导出mqpar.xml,如果是新项目在实验上和质谱参数上做了修改,那么强烈将以本地配置后生成新的mqpar.xml;
- 修改mqpar.xml文件,一般主要三个地方,如下:建议自己写个代码自动修改这些信息,手动改很麻烦 - 参考蛋白库信息
S- 文件路径和分组信息<fastaFilePath>/data/pipeline/Protein/test/Swissprot_Homo_sapiens_20405_20230103.fasta</fastaFilePath>
S- 线程数 上传到Linux服务器 - 运行MQ<filePaths> <string>/data/pipeline/Protein/test/data/YAS202306190012_1_F1.raw</string> </filePaths> <experiments> <string>test1</string> </experiments> <fractions> <short>32767</short> </fractions> <ptms> <boolean>False</boolean> </ptms> <paramGroupIndices> <int>0</int> </paramGroupIndices> <referenceChannel> <string></string> </referenceChannel>
MaxQuant的参数设置可以参考以下文档15,文档26,文档37,galaxyproject测试8
MaxQuant分析步骤¶
- feature信息的提取(定量信息)
- 最初的搜库(first search)
- 质量校正
- 搜库鉴定(main search)
- 峰处理
- 第二次搜库(second peptide search)
- 定量和鉴定结果合并
- 导出结果
MQ结果说明¶
-
关于输出路径:MQ的默认输出路径是放在原始质谱数据的路径下
-
目录结构
详细目录示例
**./combined/**
├── combinedRunInfo
├── evidenceTableFilePos
├── fileInfo
├── ibaq
├── identifiedPeptides
├── identifiedPeptides.Data
├── identifiedPeptidesInd
├── identifiedProteinGroups
├── infoFile
├── matchedFeaturesTableFilePos
├── matchesFilePos
├── matchesFilePosU
├── modifiedPeptideTableFilePos
├── ms3ScansTableIndices
├── msmsScansTableIndices
├── msmsTableFilePos
├── mzRangeTableIndices
├── nsplits
├── parametersTableFilePos
├── pepLimit
├── pepSeqs
├── peptideTableFilePos
├── sites
├── siteTableFilePos
├── summaryTableFilePos
├── tmpIsDecoy
├── tmpMassLists
├── tmpMassLists_unidentified
├── tpg
├── proteinTableFilePos
├── proc
│ ├── *.finished.txt
├── ps
│ ├── duplicates
│ ├── sequences
│ ├── sequences.ind
│ ├── sequences.inds
│ └── sequences.stat
├── search
│ ├── a91318056
│ │ ├── peptides
│ │ ├── peptides.ind
│ │ └── peptides.stat
│ └── ver
├── ser
│ ├── evidence.ser
├── andromeda
│ ├── allSpectra.*.apr
│ ├── aplfiles
│ └── secpepFiles
└── txt
├── evidence.txt
├── matchedFeatures.txt
├── modificationSpecificPeptides.txt
├── ms3Scans.txt
├── msmsScans.txt
├── msms.txt
├── mzRange.txt
├── Oxidation (M)Sites.txt
├── parameters.txt
├── peptides.txt
├── proteinGroups.txt
├── summary.txt
└── tables.pdf
├── YAS202306190012_1_F5
│ ├── n0
│ └── p0
- 每一个关键结果文件的列名解释,参考:官方文档。
FAQ¶
-
MaxQuant运行后,没有鉴定到蛋白,proteinGroups.txt等关键结果是空的,但没报错,具体什么原因?
个人在linux测试发现运行很顺利,没报错,但是鉴定结果就是为空,后续发现,其实是软件本身的问题,MQ本是上是一个windows的软件,不管他是基于dotnet还是mono进行跨平台运行,它是不支持软连接文件的识别的,因此如果是原始数据是软连接,在linux下就会发生这个问题。
😂实测后发现fastaFilePath可以是软连接,但是filePaths一定不能设置为软连接,windows出身的软件不会识别软连接。
-
出现问题如何dubug?
更新中
-
Maxquant的Intensity、IBAQ、LFQ intensity,该用哪个?
-
其他
更新中
参考¶
-
https://pwilmart.github.io/blog/2021/12/17/TMT-bad-practices ↩
-
https://training.galaxyproject.org/training-material/topics/proteomics/tutorials/maxquant-label-free/tutorial.html#more-details-on-maxquant-parameters ↩
-
https://www.biorxiv.org/content/10.1101/2020.03.30.015487v1 ↩
-
https://training.galaxyproject.org/training-material/topics/proteomics/tutorials/maxquant-msstats-tmt/tutorial.html ↩