Skip to content

OpenMS/mzpeak

Repository files navigation

Language CI License Discord

mzPeak

A C++ library that implements the mzPeak file format for efficiently storing data acquired by a mass spectrometer.

mzPeak is a forthcoming standard format from HUPO-PSI. For more information please see:

About

The mzPeak C++ library provides both high- and low-level interfaces.

Most users will appreciate the high-level interface that abstracts away most of the underlying format details. This allows quick and easy access to the stored data without sacrificing efficiency.

Those who want to read or write proprietary or encrypted tables can use the low-level interface. If necessary, direct access to the Parquet reader and writer objects is provided.

NOTE: This is a work in progress, no stability is guaranteed at this point. Our current goal is to stabilize the API by the end of the summer (2026).

Features

  • Supports Linux, macOS, and Windows
  • Memory efficient, random access to stored data
  • Read local mzPeak files (zip archives or directories)
  • Transparently read mzPeak files from the cloud (summer 2026)
  • Automatic detection and decoding of data tables
  • Streaming writer interface (summer 2026)

Example Reader

#include <iostream>
#include <mzpeak.h>

void main() {
  auto index = MzPeak::open("test/files/small.mzpeak");
  auto spectrum = index.spectra()[0];

  for (auto& mz : spectrum.mz()) {
    std::cout << mz << std::endl;
  }
}

About

A C++ library that implements the mzPeak file format for efficiently storing data acquired by a mass spectrometer.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors