Skip to main content

Crate koth_ms

Crate koth_ms 

Source
Expand description

koth_ff: A high-performance LC-MS feature finder for timsTOF and mzML data.

§Pipeline

  1. Hill detection – groups MS1 peaks across scans into chromatographic hills
  2. Feature finding – groups hills into isotope envelopes with charge state assignment
  3. Scoring – scores isotope pattern quality using the averagine model

§Quick start

use std::path::Path;
use koth_ms::{run_hills, run_features, run_scoring, config::KothConfig};

let config = KothConfig::default();
let input = Path::new("data.mzML");

let spectra = koth_ms::read_spectra(input, &config.file).unwrap();
let hills = run_hills(&spectra, &config.hills, &config.file);
let features = run_features(&hills, &config.features, &config.file).unwrap();
let scored = run_scoring(&features, &config.scoring, &config.features, config.file.polarity);

Re-exports§

pub use pipeline::group_ms2_hills_by_window;
pub use pipeline::run_pipeline;
pub use pipeline::run_pipeline_from_spectra;
pub use pipeline::run_pipeline_streaming;
pub use pipeline::run_pipeline_streaming_from_spectra;
pub use pipeline::run_pipeline_with_ms2;
pub use pipeline::FeatureFindingOutput;
pub use pipeline::PipelineOptions;
pub use pipeline::PipelineSink;
pub use models::Feature;
pub use models::Hill;
pub use models::IsolationWindow;
pub use models::Polarity;
pub use models::ScoredFeature;
pub use models::Spectrum;

Modules§

alignment
config
error
features
hills
input
io
lfq
mem
models
output
pipeline
In-process / streaming feature-finding API.
scoring
stats
Small shared numeric helpers.

Constants§

VERSION
Crate version with the git commit it was built from, e.g. 0.1.0 (a1b2c3d4e5f6), or 0.1.0 (a1b2c3d4e5f6-dirty) when the working tree had uncommitted changes.

Functions§

read_spectra
Read MS1 spectra from an mzML file or Bruker .d directory.
run_features
Stage 2: Detect isotope features from hills.
run_hills
Stage 1: Detect chromatographic hills from MS1 spectra.
run_hills_streaming
Stage 1 (streaming): Detect hills from mzML, Bruker .d, or Thermo .raw using bounded spectrum buffers. Completed hills are retained for assembly; native readers also retain scan metadata. Decoy shuffling and optional TIC normalization still collect spectra. Gzipped mzML is decompressed as it is parsed, never held whole in memory.
run_ms2_hills_streaming
Stage 1 (MS2): Detect MS2 hills partitioned by the precursor isolation window of each MS2 spectrum (DIA channels).
run_scoring
Stage 3: Score isotope features using the averagine model.