Chromatographic Models¶
Retention times and chromatographic behaviour of chemicals are controlled by the Column
classes. A column assigns each chemical an offset and optional drift that modifies its chromatogram.
Clean Columns¶
CleanColumn
applies reproducible offsets to all chemicals, keeping their elution order fixed. A simple example uses fixed offsets in minutes:
from vimms.Column import CleanColumn
column = CleanColumn.from_fixed_offsets([chemicals], 0.0, 1.0, 2.0)
Offsets can instead be sampled from normal or uniform distributions using from_gaussian_offsets
or from_uniform_offsets
.
Linear Drift¶
LinearColumn
extends CleanColumn
with a retention time drift function, allowing systematic shifts across injections. Provide either fixed offsets or a custom drift_fn
which returns the drift for a given ROI and injection index:
from vimms.Column import LinearColumn
col = LinearColumn.from_fixed_offsets(chemicals, start=0.0, step=1.0, drift=0.5)
Drift can help emulate column ageing or temperature effects between samples.
Empirical Chromatograms¶
Chemicals generated from mzML files use EmpiricalChromatogram
objects that reproduce observed intensities. You can also define functional chromatograms via distributions such as Gaussian or Gamma by creating FunctionalChromatogram
instances.
See vimms.Column
and vimms.Chromatograms
for complete details.