FragPipe vs MaxQuant, Measured: Same Six Runs, Same Known Answer (9 Minutes vs 62)
I ran FragPipe 24 (MSFragger 4.4.1 + IonQuant) and MaxQuant 2.8.1 on the same six Orbitrap runs of a three-species benchmark with known ratios. FragPipe finished in 8.9 minutes against 61.5, quantified 1.6–2.7× more proteins, and was more accurate on the proteins both tools quantified. What that does and does not mean, and the Linux setup traps.
Rewritten in October 2026. The earlier version of this post reported run times and identification counts that I could not trace back to a run I can show. They have been removed. Everything below comes from runs I did in October 2026 on public data, and the scripts and result tables are kept so each number can be reproduced.
The Short Version
Same six Orbitrap DDA runs, same FASTA, same modifications, 1% FDR, label-free quantification with match-between-runs (MBR) in both:
| MaxQuant 2.8.1 | FragPipe 24 (MSFragger 4.4.1 + IonQuant 1.11.20) | |
|---|---|---|
| Wall time (16 threads) | 61.5 min | 8.9 min (+1.6 min raw → mzML conversion) |
| PSMs per run | 38,000–41,500 | 66,000–70,100 |
| Peptide sequences (all runs) | 42,760 | 66,309 |
| Proteins quantified, human / yeast / E. coli | 2,896 / 907 / 132 | 4,605 / 1,817 / 359 |
| Same 3,877 proteins, within ±0.5 of truth | 98.9% / 92.2% / 80.9% | 99.7% / 99.2% / 97.7% |
On this dataset FragPipe was faster, identified more, quantified more, and was more accurate on the proteins both tools quantified. The extra proteins it alone quantified were the least reliable part of its output. Read the "what this does not show" section before generalising.
The Data and the Scoring
PRIDE PXD028735 (Van Puyvelde et al., Scientific Data 2022) mixes human, yeast and E. coli digests at known proportions, so every protein has a correct answer:
| Human | Yeast | E. coli | |
|---|---|---|---|
| Condition A | 65% | 30% | 5% |
| Condition B | 65% | 15% | 20% |
| Expected log2(B/A) | 0 | −1 | +2 |
I used three Orbitrap Q Exactive HF-X DDA runs per condition (120-minute gradient, one injection per preparation batch). The MaxQuant side of this comparison, including the column-by-column scoring and its own pitfalls, is in MaxQuant 2.8 proteinGroups.txt scored against a known answer.
Scoring is identical for both tools: a protein counts as quantified when it has a value in at least two of three runs per condition; log2(B/A) is the difference of mean log2 intensities; "within ±0.5" is the share of proteins whose ratio landed within 0.5 log2 units of the truth. MaxQuant was scored on LFQ intensity from proteinGroups.txt, FragPipe on MaxLFQ Intensity from combined_protein.tsv.
Settings
| MaxQuant | FragPipe (LFQ-MBR workflow) | |
|---|---|---|
| FASTA | UniProt Swiss-Prot human (20,431) + yeast (6,733) + E. coli (4,531) | same, plus Philosopher's contaminants and reversed decoys |
| Enzyme | Trypsin/P, 2 missed cleavages | strict trypsin, 2 missed cleavages |
| Fixed / variable mods | Carbamidomethyl C / Oxidation M, Acetyl protein N-term | same |
| FDR | 1% PSM, 1% protein | 1% PSM, ion, peptide, protein (picked) |
| Quantification | MaxLFQ (min. ratio count 2), MBR | IonQuant MaxLFQ, MBR |
| Input | Thermo .raw | mzML converted from the same .raw |
| Machine | Linux (WSL2), 16 threads | same |
Everything except the input format was each tool's default for label-free DDA, with the database and modifications matched. FragPipe read mzML because MSFragger's bundled Thermo reader is a Windows .NET Framework program; on this Linux machine without Mono I converted the raw files with ThermoRawFileParser (1.6 minutes for all six). I did not try running the Thermo reader through Mono.
Speed
| Step | Minutes |
|---|---|
| MSFragger search | 3.4 |
| MSBooster (predicted-spectrum rescoring) | 1.4 |
| Percolator | 1.2 |
| Philosopher filter + report | 0.9 |
| IonQuant (quantification + MBR) | 1.6 |
| FragPipe total | 8.9 |
| MaxQuant total | 61.5 |
MaxQuant's longest steps were retention-time alignment for MBR (9.2 min), the first search (6.7) and mass recalibration (5.7); no single step dominates. MSFragger's speed comes from its fragment-ion index: it searches all spectra against a pre-built index instead of scoring candidates one by one.
Six runs is a small job for both. A one-hour versus nine-minute difference stays at about the same ratio as the run count grows only if nothing else becomes the bottleneck, so treat the ratio as indicative.
Identifications
FragPipe accepted 66,000–70,100 PSMs per run against MaxQuant's 38,000–41,500 identified MS/MS, and 66,309 peptide sequences across the six runs against 42,760. Part of that gap is the pipeline, not only the search engine: FragPipe's default workflow rescored PSMs with predicted retention times and spectra (MSBooster) before Percolator, and MaxQuant does not do that step.
Protein group counts are harder to compare because the two tools group proteins differently. FragPipe's combined report held 7,937 protein groups; MaxQuant's proteinGroups.txt held 5,628 after removing decoys, contaminants and only-by-site groups.
Quantification Accuracy
Proteins quantified in at least two of three runs per condition (human / yeast / E. coli): MaxQuant 2,896 / 907 / 132, FragPipe 4,605 / 1,817 / 359 — 1.6 to 2.7 times more for FragPipe, with the biggest gain for the low-abundance E. coli proteins.
More proteins is only useful if the ratios are right. The fair test is the 3,877 proteins both tools quantified, matched on their leading accession:
| Same 3,877 proteins | Within ±0.5, MaxQuant | FragPipe | Median, MaxQuant | FragPipe |
|---|---|---|---|---|
| Human (0) | 98.9% | 99.7% | +0.14 | +0.01 |
| Yeast (−1) | 92.2% | 99.2% | −0.80 | −0.97 |
| E. coli (+2) | 80.9% | 97.7% | +2.13 | +1.96 |
Part of MaxQuant's gap is its normalisation: its LFQ moved the unchanged human proteins to +0.14, which pulls every ratio by the same amount. Centring each tool on its own human median removes that offset, and the picture barely changes for the hardest group — MaxQuant 99.4 / 96.9 / 82.4%, FragPipe 99.7 / 99.2 / 97.7%. For low-abundance E. coli proteins, FragPipe's ratios were simply tighter.
The 2,905 proteins that only FragPipe quantified were less accurate: 87% of the human, 78% of the yeast and 60% of the E. coli ones landed within ±0.5. That is the same pattern MBR showed in the MaxQuant run: extra coverage comes with weaker evidence. If a result depends on a protein only one tool quantifies, treat it with more caution.
What This Does Not Show
- One dataset, one instrument, default settings. Orbitrap DDA with a 120-minute gradient. Other instruments, gradients and sample types can change the ranking, and both tools have settings that could narrow the gap.
- Contaminant handling differs. MaxQuant's built-in contaminant list was removed (59 groups). The 46 contaminant entries Philosopher added to the FragPipe database carried no
contam_tag in this run, so none were flagged or removed; they are non-human proteins (sheep keratin, bovine and horse proteins and the like), so they fall outside the three scored species. - Protein grouping differs, so protein-group counts are not directly comparable. The accuracy comparison uses proteins matched by accession.
- Biological conclusions were not tested. This benchmark scores ratio accuracy. It does not show how many differentially abundant proteins each tool would call in a real study.
Setting Up FragPipe on Linux: Three Things That Stopped It
- diaTracer must be present even for DDA. FragPipe 24 in headless mode stopped with
DiaTracer path or version does not existalthough the workflow does not use diaTracer. MSFragger, IonQuant and diaTracer are separate downloads; put all three jars in the tools folder. - Sub-tools use the
javaon your PATH. With Java 21 inJAVA_HOMEbut Java 8 first onPATH, the first sub-step failed withUnsupportedClassVersionError. Put Java 17+ first onPATH. - ThermoRawFileParser's
-Lis the MS-level filter. I passed-L 1thinking it set logging; it wrote MS1-only files and MSFragger reportedScans = 0. Without-Lyou get all MS levels.
The headless call that worked:
export JAVA_HOME=/path/to/jdk-21 && export PATH=$JAVA_HOME/bin:$PATH
fragpipe --headless --workflow LFQ-MBR.workflow --manifest hye.fp-manifest --workdir out \
--config-tools-folder /path/to/tools --threads 16 --ram 48
The manifest is a tab-separated list of file, experiment, bioreplicate, DDA. Give each run its own experiment name if you want one MaxLFQ column per run.
Licences Matter More Than Speed for Some Readers
MSFragger, IonQuant and diaTracer are free under an academic, non-commercial licence and require registration with an academic email; commercial use needs a licence from Fragmatics. Check your situation before choosing a pipeline for company work. MaxQuant is a separate download with its own licence terms from the Max Planck Institute of Biochemistry.
FAQ
Which should I use?
On this benchmark FragPipe was faster and more accurate. If you are in academia and can use it, it is a strong default for label-free DDA. If you already have a validated MaxQuant pipeline, run both on a pilot set before switching; the differences that matter are the ones in your own data.
Is the speed gain real or just a small dataset?
It is real on this dataset (8.9 versus 61.5 minutes for six 3.5 GB runs). Most of FragPipe's time was outside the search itself, so on much larger studies other steps may set the pace.
Does FragPipe need mzML on Linux?
On this machine, yes, because the Thermo reader bundled with MSFragger is a .NET Framework program and Mono was not installed. Conversion took 1.6 minutes for six runs.
Can I compare MaxQuant's LFQ intensity with FragPipe's MaxLFQ Intensity directly?
They use the same idea (MaxLFQ) but different implementations and normalisations. Compare ratios between groups, not raw values between tools.
Data: PRIDE PXD028735. Van Puyvelde B, et al. A comprehensive LFQ benchmark dataset on modern day acquisition strategies in proteomics. Sci Data 2022;9:126. doi:10.1038/s41597-022-01216-6 (CC BY 4.0). All processing and counts are my own.
Software: Kong AT, et al. MSFragger: ultrafast and comprehensive peptide identification in mass spectrometry–based proteomics. Nat Methods 2017;14:513–520. Yu F, et al. IonQuant enables accurate and sensitive label-free quantification with FDR-controlled match-between-runs. Mol Cell Proteomics 2021;20:100077. Cox J, Mann M. Nat Biotechnol 2008;26:1367–1372. Cox J, et al. Mol Cell Proteomics 2014;13:2513–2526.
Related: MaxQuant 2.8 proteinGroups.txt scored against a known answer · How to Use MaxQuant · MaxQuant mistakes and a pre-flight checklist
관련 글
MaxQuant 2.8 proteinGroups.txt, Scored Against a Known Answer: LFQ vs iBAQ vs Intensity, and What Match-Between-Runs Adds
10월 7일 · 12 min read
ProteomicsA MaxQuant Run Took Me 10+ Hours on a Windows PC — the Checks I Now Do Before Pressing Start
10월 1일 · 7 min read
ProteomicsLC-MS/MS Proteomics 입문 — 샘플 준비부터 데이터 분석까지 완전 가이드 2026
5월 18일 · 22 min read
ProteomicsAfter DIA-NN 2.x: From report.parquet and pg_matrix to a Result You Can Publish (210 Public Runs, R)
10월 4일 · 12 min read