Skip to content

Benchmarks ​

How mzPeak's size and access claims were measured, and how to reproduce them. The headline figures come from the peer-reviewed white paper (Van Den Bossche et al., J. Proteome Res. 2025 — see How to cite); the public corpus is the reproducible artifact: every dataset ships each .mzpeak alongside its original, so anyone can re-measure the ratios.

Compression — per instrument ​

File size of the mzPeak archive as a fraction of the equivalent mzML (lower is better), across seven instrument classes. Peak type (profile / centroid) is preserved on conversion, so these are lossless conversions, not down-sampling.

InstrumentmzMLmzPeakmzPeak ÷ mzML
Thermo LTQ FT Ultra (FT-ICR)30.2 MB5.5 MB0.18×
Thermo Orbitrap Velos429.2 MB101.5 MB0.24×
Thermo Fusion Lumos588.6 MB156.5 MB0.27×
Thermo LTQ XL (ion trap)173.5 MB55.6 MB0.32×
Bruker timsTOF Pro1386.5 MB677.2 MB0.49×
Thermo Orbitrap Astral6118.4 MB3359.4 MB0.55×
SCIEX ZenoTOF 760089.8 MB50.9 MB0.57×

Across this set, mzPeak is 0.18×–0.57× of the equivalent mzML, averaging ~0.37× — and since mzML is XML text that frequently inflates past the vendor RAW file, mzPeak also lands below the original RAW.

Compression — whole corpus ​

Across the broader corpus, mzPeak is on average about 53 % of the original file it was made from — the vendor RAW where available, else the source mzML — and far smaller for imaging and study-design data. (mzML, by contrast, routinely exceeds 100 % of RAW.)

mzPeak compression by dataset family (n = 50 datasets): mzPeak averages 53% of the original file — study-design ~35%, imaging ~44%, general MS ~51%, TOF/IMS ~69%

Random access ​

mzPeak stores spectra in Apache Parquet inside a ZIP, with a small JSON index — so a reader can fetch one spectrum from a multi-GB file directly over HTTP range requests, without downloading the whole file. The white paper reports opening a 3 GB file and reading a spectrum in under ~2 s (local and from remote object storage). The full test setup — hardware, network, reader version, and query definition — is in the paper; treat the corpus below as the reproducible size/access artifact rather than a re-statement of those timings.

Reproduce it yourself ​

  1. Pick any dataset from the public corpus — ~79 real datasets across six vendors and seven instrument classes, each .mzpeak next to its original.
  2. Compare the file sizes directly (the index lists both).
  3. Convert your own mzML with mzML2mzPeak and measure the result — conversion is lossless (shared PSI-MS controlled vocabulary).
  4. Stream a single spectrum over HTTP with the mzPeak Viewer or any reference library to see range-based random access in action.

Methodology and the primary measurements are documented in the white paper (10.1021/acs.jproteome.5c00435).

An open HUPO-PSI community format.