Repository navigation
Built with zmz
zmz exists because I kept writing the same mzML layer for every tool I built. These are the tools that now share it. Each one uses a different slice of the library, which is a decent tour of what it can do.
mzValidate validates mzML files: XML syntax, mzML structure, binary integrity, index metadata, vocabulary semantics, and references, mostly in one streaming pass and without building a tree. A validator has to see the document exactly as written, so it works below the mzML model:
-
Eventsfor every element, attribute, and text run with its source byte offset, which is where each finding's location comes from; -
model.encodingTerm, so it classifies array encodings exactly as zmz's readers do; -
base64,zlib, andsha1to check binary payloads and the indexedmzML checksum without decoding into a model.
mzarc is a research codec that compresses mass-spectrometry spectra with domain-specific transforms. It needs the numbers fast and nothing else held in memory:
-
StreamReaderwith an array selector, so it decodes only the arrays it archives; -
DecodedArrays, reused for the whole file, so a run of any size compresses in flat memory; - the record helpers and
model.Termsfor the metadata each archived spectrum keeps.
Built something on zmz? Open an issue with a link and a line about what it does, and I'll add it here.
zmz | Changelog | Contributing | Security | Apache License 2.0
Start here
Using zmz
- Reading
- Ownership and lifetimes
- Indexed access
- Writing
- Binary arrays
- Metadata and parameters
- Vocabulary
When things go wrong
Under the hood