Expand description
koth_ff: A high-performance LC-MS feature finder for timsTOF and mzML data.
§Pipeline
- Hill detection – groups MS1 peaks across scans into chromatographic hills
- Feature finding – groups hills into isotope envelopes with charge state assignment
- 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), or0.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.rawusing 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.