2. MaxQuant安装与配置(Windows/Linux)
好,咱们正式开始动手装 MaxQuant。这一章我尽量把踩过的坑都抖出来,让你少走弯路。MaxQuant 本身不算难装,但依赖环境和操作系统的差异,折腾起来也挺烦人的。
安装前你需要知道的几件事
先把底牌摸清楚,再动手不迟。MaxQuant 本质上是一个 .NET 应用,跑在 Windows 上是最顺的。Linux 下也能用,但需要经过一层 Mono 转译,性能会打点折扣。我个人习惯:能上 Windows 就上 Windows,除非你手里只有服务器。
硬件门槛:内存至少 16 GB,建议 32 GB 以上。CPU 核心越多越好,因为搜索阶段是并行计算的。硬盘读写速度影响索引构建,SSD 是标配。
你想想看,一个典型的 LFQ 项目,原始文件动辄几十个 GB,内存不够直接卡死在第二步。我在项目中遇到过课题组用 8 GB 笔记本跑 MaxQuant,开了三个 raw 文件就崩了——那是真惨。
安装流程总览
下面这张图把整个安装链串起来了,你可以先瞄一眼,心里有个框架。
Windows 下的安装步骤
Windows 是最省心的平台。直接去 MaxQuant 官网下载区 拿最新的压缩包。目前稳定版是 2.5.x,我用的 2.4.13 之前有个内存泄漏 bug,后来的版本修了。
第一步:获取安装包
- 下载
MaxQuant_xxx.zip,别下成源码包。 - 解压到纯英文路径,比如
C:\MaxQuant。我见过中文路径导致 Andromeda 崩溃的案例,别试。
第二步:安装 .NET 运行时
MaxQuant 需要 .NET Framework 4.7.2 或更高。
# 检查是否已安装
reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" /v Release
# 如果返回值小于 461808,去微软官网下载 .NET Framework 4.8 Runtime
我记得有一次在一台新电脑上装,.NET 环境没问题,但双击 MaxQuant.exe 没反应。查了半天发现是 Visual C++ Redistributable 2015-2022 x64 没装。安装那个包之后就能跑了。
第三步:配置 PATH 环境变量(可选但推荐)
我喜欢把 MaxQuant 的 bin 目录加到 PATH 里,这样在 PowerShell 里直接敲 MaxQuant 就能启动。
# 以管理员身份运行,把路径替换成你的安装目录
setx /M PATH "%PATH%;C:\MaxQuant\bin"
为什么要这么做?批处理脚本里经常要调用 MaxQuantCmd.exe,如果不加 PATH,每次都得写全路径,烦不烦?
第四步:验证安装
打开 CMD 或 PowerShell,跑一下命令:
MaxQuantCmd.exe --version
能输出版本就说明装好了。如果报错 不是内部或外部命令,检查 PATH 或者直接去安装目录执行。
Windows 避坑指南
- 杀毒软件(尤其 Defender)会误杀
Quant.exe和Andromeda.exe。我曾在项目中遇到运行到一半文件被隔离,整个任务白跑。建议把 MaxQuant 目录加入排除列表。 - 不要安装在
Program Files下,权限问题会阻止写入临时结果。 - 如果遇到
System.IO.FileNotFoundException,通常是缺少 VC++ 运行库,去微软官网装最新版 x64 即可。
Linux 下的安装步骤
Linux 用户嘛,要么是服务器跑批处理,要么是个人桌面玩开源。MaxQuant 官方只提供 Windows 版,Linux 全靠 Mono 撑起来。说实话,性能损失大概在 10%~20%,但胜在稳定——前提是你配置对了。
第一步:安装 Mono 完整版
Mono 版本一定要 >= 5.20,我推荐用 6.12 以上。直接用发行版的包管理器安装即可。
# Ubuntu / Debian
sudo apt update
sudo apt install mono-complete
# CentOS / RHEL
sudo yum install mono-complete
# 检查版本
mono --version
为什么强调“完整版”?只装 mono-runtime 会导致缺少 System.Drawing 等程序集,MaxQuant 的 UI 组件会报错。我在一开始装过一次精简版,结果 MaxQuantCmd.exe 直接抛 System.TypeInitializationException,教训深刻。
第二步:下载并解压 MaxQuant
步骤和 Windows 一样,不过解压后需要确认一下文件权限。
wget https://www.maxquant.org/downloads/MaxQuant_2.5.0.0.zip # 实际链接请去官网复制
unzip MaxQuant_2.5.0.0.zip -d /opt/MaxQuant
chmod +x /opt/MaxQuant/bin/*.exe
注意:Linux 下 .exe 是 Mono 可以执行的,不需要额外转换。我就是这样直接跑了几年,没出过兼容性问题。
第三步:添加 mono 启动包装器
为了在命令行里方便调用,我习惯写一个简单的 shell 脚本包装一下。
# 创建文件 /usr/local/bin/MaxQuantCmd
#!/bin/bash
mono /opt/MaxQuant/bin/MaxQuantCmd.exe "$@"
# 给它执行权限
sudo chmod +x /usr/local/bin/MaxQuantCmd
这样你在终端里敲 MaxQuantCmd --help 就能直接调用,不用每次都写 mono /opt/MaxQuant/bin/...,省事。
第四步:测试运行
MaxQuantCmd --version
# 或者直接调用
mono /opt/MaxQuant/bin/MaxQuantCmd.exe --version
如果能输出版本号,恭喜你,搞定了。如果报错 Could not load file or assembly,八成是 Mono 版本太低,或者缺少部分程序集。升级 Mono 到最新版基本能解决。
重要提醒
- Mono 对 .NET 的某些 API 支持不完全,比如
System.Management。MaxQuant 在启动时会自动检测 CPU 核心数,如果 Mono 没有实现对应的 WMI 调用,可能会退化为单线程——性能下降非常明显。解决方案:在启动前手动设置环境变量:export MONO_THREADS_PER_CPU=8(按你的核心数调整)。 - Linux 下不要用
mono --runtime=v4.0,直接用默认运行时即可。 - 如果遇到中文路径或者包含空格的文件名,Mono 会无法解析。我经手的一个课题数据文件命名规范为
2023-10-15_HeLa_TMT10_raw.raw,这种全英文无空格是最安全的。
两种操作系统对比
| 项目 | Windows | Linux(Mono) |
|---|---|---|
| 安装复杂度 | 低(下载即用) | 中(需配置 Mono 环境) |
| 运行时速度 | 原生最快 | 约慢 10%~20% |
| 内存管理 | 自动,稳定 | 偶尔需要调优 Mono GC |
| 并行支持 | 完全支持 | 依赖 MONO_THREADS_PER_CPU |
| 常见报错类型 | VC++ 运行库缺失 | Mono 版本/依赖不兼容 |
| 推荐场景 | 个人工作站 / 小规模 | 服务器 / 批处理集群 |
最后的检查清单
我每次在新机器上装完后,都会按下面几步过一遍,避免遗漏:
- 运行 MaxQuantCmd.exe --version —— 确认可执行文件能正确加载。
- 打开 MaxQuant GUI(仅 Windows) —— 界面无报错,推荐参数模板能加载。
- 创建测试项目 —— 随便拿一个小的 .raw 文件跑一遍,看看能不能正常走到
Searching阶段。 - 检查临时目录权限 —— MaxQuant 会在系统临时文件夹写大量缓存。如果权限不足,跑几个小时卡在最后一步,那才叫崩溃。
进阶建议:对于长期使用的服务器,我建议把 MaxQuant 装好后打包成 tar.gz 备份。下次换机器直接解压,不用重新配置。另外,把 mono --optimize=all 加到包装器里,能再压榨一点性能。