#mass-spectrometry #peak #peaks #tolerance #machinery #spectral #centroid-peak

mzpeaks

A library representing peaks in mass spectrometry data

25 releases (2 stable)

1.0.1 Dec 24, 2024
0.23.0 Nov 10, 2024
0.17.0 Jul 12, 2024
0.11.0 Feb 21, 2024
0.1.0 Jul 31, 2021

#1 in #spectral

Download history 113/week @ 2024-09-18 136/week @ 2024-09-25 213/week @ 2024-10-02 283/week @ 2024-10-09 95/week @ 2024-10-16 86/week @ 2024-10-23 61/week @ 2024-10-30 228/week @ 2024-11-06 152/week @ 2024-11-13 280/week @ 2024-11-20 122/week @ 2024-11-27 93/week @ 2024-12-04 264/week @ 2024-12-11 243/week @ 2024-12-18 109/week @ 2024-12-25 46/week @ 2025-01-01

683 downloads per month
Used in 7 crates

Apache-2.0

295KB
8K 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

~93–305KB