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: StringThe 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: 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").
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
impl Clone for RunMetadata
Source§fn clone(&self) -> RunMetadata
fn clone(&self) -> RunMetadata
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more