3、MaxQuant 安装与配置

MaxQuant 这个软件,说白了一点也不复杂——就是个 Java 写的 GUI 工具,但它对系统环境有点小脾气。我刚开始用的时候,就因为 Java 版本不对,折腾了一下午。这一章咱们就把它装好,调顺。Windows 和 Linux 我都会讲,你自己看情况选。嗯,开始吧。

3.1 Java 环境准备

MaxQuant 依赖 Java 8。注意,是 Java 8,不是 11 也不是 17。我见过有人装了 Java 11,打开就报错,还以为是软件坏了。Java 8 请用 Oracle JDK 或 AdoptOpenJDK (现在叫 Adoptium),OpenJDK 也行。我个人推荐 Adoptium,长期维护,没乱七八糟的许可问题。

Windows 上安装 Java 8

  • 从 Adoptium 官网下载 jdk8u 的 msi 安装包,选 x64。
  • 一路下一步,记住安装路径,比如 C:\Program Files\Eclipse Adoptium\jdk-8.0.xxx。
  • 配置 JAVA_HOME 环境变量。
  • 将 %JAVA_HOME%\bin 添加到 Path。

配置完打开 cmd,输入下面的命令验证:

java -version

应该看到类似这样的输出,版本号是 1.8.0_xxx:

java version "1.8.0_392"
Java(TM) SE Runtime Environment (build 1.8.0_392-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.392-b08, mixed mode)

Linux 上安装 Java 8

我用 Ubuntu 最多,CentOS 也类似。先更新包索引:

sudo apt update
sudo apt install openjdk-8-jdk

安装完检查版本:

java -version

如果系统里已有其他 Java 版本,用 update-alternatives 切换:

sudo update-alternatives --config java

选对应 Java 8 的编号。我自己会在 ~/.bashrc 里加一行:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
重要: 别用 Java 11 或 17,MaxQuant 的 GUI 和后台批处理都会出问题。我曾经偷懒没降级,结果跑了一夜的数据全部作废,第二天才发现是 Java 版本不对。

3.2 下载与安装 MaxQuant

去 MaxQuant 官网(www.maxquant.org)下载最新版。目前稳定版是 2.5 系列。你下载的是一个 zip 压缩包,大概 200 MB。解压就行,不需要安装程序。

Windows 用户:解压到 D:\MaxQuant 或 C:\MaxQuant,路径不要有中文和空格。文件夹里面有两个核心文件:

  • MaxQuant.exe —— 图形界面启动器
  • MaxQuantCmd.exe —— 命令行版本,用于服务器或集群

Linux 用户:同样解压到 /opt/MaxQuant,给执行权限:

unzip MaxQuant_2.5.12.0.zip -d /opt/MaxQuant
chmod +x /opt/MaxQuant/*.exe

注意,Linux 下 .exe 其实是 Mono 或 Wine 的?不,MaxQuant 的 .exe 是跨平台的吗?这里有个坑:MaxQuant 官方只提供了 Windows 可执行文件。Linux 上跑需要借助 Mono(一个 .NET 框架的开源实现)。我自己的 Linux 工作站就是这么用的。

在 Ubuntu 上安装 Mono:

sudo apt install mono-complete

然后运行:

mono /opt/MaxQuant/MaxQuantCmd.exe

就能看到命令行帮助。

3.3 内存与线程设置

MaxQuant 默认只分配 4 GB 内存,2 个线程。这在现代服务器上简直是浪费。你想想看,我们一个典型的细胞样本磷酸化定量,跑个 10 个 fraction 就需要 32 GB 内存起步。我一般会调成 8 线程、32 GB 内存,具体看你机器配置。

内存和线程通过修改 启动脚本 或 批处理文件 来控制。Windows 下找到 MaxQuant.exe 同目录下的 MaxQuant.bat(也许叫 MaxQuant_gui.bat)。打开它,找到类似这样的启动命令:

java -jar MaxQuant.jar

改成:

java -Xms16g -Xmx32g -XX:+UseG1GC -jar MaxQuant.jar
  • -Xms 初始堆大小,我设为 16 GB。
  • -Xmx 最大堆大小,设为物理内存的 75% 左右,留点给系统和其他进程。
  • -XX:+UseG1GC 使用 G1 垃圾回收器,适合大内存场景。

如果是命令行模式(比如跑在服务器上),修改 MaxQuantCmd.bat 或直接用 mono 带参数运行:

mono --runtime=v4.0.30319 MaxQuantCmd.exe --mem=32G --threads=8

注意:Linux 下内存参数是 --mem,Windows 下通过 Java 的 -Xmx 设定。你也可以在 MaxQuant 的 GUI 界面里设置:Settings → Advanced → Memory。但我习惯直接改启动脚本,避免每次重设。

我的习惯: 先在服务器上用 free -h 或者 nproc 查看可用资源。设置线程数不要超过物理核数,否则上下文切换反而拖慢速度。我吃过这个亏,开 32 线程跑 16 核的机器,结果比 16 线程还慢。

3.4 验证安装

装完别急着跑实际数据。先跑个测试——MaxQuant 官方提供了一个 test folder(在安装包里),里面是几个小的 raw 文件和参数模板。我们用它验证环境。

Windows 命令行验证:

MaxQuantCmd.exe %MaxQuant_HOME%\test\test.xml

Linux 命令行验证:

mono /opt/MaxQuant/MaxQuantCmd.exe /opt/MaxQuant/test/test.xml

应该看到日志输出,最后显示 Processing finished successfully。如果没有报错,说明 Java、Mono、内存设置都对。

常见错误及解决:

错误现象原因解决
Java not foundJava 没安装或 PATH 没配好检查 java -version
OutOfMemoryError分配的内存太大或太小调 -Xmx 到合适值
Mono: The assembly ... was not found缺少 Mono 运行时或文件路径不对安装 mono-complete 并确认 exe 路径
UnsupportedClassVersionErrorJava 版本不对切换回 Java 8
核心检查清单:
  • Java 8 (1.8.0_xxx)
  • 路径无中文无空格
  • 内存 >= 8 GB (推荐 32 GB)
  • 线程数 <= 物理核心数
  • Linux 下安装了 Mono

下面这张图总结了我们整个安装配置流程:

MaxQuant 安装与配置流程图 Java 8 安装 下载 & 解压 MaxQuant 配置环境变量 (Win/Linux) 调整 -Xmx 与线程数 运行测试 XML 文件 📌 避坑要点 必须 Java 8;Windows 直接双击 .exe,Linux 加 Mono 运行;内存不超过物理 75% 测试通过后才能开始实际项目,别省这一步。