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

mzpeaks

A library representing peaks in mass spectrometry data

24 releases (1 stable)

new 1.0.0 Dec 13, 2024
0.23.0 Nov 10, 2024
0.22.0 Oct 14, 2024
0.17.0 Jul 12, 2024
0.1.0 Jul 31, 2021

#1 in #spectral

Download history 238/week @ 2024-08-23 236/week @ 2024-08-30 125/week @ 2024-09-06 131/week @ 2024-09-13 131/week @ 2024-09-20 108/week @ 2024-09-27 224/week @ 2024-10-04 290/week @ 2024-10-11 117/week @ 2024-10-18 40/week @ 2024-10-25 71/week @ 2024-11-01 260/week @ 2024-11-08 160/week @ 2024-11-15 235/week @ 2024-11-22 151/week @ 2024-11-29 60/week @ 2024-12-06

627 downloads per month
Used in 7 crates

Apache-2.0

290KB
7.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

~93–310KB