Skip to main content

Python API

The openaraw wheel exposes a small, eager reader built on the same Rust core as the Rust reader. Install it with pip install openaraw (or pip install openmassspec[agilent] for the umbrella).

import openaraw

reader = openaraw.RawReader("sample.d")

Opening a RawReader parses the .d directory and decodes every spectrum up front into memory, so construction is where the work happens and subsequent access is cheap. For streaming access over very large acquisitions, use the Rust reader's iter_spectra instead.

RawReader

MemberTypeDescription
RawReader(path)constructorOpen and fully decode the .d directory at path
scan_countintNumber of decoded spectra
read_spectrum(index)SpectrumThe spectrum at zero-based index (raises if out of range)
print(reader.scan_count)
for i in range(reader.scan_count):
spectrum = reader.read_spectrum(i)
...

Spectrum

AttributeTypeDescription
mzlist[float]m/z values (float64)
intensitylist[float]Intensities (float32)
ms_levelintMS level (1 for MS1, 2+ for MS/MS)
retention_time_secfloatRetention time in seconds

len(spectrum) returns the peak count. See Scan data for how mz/intensity are derived from the on-disk profile and centroid records.

spectrum = reader.read_spectrum(0)
print(spectrum.ms_level, spectrum.retention_time_sec, len(spectrum))
mz, intensity = spectrum.mz, spectrum.intensity

Next