A Rust library for reading mass spectrometry data file formats.
```rust use std::fs::File; use mzdata::io::prelude::; use mzpeaks::{MassErrorType, prelude::}; use mzdata::io::MzMLReader; use mzdata::spectrum::{SignalContinuity};
let reader = MzMLReader::new(File::open("./test/data/small.mzML").unwrap()); for spectrum in reader { println!("Scan {} => BP {}", spectrum.id(), spectrum.peaks().basepeak().mz); if spectrum.signalcontinuity() < SignalContinuity::Profile { let peakpicked = spectrum.intocentroid().unwrap(); println!("Matches for 579.155: {:?}", peakpicked.peaks.allpeaks_for(579.155, 0.02, MassErrorType::Absolute)); } } ```
mzML
and indexedmzML
This library was made in part to learn Rust, so it may not use the preferred idioms, patterns, or libraries. Any recommendations are welcome.