Expand description
mzdata provides basic access to raw and processed mass spectrometry data formats in
Rust.
The library currently supports reading:
- MGF files using
MGFReaderinmzdata::io::mgf - mzML & indexedmzML files using
MzMLReaderinmzdata::io::mzml - mzMLb files using
MzMLbReaderinmzdata::io::mzmlb
and writing:
- MGF files using
MGFWriterinmzdata::io::mgf - mzML & indexedmzML files using
MzMLWriterinmzdata::io::mzml - mzMLb files using
MzMLbWriterinmzdata::io::mzmlb
It also includes a set of representation layers for spectra in mzdata::spectrum
§Example
use std::fs;
use mzdata::prelude::*;
use mzpeaks::{Tolerance, prelude::*};
use mzdata::io::MzMLReader;
use mzdata::spectrum::{SignalContinuity};
let reader = MzMLReader::new(fs::File::open("./test/data/small.mzML").unwrap());
for spectrum in reader {
println!("Scan {} => BP {}", spectrum.id(), spectrum.peaks().base_peak().mz);
if spectrum.signal_continuity() < SignalContinuity::Profile {
let peak_picked = spectrum.into_centroid().unwrap();
println!("Matches for 579.155: {:?}",
peak_picked.peaks.all_peaks_for(
579.155, Tolerance::Da(0.02)
)
);
}
}It uses mzpeaks to represent peaks and peak lists, and re-exports the basic types. While the high-level
types are templated on simple peak types, more complex, application-specific peak types can be substituted.
See mzdata::spectrum::bindata for more information about how to directly convert
data arrays to peak lists.
§Traits
The library makes heavy use of traits to abstract over the implementation details of different file formats.
These traits are included in mzdata::prelude.
Re-exports§
pub use crate::io::mgf::MGFError;pub use crate::io::mgf::MGFReader;pub use crate::io::mgf::MGFWriter;pub use crate::io::mzml::MzMLParserError as MzMLError;pub use crate::io::mzml::MzMLReader;pub use crate::io::mzml::MzMLWriter;pub use crate::io::mzml::MzMLWriterError;pub use crate::io::mzmlb::MzMLbError;pub use crate::io::mzmlb::MzMLbReader;pub use crate::io::mzmlb::MzMLbWriter;pub use crate::io::mzmlb::MzMLbWriterBuilder;pub use crate::io::mzmlb::MzMLbWriterError;pub use crate::params::Param;pub use crate::params::ParamList;pub use crate::spectrum::CentroidSpectrum;pub use crate::spectrum::RawSpectrum;pub use crate::spectrum::Spectrum;
Modules§
- Reading and writing mass spectrometry data file formats and abstractions over them.
- Metadata describing mass spectrometry data files and their contents.
- Elements of controlled vocabularies used to describe mass spectra and their components.
- A set of foundational traits used throughout the library.
- The data structures and components that represent a mass spectrum and how to access their data.
Macros§
- Delegates the implementation of
MSDataFileMetadatato an field - Assumes a field for the non-
Optionfacets of theMSDataFileMetadataimplementation are present.