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
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 found | Java 没安装或 PATH 没配好 | 检查 java -version |
OutOfMemoryError | 分配的内存太大或太小 | 调 -Xmx 到合适值 |
Mono: The assembly ... was not found | 缺少 Mono 运行时或文件路径不对 | 安装 mono-complete 并确认 exe 路径 |
UnsupportedClassVersionError | Java 版本不对 | 切换回 Java 8 |
- Java 8 (1.8.0_xxx)
- 路径无中文无空格
- 内存 >= 8 GB (推荐 32 GB)
- 线程数 <= 物理核心数
- Linux 下安装了 Mono
下面这张图总结了我们整个安装配置流程: