Skip to content

HUPO-PSI Recommendation · Working Draft

File Format Specification

An open, columnar, random-access file format for storing mass spectra, chromatograms, and rich instrument metadata. It is designed to succeed mzML for modern, large-scale mass spectrometry.

Status: Draft Version 0.9 - Draft 6 Built on Apache Parquet CC-BY-ND 4.0

This is a working draft

This document is a DRAFT under active revision and has not yet been ratified through the HUPO-PSI Document Process. Content, schemas, and controlled-vocabulary terms may change. Feedback is explicitly solicited, please open an issue.

Abstract

mzPeak is an open, next-generation file format for mass spectrometry data. Advances in MS instrumentation have sharply increased the volume and dimensionality. Established open formats struggle with the resulting file sizes, data-access patterns, and metadata demands. mzPeak is designed to address these needs as a community standard, the motivation and design rationale are set out in the accompanying white paper (1).

The on-disk structure is language-independent, but uses widely available libraries across many languages to decode a entries without parsing an entire run. It works with any byte storage, on local disk, object storage, or over HTTP. This document specifies that format: its container, data layouts, index file, and metadata model.

What you'll find here

  • Introduction


    Why mzPeak exists, what problems it solves, and a high-level tour of an archive.

    Overview & motivation

  • Foundations


    A short Parquet primer and how multiple Parquet files are bundled into one archive.

    Parquet & containers

  • Data Layouts


    Metadata tables, the array index, and the point & chunked signal layouts.

    Layouts

  • Archive Organization


    The mzpeak_index.json file, data kinds, and entity types that organise a run.

    The index file

  • File Schemas


    Concrete column-level schemas for spectra, chromatograms, and wavelength spectra.

    Schemas

  • Implementations


    The read/write libraries — Rust, Python, R, C#, Java, JavaScript/TypeScript, and C++.

    Implementations

  • Tools


    Converters, the conformance validator, browser viewers, and example data.

    Tools

  • Reference


    Glossary, bibliography, authorship, and the intellectual-property statement.

    Reference

Reference implementations

mzPeak is backed by seven independent, from-scratch implementations (not bindings to a single core):

See Implementations for details, and Tools for converters, the conformance validator, and viewers.

Status of this document

This document provides information to the proteomics community about the mzPeak file format. Distribution is unlimited. It will be ratified via the HUPO Proteomics Standards Initiative (PSI) Document Process, and any alterations must also follow the HUPO-PSI Document Process.

Version: Draft 6 of version 0.9