Skip to content

MaxQuant 2.7.5.0 User Guide

Overview

MaxQuant is a quantitative proteomics software package designed for analyzing large mass-spectrometric data sets. It is developed by Jürgen Cox and colleagues at the Max Planck Institute of Biochemistry and enables protein identification, quantification, and post-translational modification (PTM) analysis.

Version: 2.7.5.0 Category: Proteomics / Mass Spectrometry Official Website: https://www.maxquant.org/ Documentation: https://cox-labs.github.io/coxdocs/


Module Usage

Loading the Module

module load maxquant/2.7.5.0

This will: - Add MaxQuant binaries to your PATH - Create a maxquant wrapper command for easy execution - Require .NET 8 Runtime (already installed on all cluster nodes)

Verifying Installation

maxquant --help

Quick Start

Creating a Parameter File

MaxQuant uses XML parameter files (mqpar.xml) to define analysis settings:

maxquant --create \
  --newMqpar my_experiment.xml \
  --LCMSType "Bruker TIMS DDA" \
  --instrumentType "Q-Exactive HF" \
  --pathFasta /path/to/human.fasta \
  --pathRawFileFolder /path/to/raw_files/ \
  --useLFQ \
  --useMBR \
  --numThreads 16

Running MaxQuant

maxquant my_experiment.xml

This will: 1. Process raw mass spectrometry files 2. Perform peptide identification 3. Quantify proteins (LFQ, SILAC, isobaric labeling) 4. Detect PTMs 5. Generate output files in combined/txt/ directory


Common Workflows

Label-Free Quantification (LFQ)

# Create parameter file with LFQ enabled
maxquant --create \
  --newMqpar lfq_analysis.xml \
  --LCMSType "Bruker TIMS DDA" \
  --instrumentType "Q-Exactive HF" \
  --pathFasta /sw/databases/uniprot_human.fasta \
  --pathRawFileFolder /data/raw_files/ \
  --useLFQ \
  --lfqMinRatioCount 2 \
  --useMBR \
  --numThreads 20

# Run analysis
maxquant lfq_analysis.xml

SILAC Quantification

maxquant --create \
  --newMqpar silac_analysis.xml \
  --LCMSType "Bruker TIMS DDA" \
  --instrumentType "Orbitrap" \
  --pathFasta /sw/databases/uniprot_mouse.fasta \
  --pathRawFileFolder /data/silac_data/ \
  --silacType "2-plex" \
  --numThreads 16

maxquant silac_analysis.xml

Phosphoproteomics

maxquant --create \
  --newMqpar phospho_analysis.xml \
  --LCMSType "Bruker TIMS DDA" \
  --instrumentType "Q-Exactive Plus" \
  --pathFasta /sw/databases/human_phospho.fasta \
  --pathRawFileFolder /data/phospho/ \
  --PTM "Phospho (STY)" \
  --useLFQ \
  --numThreads 24

maxquant phospho_analysis.xml

DIA-NN Integration

MaxQuant 2.7+ supports spectral library-based DIA analysis:

maxquant --create \
  --newMqpar dia_analysis.xml \
  --LCMSType "DIA" \
  --instrumentType "timsTOF SCP" \
  --pathFasta /sw/databases/uniprot.fasta \
  --pathRawFileFolder /data/dia/ \
  --pathLibrary /data/msms.txt \
  --numThreads 32

maxquant dia_analysis.xml

Cluster Job Submission

Serial Job (Single Node)

#!/bin/bash
#SBATCH --job-name=maxquant
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=24
#SBATCH --mem=120G
#SBATCH --time=48:00:00
#SBATCH --partition=normal
#SBATCH --output=maxquant_%j.log

module purge
module load maxquant/2.7.5.0

# Set number of threads to match allocated CPUs
export MAXQUANT_THREADS=$SLURM_CPUS_PER_TASK

# Run MaxQuant
maxquant --changeParameter --numThreads $MAXQUANT_THREADS my_experiment.xml

High-Memory Job (Large Datasets)

#!/bin/bash
#SBATCH --job-name=maxquant_large
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=48
#SBATCH --mem=500G
#SBATCH --time=96:00:00
#SBATCH --partition=highmem
#SBATCH --output=maxquant_large_%j.log

module purge
module load maxquant/2.7.5.0

# Increase .NET memory limit
export DOTNET_GCHeapHardLimit=0x1F400000000  # 500 GB

maxquant --changeParameter --numThreads 48 large_experiment.xml

Output Files

MaxQuant generates comprehensive output in combined/txt/ directory:

Main Result Files

File Description
proteinGroups.txt Main protein quantification results
peptides.txt Peptide-level quantification
evidence.txt Evidence (identified MS/MS spectra)
msms.txt MS/MS identification details
summary.txt Run summary and statistics
parameters.txt Analysis parameters used

PTM-Specific Files

  • Phospho (STY)Sites.txt - Phosphorylation site table
  • Oxidation (M)Sites.txt - Oxidation events
  • Acetyl (K)Sites.txt - Acetylation sites

QC Files

  • proteinGroups.txt → PEP, Score, Intensity columns for filtering
  • summary.txt → MS/MS identification rate, peak width, mass accuracy

Resource Requirements

Typical Requirements by Dataset Size

Dataset Size Files CPUs RAM Time
Small 1-10 8-12 32 GB 2-6 hours
Medium 10-50 16-24 64-128 GB 12-24 hours
Large 50-200 24-48 128-256 GB 1-3 days
Very Large 200+ 48+ 256-512 GB 3-7 days

Scaling Guidelines

  • CPUs: MaxQuant scales well up to 48 cores
  • RAM: Minimum 4-8 GB per raw file, more for DIA/TIMS data
  • Storage: Temp space ~5-10x raw file size (use fast local scratch)

Advanced Configuration

Modifying Parameter Files

# Change a single parameter in existing XML
maxquant --changeParameter --numThreads 32 \
  --mqpar my_experiment.xml \
  --newMqpar my_experiment_modified.xml

# Set FASTA file programmatically
maxquant --changeParameter \
  --pathFasta /sw/databases/uniprot_2025.fasta \
  --mqpar original.xml \
  --newMqpar updated.xml

Using Custom FASTA Databases

MaxQuant searches against protein FASTA databases:

# Example FASTA locations
/sw/databases/uniprot_human_2025.fasta
/sw/databases/uniprot_mouse_2025.fasta
/sw/databases/swissprot_reviewed.fasta

# Include contaminants (recommended)
maxquant --changeParameter \
  --includeContaminants true \
  --mqpar my_experiment.xml

Troubleshooting

Common Issues

1. Out of Memory Errors

Error: System.OutOfMemoryException

Solution: Increase memory allocation or reduce dataset size:

#SBATCH --mem=256G
export DOTNET_GCHeapHardLimit=0xC800000000  # 200 GB

2. .NET Runtime Not Found

Error: dotnet command not found

Solution: .NET 8 should be pre-installed on all nodes. Verify:

dotnet --version  # Should show 8.0.20 or higher

3. Slow Performance

MaxQuant is CPU-intensive. Ensure: - Adequate thread allocation (--numThreads) - Fast I/O (use local scratch, not network storage) - Sufficient memory (avoid swapping)

4. File Permission Errors

Error: Access denied to raw files

Solution: Check file permissions:

chmod -R u+rw /path/to/raw_files/

Best Practices

Data Organization

project/
├── raw_files/          # Raw MS data (.raw, .d, .wiff)
├── fasta/              # Protein databases
├── mqpar/              # MaxQuant parameter files
├── results/            # Output (combined/txt/)
└── logs/               # Slurm logs

Reproducibility

  1. Save parameter files: Store mqpar.xml with version control
  2. Document FASTA versions: Note database release date
  3. Archive parameters.txt: MaxQuant saves all settings to output
  4. Record versions: Module, MaxQuant, and FASTA database

Performance Optimization

  1. Use local scratch: Copy raw files to /tmp before processing
  2. Parallel jobs: Split large experiments into smaller batches
  3. Appropriate thread count: 1-2 threads per raw file is optimal
  4. Memory monitoring: Check summary.txt for memory usage

Example: Complete Workflow

# 1. Prepare environment
module load maxquant/2.7.5.0
cd /data/my_project

# 2. Create parameter file
maxquant --create \
  --newMqpar experiment.xml \
  --LCMSType "Bruker TIMS DDA" \
  --instrumentType "timsTOF Pro" \
  --pathFasta /sw/databases/uniprot_human.fasta \
  --pathRawFileFolder ./raw_files/ \
  --useLFQ \
  --lfqMinRatioCount 2 \
  --useMBR \
  --numThreads 24

# 3. Submit job
sbatch <<EOF
#!/bin/bash
#SBATCH --job-name=proteomics
#SBATCH --cpus-per-task=24
#SBATCH --mem=120G
#SBATCH --time=24:00:00
#SBATCH --output=maxquant_%j.log

module load maxquant/2.7.5.0
maxquant experiment.xml
EOF

# 4. Monitor job
squeue -u $USER
tail -f maxquant_*.log

# 5. Check results
ls combined/txt/
head combined/txt/proteinGroups.txt

Additional Resources

Official Documentation

  • MaxQuant Website: https://www.maxquant.org/
  • Cox Lab Documentation: https://cox-labs.github.io/coxdocs/
  • Nature Protocol: https://www.nature.com/articles/nprot.2016.136
  • YouTube Channel: https://www.youtube.com/c/MaxQuantChannel

Bug Reporting

  • GitHub Issues: https://github.com/cox-labs/CoxLab_Bug_Reporting
  • Google Group: https://groups.google.com/g/maxquant-list

Citation

If you use MaxQuant, please cite:

Cox, J., & Mann, M. (2008). MaxQuant enables high peptide identification rates, individualized p.p.b.-range mass accuracies and proteome-wide protein quantification. Nature Biotechnology, 26(12), 1367-1372.


Version History

  • 2.7.5.0 (October 2025) - Current version with .NET 8 support, DIA improvements
  • 2.1.0.0 (May 2022) - Previous cluster installation (Windows-only)

For assistance, contact cluster administrators or consult the MaxQuant documentation.