环境搭建:Windows/Linux 下 MaxQuant 安装与初次验证

MaxQuant 这款软件,说实话,依赖环境不算复杂,但细节不少。我刚开始接触时也踩过坑——明明装好了,一跑就崩,日志里全是 .NET 的报错。后来才明白,问题出在版本匹配上。这一章咱们把环境搭建捋清楚,从 Windows 到 Linux,一次性搞定。

核心原则:MaxQuant 是 .NET 应用,Windows 下依赖 .NET Framework,Linux 下依赖 Mono。版本不对,一切白费。

环境概览:一张图看清依赖关系

先放一张整体结构图。环境搭建说白了就是让 MaxQuant 能正常调用底层库。Windows 和 Linux 的路径不同,但最终目标一致。

MaxQuant 环境依赖结构图 MaxQuant 核心程序 Windows 平台 Linux 平台 .NET Framework 4.7.2+ VC++ Redistributable 运行验证:启动 GUI 无报错 Mono 6.12+ 完整版 libgdiplus + 中文字体 运行验证:命令行无崩溃 完成:可运行 MaxQuant 注意 Linux 下性能 明显低于 Windows

这张图把两边的依赖关系都标出来了。我这个结构图,你在实际操作时可以直接对照。哪个环节报错,就回头看对应的节点。

Windows 下安装:.NET Framework 与 VC++

Windows 是最省心的平台。说白了,MaxQuant 本身就是一个 Windows 原生 .NET 应用。我个人习惯先装好 .NET Framework,再处理 VC++ 运行库。

第一步:检查 .NET Framework 版本

按下 Win + R,输入 regedit,定位到:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full

查看 Release 的值。如果是 461814 或以上,说明已安装 4.7.2 或更高版本,满足要求。如果数字小于 461814,需要手动更新。

注意:Windows 7 最高只支持 .NET Framework 4.8,但需要提前安装 KB4457143 补丁。我遇到过一次,用户系统是 Win7 SP1 但没打补丁,装完 4.8 之后程序直接打不开。解决方案很简单:先装补丁,重启,再装 .NET。

第二步:安装 VC++ Redistributable

MaxQuant 的某些计算库依赖 Visual C++ 运行库。直接下载最新的 VC_redist.x64.exe 安装即可。这个一般不会出问题,但我遇到过一例——用户装了多个版本的 VC++ 运行库,结果冲突了。直接卸载旧版本,只保留最新的 2015-2022 合辑版。

第三步:解压 MaxQuant 并启动

从官网下载的压缩包是 MaxQuant_2.6.7.0.zip 之类的,注意不要解压到中文路径或带空格的目录。我一般放在 C:\MaxQuant 或 D:\Tools\MaxQuant。

双击 MaxQuant.exe。初次启动可能出现一个防火墙提示,允许即可。正常情况会弹出主界面。如果卡在某个界面不退,八成是 .NET 版本不对。

Linux 下安装:Mono 是你唯一的伙伴

Linux 用户注意了——MaxQuant 没有原生 Linux 版,全靠 Mono 跑。说白了,Mono 就是个 .NET 的模拟器。我早期在 Ubuntu 上折腾过好几次,内存占用高是常事,但好在能用。

第一步:安装 Mono 完整版

使用官方源。Ubuntu/Debian 系统执行:

sudo apt update
sudo apt install mono-complete

安装完成后验证版本:

mono --version

输出类似这样:

Mono JIT compiler version 6.12.0.200 (tarball Tue Jun 14 00:56:47 UTC 2022)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
        TLS:           __thread
        SIGSEGV:       altstack
        GC:            sgen (concurrent by default)

注意版本号要在 6.12 以上。如果低于这个版本,MaxQuant 的某些图形界面组件会崩溃。

经验之谈:我在 CentOS 上用 yum install mono-complete 装过一次,默认源版本太旧。最后只能编译安装 6.12。你如果是 RHEL 系,建议直接加 mono-project 的官方源。

第二步:安装 libgdiplus 和中文字体

MaxQuant 的图形界面依赖 libgdiplus。没有它,启动时大概率卡死或报错。同时,你还得装中文字体,否则图表上的中文全是方框。

sudo apt install libgdiplus
sudo apt install fonts-wqy-zenhei fonts-wqy-microhei

检查 libgdiplus 是否正常:

ldconfig -p | grep gdiplus

如果有输出,就说明装好了。我在团队里曾见过有人跳过这步,结果运行 MaxQuant.exe 后界面一片空白。当时排查了好久才发现是 libgdiplus 缺失。

第三步:运行 MaxQuant(命令行模式)

Linux 下直接双击 .exe 不现实,用命令行才是正道:

mono MaxQuant.exe

这样会启动 GUI,但有时候远程服务器没有显示环境,你就需要用纯命令行模式:

mono MaxQuantCmd.exe

如果出现 System.TypeInitializationException 之类的报错,多半是 Mono 版本问题,或者缺少软件包。别慌,把完整的错误日志贴到搜索引擎上。

初次运行验证:确保一切就绪

无论是 Windows 还是 Linux,安装完环境后都要做一次冒烟测试。嗯,这里要注意:不是启动后看一眼界面就完事了,得验证它真的能跑参数搜索。

Windows 下的验证步骤

  1. 启动 MaxQuant.exe,看到主界面无异常提示。
  2. 准备一个极小的测试数据(比如只包含 1~2 个 RAW 文件)。
  3. 点击 Run 按钮,选择测试数据路径。
  4. 观察输出日志:没有 FATAL 或 EXCEPTION 字样。
  5. 任务完成后检查结果文件夹下是否生成 combined 子目录。

我个人习惯用一组已知能跑通的小数据做测试。以前有同事跳过这步,直接上大样本,结果跑了三天后崩溃,所有计算浪费了。所以,初次验证一定用迷你数据集。

Linux 下的验证步骤

  1. 在终端执行 mono MaxQuantCmd.exe <参数>,使用命令行模式。
  2. 准备对应的参数 mqpar.xml 配置文件。
  3. 运行时打开另一个终端,用 top 或 htop 监控内存和 CPU 占用。
  4. 程序运行无崩溃,日志末尾显示 Finished successfully。
一个小技巧:Linux 下如果启动卡死,试试先设置环境变量 export MONO_GC_PARAMS=nursery-size=32m,这能缓解某些 Mono 版本的内存管理问题。

常见问题与避坑指南

这里整理了几类我反复遇到的故障,直接做成清单,方便你对照排查。

症状 原因 解决方案
Windows 下启动报错 "Could not load file or assembly 'System'" .NET Framework 版本不足 安装 .NET Framework 4.7.2 或更高版本
Windows 下界面空白 VC++ 运行库缺失或冲突 卸载老旧版本,安装最新 VC++ Redistributable
Linux 下启动提示 "System.Drawing.Common" 异常 libgdiplus 未安装 sudo apt install libgdiplus
Linux 下中文显示方块 缺少中文字体 安装 wqy-zenhei 或 wqy-microhei
Linux 下运行卡死、内存溢出 Mono 版本问题或 GC 配置不对 升级 Mono 到 6.12+,设置 MONO_GC_PARAMS
命令行模式下日志无输出 输出重定向被阻断 使用 mono MaxQuantCmd.exe 2>&1 | tee log.txt

我曾经遇到一个特别隐蔽的问题:Linux 下用 screen 会话运行 MaxQuant 命令行,断开后程序直接终止。嗯,这是因为 screen 默认会发送 SIGHUP。解决方案是用 nohup 或者 tmux 持久化会话。

性能警示:Linux 下通过 Mono 运行 MaxQuant,性能大约只有 Windows 原生的 60%~70%。如果你的数据量很大(比如超过 50 个 RAW 文件),我强烈建议使用 Windows 环境处理。Linux 更适合做快速测试或脚本批量提交。

初次运行验证的检查清单

最后,给一份简明检查清单,你可以贴在显示器旁边,安装完成后逐项打勾。

  • Windows 下安装了 .NET Framework 4.7.2 或更高版本
  • Windows 下安装了最新 VC++ 2015-2022 Redistributable
  • MaxQuant 解压路径不含中文字符和空格
  • Linux 下安装了 Mono 6.12 或更高版本
  • Linux 下安装了 libgdiplus 和 wqy-* 中文字体
  • Windows 下双击 MaxQuant.exe 启动无崩溃
  • Linux 下 mono MaxQuantCmd.exe 命令行运行无异常
  • 使用小数据集执行一次完整搜索,输出结果文件夹正常生成