openproteo_core/lib.rs
1//! `openproteo-core` is the shared foundation for the open Rust mass-spec
2//! parsers (`opentfraw`, `opentimstdf`, `openwraw`).
3//!
4//! It exposes:
5//!
6//! * Vendor-neutral spectrum / chromatogram / run records:
7//! [`SpectrumRecord`], [`PrecursorInfo`], [`ChromatogramRecord`],
8//! [`RunMetadata`], [`CvTerm`].
9//! * Shared enums: [`Polarity`], [`ScanMode`], [`Analyzer`], [`MsPower`],
10//! [`Activation`].
11//! * A trait every vendor parser implements: [`SpectrumSource`].
12//! * One canonical mzML 1.1.0 writer: [`write_mzml`] and
13//! [`write_indexed_mzml`].
14//!
15//! Each vendor crate is a standalone tool (a user can pull in `opentfraw`
16//! alone and get parsing **and** mzML export); `openproteo-core` is the
17//! shared vocabulary that keeps the three parsers in lock-step.
18
19mod enums;
20mod error;
21mod mzml;
22mod source;
23mod types;
24
25#[cfg(feature = "arrow")]
26pub mod arrow;
27pub mod conformance;
28
29pub use enums::{Activation, Analyzer, MobilityArrayKind, MsPower, Polarity, ScanMode};
30pub use error::{Error, Result};
31pub use mzml::{write_indexed_mzml, write_mzml};
32pub use source::SpectrumSource;
33pub use types::{ChromatogramRecord, CvTerm, PrecursorInfo, RunMetadata, SpectrumRecord};
34
35/// Crate version (set from `Cargo.toml`).
36pub const VERSION: &str = env!("CARGO_PKG_VERSION");