数据准备:raw 文件格式说明与实验设计表填写规范

做质谱数据分析,第一步不是打开 MaxQuant,而是先把原始数据理清楚。我见过不少新手,参数配得漂漂亮亮,结果导入 raw 文件就报错——为什么?文件格式不对,或者实验设计表写错了。今天就专门聊聊这两件事。别看基础,踩坑的人可不少。

raw 文件格式:它到底是个什么东西?

Thermo Fisher 的质谱仪(Orbitrap、Q Exactive 系列)产生的原始数据就是 .raw 格式。说白了,这是一个二进制容器,里面存着质谱扫描的完整记录:谱图、强度、保留时间、离子信息等等。MaxQuant 只认 .raw,别拿 .mzXML、.mzML 或者 .wiff 直接往里塞——虽然它也能转,但那不是它亲生的,兼容性不好。

曾经有个项目,合作方把 Bruker 的 .d 文件夹直接改后缀名为 .raw 发过来,我解压半天报错。嗯,这里要注意:不同厂家的格式不能互通,MaxQuant 设计之初就是为 Thermo 数据服务的。如果你用 Bruker 或 SCIEX,需要先用对应工具转成 .mzML 再导入。

关于 raw 文件的一些关键点:

  • 命名规范:文件名不要包含空格、中文或特殊符号。我用下划线分隔条件,比如 Control_01.raw、Treated_02.raw。
  • 完整性:采集过程中如果仪器断电或异常终止,raw 文件可能损坏。建议采集完后用 Thermo RawFileReader 工具跑一遍校验。
  • 大小:一个 60 分钟梯度、高分辨率的 raw 文件通常 500MB~2GB,太小的文件可能丢失扫描信息。

我个人习惯:把同一批实验的 raw 文件放在一个文件夹里,文件夹名用项目名+日期。这样导入 MaxQuant 时直接选文件夹,省事又不容易漏。

实验设计表(experimental design template)——最重要的“地图”

实验设计表是一个 .txt 文件,告诉 MaxQuant 每个 raw 文件对应哪个实验条件、哪个组、哪个样本。如果没有这个表,软件只能当成所有文件来自同一组处理——那结果就没意义了。你想想看,连对照组和处理组都分不清,后面差异分析怎么做?

表的结构很简单,一般三列:

列名 说明 示例
Experiment 实验条件/组名,自定义字符串。相同实验名的 raw 文件会被合并定量。 Control, Treatment_High
Fraction 分级编号(没有分级填 1)。如果同一样本做了多个分级,分数填 1,2,3… 1, 2
PTM 翻译后修饰类型(可选,不填留空或写 Unmod) 空, Phospho, Acetyl

举个例子,假如你有 4 个 raw 文件:

Control_1.raw
Control_2.raw
Treatment_1.raw
Treatment_2.raw

实验设计表应该长这样:

Experiment	Fraction	PTM
Control		1		Unmod
Control		2		Unmod
Treatment	1		Unmod
Treatment	2		Unmod

注意:表头是列名,分隔符我建议用 Tab,不要用逗号或空格。MaxQuant 默认按 Tab 解析,用别的容易出问题。

填写规范:避坑指南

我曾经在一个项目中,把 Experiment 列写成了“Control-1”、“Control-2”这种带数字的字符串,结果 MaxQuant 把它们当成不同的实验组,浪费了一天时间检查。记住:Experiment 列只写条件名称,不要混入样本编号或技术重复标记。

几个需要牢记的规则:

  • raw 文件全名必须与第一列匹配:表里的文件名不需要扩展名 .raw,但要和实际文件名的主名一致(包括大小写)。
  • 不同分级必须写不同 Experiment:如果你做了 TMT 多组分,每个通道写一行,Experiment 名可以写 Sample_A_126 之类,只要你能区分。
  • 空值处理:PTM 列可以不填,但不要写 NULL 或留空格,直接留空即可。
  • 行数必须等于 raw 文件数:少一行或多一行,MaxQuant 会报错或忽略部分文件。

核心流程:raw 文件→实验设计表→MaxQuant

下面这张图概括了你今天要记住的链路:

数据准备核心流程 Thermo 质谱采集 生成 .raw 文件 检查与命名 避免空格/中文 编辑 .txt 表 Experiment/Fraction 同一文件夹 raw + txt ⚠️ 常见问题 • raw 文件损坏:用 RawFileReader 校验 • 实验设计表列名写错:必须是 Experiment/Fraction/PTM • 文件名大小写不匹配:Windows 不敏感,但 Mac/Linux 敏感

我在实际项目中常常遇到一种情况:同一批处理样本,用了两个不同批次的 raw 文件,命名规则不同——有的叫 20230501_A.raw,有的叫 B_Rep1.raw。这没问题,只要实验设计表里填的字符串和文件名主名一致,MaxQuant 都能认。关键是你自己要能看懂,便于后续排查。

实操步骤:从零建好实验设计表

  1. 收集 raw 文件列表:用 ls *.raw(Linux/Mac)或 dir *.raw /b(Windows)列出所有文件名,去掉扩展名。
  2. 创建空白 txt 文件:用 Notepad++ 或 VSCode,不要用 Windows 记事本(它会偷偷加 BOM,导致解析错误)。我习惯用 vim 或 nano。
  3. 第一行写标题:Experiment\tFraction\tPTM(Tab 分隔)。
  4. 逐行填写:每个 raw 文件一行,前三列对应。如果没做分级,Fraction 全写 1;没做修饰,PTM 留空。
  5. 保存为 experimentalDesignTemplate.txt,编码选 UTF-8 without BOM。
  6. 检查:用以下命令快速验证行数是否匹配:
# 查看 raw 文件数
ls *.raw | wc -l

# 查看实验设计表行数(除去表头)
tail -n +2 experimentalDesignTemplate.txt | wc -l

这两个数字必须一样,否则回去改表。

重点记住:实验设计表就是 MaxQuant 的地图。地图画错了,后面所有分析结果都是错的。多花 10 分钟核对,能省下后面一整天排查时间。

最后,我提一嘴关于 raw 文件的“元数据”。你可以在 Thermo 的 RawFileReader 里查看采集参数:质量分辨率、扫描次数、离子注入时间等。这些信息对后期参数配置有帮助,比如你知道分辨率是 120k,那后面主参数 First search tolerance 可以设 20 ppm,Main search tolerance 设 4.5 ppm。嗯,这些内容后面章节会细讲,现在你只需要知道 raw 文件里藏着这些信息就行。