openaraw 0.1.3

Rust reader for Agilent MassHunter .d mass spectrometry directories.
Documentation

OpenARaw

CI crates.io PyPI docs.rs License: Apache-2.0 Rust MSRV

Part of the OpenMassSpec stack for mass spectrometry raw-file access. Sibling readers: OpenTFRaw (Thermo), OpenWRaw (Waters), OpenTimsTDF (Bruker).

Rust and Python reader for Agilent MassHunter .d mass spectrometry data directories, with no Agilent SDK or software dependency. Covers the modern AcqData MassHunter shape across Q-TOF (profile and centroid) and QQQ (MRM) acquisitions.

Documentation: sigilweaver.app/openaraw/docs

Install

Prefer openmassspec-io with the agilent feature/extra unless you need this parser standalone (minimal dependencies, or building your own abstraction) - the umbrella gives you format auto-detection, mzML conversion, and Arrow streaming across all wired-in vendors for free:

cargo add openmassspec-io --features agilent
pip install openmassspec[agilent]

Standalone:

Rust:

cargo add openaraw

Python:

pip install openaraw

Quickstart

Rust:

use openaraw::reader::Reader;
use openmassspec_core::SpectrumSource;

let mut reader = Reader::open("sample.d")?;
for spectrum in reader.iter_spectra() {
    println!("{}: {} peaks", spectrum.native_id, spectrum.mz.len());
}

Python:

import openaraw

reader = openaraw.RawReader("sample.d")
spectrum = reader.read_spectrum(0)
print(spectrum.ms_level, spectrum.retention_time_sec, len(spectrum.mz))

See the docs site for the full guide, format specification, and API reference.

License

Apache-2.0. See LICENSE.

The format specification was developed by binary analysis of public mass-spectrometry datasets (PRIDE accessions). See CORPUS.md and ATTRIBUTION.md.