Skip to main content

RunMetadata

Struct RunMetadata 

Source
pub struct RunMetadata {
    pub source_file_name: String,
    pub source_file_format: CvTerm,
    pub native_id_format: CvTerm,
    pub instrument: CvTerm,
    pub instrument_serial_number: Option<String>,
    pub software_name: String,
    pub software_version: String,
    pub acquisition_software_name: Option<String>,
    pub acquisition_software_version: Option<String>,
    pub start_timestamp: Option<String>,
    pub mobility_array_kind: Option<MobilityArrayKind>,
    pub analyzers: Vec<Analyzer>,
}
Expand description

Run-level metadata.

Vendors construct this once per file. The mzML writer uses it to populate <fileDescription>, <sourceFileList>, <instrumentConfigurationList> and <softwareList>.

Fields§

§source_file_name: String

The source file name to put in <sourceFile name="...">. Typically Path::file_name(); for directory-based formats (Bruker .d/, Waters .raw/), the directory name.

§source_file_format: CvTerm

PSI-MS CV term for the source file format, e.g. ("MS:1000563", "Thermo RAW format").

§native_id_format: CvTerm

PSI-MS CV term for the native ID format used in native_id fields, e.g. ("MS:1000768", "Thermo nativeID format").

§instrument: CvTerm

Instrument CV term. Vendors resolve this from their own model lookup.

§instrument_serial_number: Option<String>

Serial number of the physical instrument, when the vendor’s metadata exposes one. Emitted as MS:1000529 (“instrument serial number”) on the default instrumentConfiguration.

§software_name: String

Software identifier (e.g. "opentfraw").

§software_version: String§acquisition_software_name: Option<String>

Name of the original vendor acquisition software that recorded this run (e.g. "Xcalibur", "MassHunter", "Analyst", "LabSolutions"), when the vendor’s own instrument-method metadata exposes one. This is distinct from software_name/software_version above, which identify the vendor-reader crate producing this mzML, not the instrument-control software that acquired the data. None when the vendor parser does not decode this information. Emitted as a second <software> entry in <softwareList> when present.

§acquisition_software_version: Option<String>

Version string for acquisition_software_name, when known. Ignored if acquisition_software_name is None.

§start_timestamp: Option<String>

Instrument acquisition start time (RFC 3339), when available.

§mobility_array_kind: Option<MobilityArrayKind>

Interpretation of any per-peak ion mobility array carried by the spectra in this run. None is treated as the Bruker convention (MobilityArrayKind::InverseReducedVsPerCm2) for back-compat.

§analyzers: Vec<Analyzer>

Physical mass-analyzer components this instrument has, in a stable order. Static instrument configuration, not derived from scan data - vendors already resolve instrument from a model lookup, so this is the same kind of fixed lookup.

Each entry gets its own <instrumentConfiguration> (in addition to the default IC1 built from instrument), and any spectrum whose SpectrumRecord::analyzer matches one of these gets an instrumentConfigurationRef pointing at it, so hybrid instruments (e.g. quad/ion-trap MS2 vs Orbitrap MS1 on a Fusion) preserve per-scan analyzer identity. Leave empty to keep the previous single-IC1-for-everything behavior.

Trait Implementations§

Source§

impl Clone for RunMetadata

Source§

fn clone(&self) -> RunMetadata

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RunMetadata

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.