11 breaking releases

new 0.12.0 May 16, 2024
0.11.0 Feb 21, 2024
0.10.0 Feb 18, 2024
0.8.0 Dec 1, 2023
0.1.0 Jul 31, 2021

#312 in Data structures

Download history 18/week @ 2024-01-22 5/week @ 2024-01-29 146/week @ 2024-02-12 217/week @ 2024-02-19 100/week @ 2024-02-26 7/week @ 2024-03-04 128/week @ 2024-03-11 8/week @ 2024-03-18 21/week @ 2024-03-25 108/week @ 2024-04-01 37/week @ 2024-04-08 4/week @ 2024-04-15 15/week @ 2024-04-22 78/week @ 2024-04-29 107/week @ 2024-05-06

204 downloads per month
Used in 5 crates

Apache-2.0

130KB
3.5K SLoC

mzpeaks

Latest Version

mzpeaks implements the building blocks and machinery for representing peaks in a mass spectrum.

It's meant to be used as a building block for other tools and does not provide any I/O machinery for peak lists

Usage

use mzpeaks::{CentroidPeak, PeakSet, PeakCollection, Tolerance};

let peaks = PeakSet::new(vec![
    CentroidPeak::new(186.04, 522.0, 0),
    CentroidPeak::new(204.07, 9800.0, 1),
    CentroidPeak::new(205.07, 150.0, 2)
]);

assert_eq!(peaks.search(204.05, Tolerance::Da(0.02)).unwrap(), 1);

let peak = match peaks.has_peak(204.05, Tolerance::Da(0.02)) {
    Some(p) => p,
    None => panic!("Failed to retrieve peak!")
};

assert!((peak.mz - 204.07).abs() < 1e-6);

lib.rs:

mzpeaks implements the building blocks and machinery for representing peaks in a mass spectrum.

It's meant to be used as a building block for other tools and does not provide any I/O machinery for peak lists. For that, consider mzdata

use mzpeaks::{CentroidPeak, PeakSet, PeakCollection, Tolerance};

let peaks = PeakSet::new(vec![
    CentroidPeak::new(186.04, 522.0, 0),
    CentroidPeak::new(204.07, 9800.0, 1),
    CentroidPeak::new(205.07, 150.0, 2)
]);

assert_eq!(peaks.search(204.05, Tolerance::Da(0.02)).unwrap(), 1);

let peak = match peaks.has_peak(204.05, Tolerance::Da(0.02)) {
    Some(p) => p,
    None => panic!("Failed to retrieve peak!")
};

assert!((peak.mz - 204.07).abs() < 1e-6);

Dependencies

~180KB