4. 数据准备

说实话,刚开始用MaxQuant的人,很容易被它吐出来的一大堆文件吓到。 我第一次跑完一个定量蛋白质组项目,打开输出文件夹时,足足愣了几秒。 txt文件夹里躺着十几个文件,名字长得差不多,有的几MB,有的几百MB。 哪个是核心?哪个是中间产物?哪个可以直接扔?

这章我就带你把这些文件理清楚。 你只要抓住两个关键文件——evidence.txt和peptides.txt,就能搞定PTXQC的输入。

MaxQuant 输出文件核心结构 combined/txt 输出目录 msms.txt(二级谱信息) allPeptides.txt(所有肽段) modificationSpecificPeptides.txt summary.txt(实验总览) evidence.txt PSM级鉴定+定量|最细粒度 peptides.txt 肽段级汇总|去重后唯一肽段 proteinGroups.txt 蛋白组级|PTXQC不直接读 parameters.txt(参数记录) tmt-information.txt(TMT) PTXQC 需要哪些文件? 证据表 ↑(必须)| 肽段表 ↑(必须)| 蛋白组表 ↑(推荐) summary.txt ↑(可选,用于实验统计) 最新版PTXQC也能用msScans.txt,但极少用到

4.1 理解MaxQuant的输出目录

不管你是用Andromeda内置搜索引擎,还是接了其他搜库工具,MaxQuant最终都会在combined/txt目录下产出结果。 我个人习惯是先不看别的,直接进这个txt目录,因为它就是质控报告的原料仓库。

你想想看,一个典型的定量组学项目,原始raw文件可能有几十个。 MaxQuant跑完后,txt目录里会有一堆tabular分隔的文本文件。 它们分成几个层次:

  • PSM(肽谱匹配)级别 — evidence.txt,这是最底层的原始记录。每个MS/MS谱图匹配到一个肽段,就是一行证据。
  • 肽段级别 — peptides.txt。同一个肽段如果被多次鉴定到,这里会合并成一行。
  • 蛋白质级别 — proteinGroups.txt。多个肽段归属到同一个蛋白组,在这里汇总。
  • 其他辅助文件 — 如msms.txt、allPeptides.txt、summary.txt等,提供补充信息。

关键点:PTXQC主要读取evidence.txt和peptides.txt。 proteinGroups.txt是可选的,但有了它可以做更丰富的蛋白层面统计。 其他文件——不是必须的。至少在我参与的项目里,从没遇到因为少了msms.txt就报错的情况。

4.2 evidence.txt — 质控报告的核心燃料

这个文件有多重要?我直接说吧,PTXQC 80%以上的质控指标都来自evidence.txt。 它记录的是每个PSM的鉴定和定量信息。行数通常非常庞大,一个10个样品的TMT实验,几十万行是常态。

4.2.1 关键列字段

evidence.txt的列数很多,但PTXQC真正用的不多。我挑几个必须了解的:

列名含义PTXQC用途
Sequence肽段序列(不带修饰)鉴定计数、长度分布
Modified sequence修饰后的序列修饰位点统计
Proteins匹配到的蛋白ID蛋白鉴定数、唯一性判断
Retention time保留时间(分钟)RT分布、iRT校准
PEP后验错误概率PEP分布、过滤阈值
ScoreAndromeda打分得分分布
Intensity原始强度定量强度分布(关键!)
Charge电荷态电荷态分布
MS/MS count二级谱图数鉴定效率
Raw file原始文件名按样品分组

我建议你用Python的pandas看一眼这个文件的结构,很快就能摸清楚。

import pandas as pd
ev = pd.read_csv("evidence.txt", sep="\t", low_memory=False)
print(ev.columns.tolist())
print(ev.shape)

4.2.2 避坑指南

我曾经遇到过两次常见的坑,这里提一下:

  • Intensity列是0吗? 如果是空值或0,说明没有定量值。PTXQC在计算定量覆盖度时会把这些样品标记为缺失。这通常是正常的,但如果缺失太多,检查一下MaxQuant的定量设置。
  • Modified sequence里的括号标注:MaxQuant用括号加质量偏移表示修饰。比如_(Acetyl (N-term))。PTXQC能识别标准修饰,但自定义修饰要注意格式一致性。

4.3 peptides.txt — 肽段中心的汇总视图

peptides.txt是evidence.txt的去重汇总版本。 同一个肽段(相同的Modified sequence + 相同的电荷态)被多次鉴定时,这里只保留一行。 它的行数远少于evidence.txt,但包含了每个肽段的汇总统计。

4.3.1 与evidence.txt的核心区别

维度evidence.txtpeptides.txt
粒度每个PSM一行每个唯一肽段一行
定量列Intensity(单次定量)Intensity(汇总值,如中位数)
保留时间单次RT平均/中位数RT
行数很大(几十万~百万)较小(几万~十万)

4.3.2 PTXQC用肽段表做什么?

PTXQC会同时读取两个文件,但在某些指标上有明确分工:

  • 肽段长度分布 — 直接从peptides.txt的Sequence列算。为什么要用肽段表而不是证据表?你想想看,如果一个肽段被鉴定100次,用证据表算长度分布就会把它重复计数100次,这实际上夸大了短肽的权重。用去重后的肽段表更合理。
  • 肽段鉴定数统计 — 从peptides.txt的行数得到唯一肽段数,从evidence.txt得到总PSM数。两者对比可以评估鉴定冗余度。
  • 修饰分布 — 肽段表也会包含修饰信息,但通常不如证据表细致。

我的经验:写PTXQC的输入检查函数时,我习惯先判断peptides.txt中的唯一肽段数是否合理。如果总PSM数很高,但unique peptides很少,说明鉴定冗余度过大,可能是色谱分离效率的问题。反过来,如果唯一肽段数接近总PSM数,说明基本上每个肽段只测了一次,这可能暗示样品太简单。

4.4 其他关键文件一览

我不打算把每个文件都讲一遍,那样太啰嗦。但有几个你可能会遇到:

4.4.1 summary.txt

这个文件是MaxQuant自动生成的实验统计概览。每行一个raw文件,包含鉴定数、定量数、MS/MS总数等。PTXQC会把它当作辅助信源,用于计算总览指标。我一般会扫一眼这个文件,快速了解整个实验的数据量级。

# summary.txt 的典型前几行
Raw file	MS/MS	identified	identified (seq)	identified (by matching)
Sample_A	15234	8921	7821	5033
Sample_B	14987	8765	7698	4982

4.4.2 msms.txt

包含每个MS/MS谱图的详细信息,比如母离子质量、电荷态、碎裂方式等。PTXQC只用它做少数高级指标(如二级谱质量精度)。大多数情况下,你不必关心这个文件。

4.4.3 proteinGroups.txt

PTXQC 3.x之后的版本,可以通过蛋白组表做蛋白层面的覆盖度分析。但我不建议依赖它来做核心质控,因为它受蛋白推断算法影响很大。我遇到过同一组raw文件,换个MaxQuant版本,proteinGroups.txt里的蛋白数量差了15%。而evidence.txt的差异通常小于2%。

4.5 实操小练习

你现在就可以动手验证一下。打开你的PTXQC示例数据目录,定位到combined/txt:

  1. 用Excel或文本编辑器打开evidence.txt,数数有几列。别忘了它可能很大,用文本编辑器打开时会慢。
  2. 用命令行快速查看行数:
wc -l evidence.txt
wc -l peptides.txt
wc -l proteinGroups.txt
  1. 对比三个文件的行数差异。如果evidence.txt > 10× peptides.txt,说明你的鉴定冗余度偏高。

一句话总结:evidence.txt是质控报告的命根子,peptides.txt是它的去重好帮手。你把这两个文件的结构搞明白,PTXQC就相当于已经打通了一半。嗯,接下来——你会看到怎么用代码读取它们,并转换为质控指标。