#[non_exhaustive]pub struct RunMetadata {Show 13 fields
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>,
pub extra: BTreeMap<String, String>,
}Expand description
Run-level metadata.
Vendors construct this once per file with RunMetadata::new and the
with_* setters. The mzML writer uses it to populate
<fileDescription>, <sourceFileList>, <instrumentConfigurationList>
and <softwareList>.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.source_file_name: StringThe source file name to put in <sourceFile name="...">. Typically
Path::file_name(); for directory-based formats (Bruker .d/,
Waters .raw/), the directory name. The <run id> is derived from
it (sanitized to a valid xs:ID).
source_file_format: CvTermPSI-MS CV term for the source file format, e.g.
("MS:1000563", "Thermo RAW format").
native_id_format: CvTermPSI-MS CV term for the native ID format used in native_id fields,
e.g. ("MS:1000768", "Thermo nativeID format").
instrument: CvTermInstrument 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: StringSoftware identifier (e.g. "opentfraw"). The <software id> is
derived from it (sanitized to a valid xs:ID); the unmodified name
is the value of the software’s MS:1000799 cvParam.
software_version: StringVersion of software_name.
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).
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. When empty, every
spectrum references the single default IC1.
extra: BTreeMap<String, String>Namespaced reader-specific values. Keys use <reader>.<field>.
Implementations§
Source§impl RunMetadata
impl RunMetadata
Source§impl RunMetadata
impl RunMetadata
Sourcepub fn with_source_file_name(self, value: impl Into<String>) -> Self
pub fn with_source_file_name(self, value: impl Into<String>) -> Self
Set source_file_name.
Sourcepub fn with_source_file_format(self, value: CvTerm) -> Self
pub fn with_source_file_format(self, value: CvTerm) -> Self
Set source_file_format.
Sourcepub fn with_native_id_format(self, value: CvTerm) -> Self
pub fn with_native_id_format(self, value: CvTerm) -> Self
Set native_id_format.
Sourcepub fn with_instrument(self, value: CvTerm) -> Self
pub fn with_instrument(self, value: CvTerm) -> Self
Set instrument.
Sourcepub fn with_instrument_serial_number(
self,
value: impl Into<Option<String>>,
) -> Self
pub fn with_instrument_serial_number( self, value: impl Into<Option<String>>, ) -> Self
Set instrument_serial_number. Accepts a value or an Option.
Sourcepub fn with_software_name(self, value: impl Into<String>) -> Self
pub fn with_software_name(self, value: impl Into<String>) -> Self
Set software_name.
Sourcepub fn with_software_version(self, value: impl Into<String>) -> Self
pub fn with_software_version(self, value: impl Into<String>) -> Self
Set software_version.
Sourcepub fn with_acquisition_software_name(
self,
value: impl Into<Option<String>>,
) -> Self
pub fn with_acquisition_software_name( self, value: impl Into<Option<String>>, ) -> Self
Set acquisition_software_name. Accepts a value or an Option.
Sourcepub fn with_acquisition_software_version(
self,
value: impl Into<Option<String>>,
) -> Self
pub fn with_acquisition_software_version( self, value: impl Into<Option<String>>, ) -> Self
Set acquisition_software_version. Accepts a value or an Option.
Sourcepub fn with_start_timestamp(self, value: impl Into<Option<String>>) -> Self
pub fn with_start_timestamp(self, value: impl Into<Option<String>>) -> Self
Set start_timestamp. Accepts a value or an Option.
Sourcepub fn with_mobility_array_kind(
self,
value: impl Into<Option<MobilityArrayKind>>,
) -> Self
pub fn with_mobility_array_kind( self, value: impl Into<Option<MobilityArrayKind>>, ) -> Self
Set mobility_array_kind. Accepts a value or an Option.
Sourcepub fn with_analyzers(self, value: Vec<Analyzer>) -> Self
pub fn with_analyzers(self, value: Vec<Analyzer>) -> Self
Set analyzers.
Sourcepub fn with_extra_map(self, value: BTreeMap<String, String>) -> Self
pub fn with_extra_map(self, value: BTreeMap<String, String>) -> Self
Set extra.