Skip to main content

Module scheme

Module scheme 

Source
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§

AcquisitionScheme
A vendor-neutral DIA acquisition design.
ActivationCondition
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 — see EnergyUnit.
ActivationPolicy
Vendor-neutral activation policy: the typed ActivationCondition producer for an acquisition. Pairs a dissociation method + energy unit with a CollisionEnergyModel. The Bruker timsTOF default reproduces the legacy CE numbers byte-for-byte; P6 supplies a Thermo policy with the same interface.
DiaMs2Frame
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.
InstrumentCapabilities
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.
IsolationWindow
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§

AcquisitionEvent
ActivationMethod
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
CollisionEnergyModel
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.
CollisionEnergyPolicy
How a window’s collision energy is determined.
DataMode
DiaGeometry
Window geometry: m/z only, or (timsTOF) an additional ion-mobility partition. Mobility is kept off IsolationWindow so “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).
EnergyUnit
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::sim fragment predictor reject inputs it was not calibrated for instead of silently mis-encoding them.
InstrumentKind
RepeatPolicy
How the cycle repeats over the gradient.
SchemeSource

Constants§

SCHEME_VERSION
Current scheme schema version.