Expand description
Vendor-neutral DIA acquisition scheme (input/design side).
An AcquisitionScheme describes one DIA cycle as an ordered sequence of
physical events (AcquisitionEvent) and how that cycle tiles the
gradient (RepeatPolicy). It is the design counterpart to the
crate::sim::acquisition::AcquisitionWriter (output side): the simulator
generates scans for the scheme, and a writer materializes them.
The key modelling choice (per review) is that a physical acquisition unit
is explicit: AcquisitionEvent::DiaMs2Frame carries a Vec<DiaWindow>, so
a timsTOF MS2 frame holding several mobility-partitioned windows and a linear
Astral/SCIEX MS2 scan (one window) are both represented without overloading a
window_group id to imply simultaneity.
Structs§
- Acquisition
Scheme - A vendor-neutral DIA acquisition design.
- Activation
Condition - A fully-typed activation condition: what dissociation, at what energy, in
what unit. Produced by the acquisition’s activation policy from an event +
precursor context; consumed by a fragment predictor, which maps it into its
own feature encoding. This is deliberately NOT a bare
f64— seeEnergyUnit. - Activation
Policy - Vendor-neutral activation policy: the typed
ActivationConditionproducer for an acquisition. Pairs a dissociation method + energy unit with aCollisionEnergyModel. The Bruker timsTOF default reproduces the legacy CE numbers byte-for-byte; P6 supplies a Thermo policy with the same interface. - DiaMs2
Frame - One physical MS2 acquisition unit. Holds one window for Astral/SCIEX; several mobility-partitioned windows (sharing the frame) for timsTOF.
- DiaWindow
- One DIA isolation window within a frame.
- Instrument
Capabilities - What an instrument is physically capable of, used to gate vendor-specific behaviour WITHOUT using sampling geometry as a proxy. An Astral, for example, has quadrupole isolation (so isolation-window transmission still applies) but no TIMS mobility separation and no mobility-dependent quad isotope transmission — so only the latter two are gated off for it. Defaults are the Bruker timsTOF case (everything present) so existing behaviour is unchanged.
- Isolation
Window - An m/z isolation window (no ion mobility — see
DiaGeometry). - Ms1Event
- An MS1 (precursor) acquisition.
- Provenance
- Where the scheme came from (scheme-level attribution; not per-field).
Enums§
- Acquisition
Event - Activation
Method - Dissociation method used to activate precursors. Today the simulator only
models collisional activation (CID/HCD are treated identically by the
timsTOF-trained intensity models); the enum exists so activation type is
persisted and load-bearing rather than implicit, and so future
electron-based methods are representable.
Unknown= not recorded. - Analyzer
- Collision
Energy Model - How an acquisition’s collision energy is produced, as a vendor-neutral model.
Composes the existing per-window
CollisionEnergyPolicy(DIA / fixed CE, already DATA on each window) and adds the Bruker DDA-PASEF mobility-dependent form, so the DDA CE formula is an instrument decision instead of being hardcoded in the selection job. A Thermo NCE model becomes another variant (P6) without touching the selection code. - Collision
Energy Policy - How a window’s collision energy is determined.
- Data
Mode - DiaGeometry
- Window geometry: m/z only, or (timsTOF) an additional ion-mobility partition.
Mobility is kept off
IsolationWindowso “mobility on a non-IMS instrument” is unrepresentable. Scan numbers are Bruker-grid coordinates (they require the reference dataset’s calibration to map to physical mobility). - Energy
Unit - Unit a collision/activation energy is expressed in. A bare number is
meaningless across vendors: Bruker/SCIEX report an absolute lab-frame energy
(eV), Thermo reports a charge/m-z-normalized collision energy (NCE). Carrying
the unit makes conversions explicit and lets a
crate::simfragment predictor reject inputs it was not calibrated for instead of silently mis-encoding them. - Instrument
Kind - Repeat
Policy - How the cycle repeats over the gradient.
- Scheme
Source
Constants§
- SCHEME_
VERSION - Current scheme schema version.