25 个重大版本发布
0.26.0 | 2024 年 8 月 10 日 |
---|---|
0.25.0 | 2024 年 7 月 26 日 |
0.24.0 | 2024 年 7 月 18 日 |
0.13.0 | 2024 年 3 月 29 日 |
0.3.0 | 2021 年 7 月 23 日 |
#582 在 解析器实现
每月 353 次下载
用于 4 crates
1MB
26K SLoC
mzdata
一个用于读取质谱数据文件格式的 Rust 库。
快速入门
use std::fs;
use mzdata::prelude::*;
use mzpeaks::Tolerance;
use mzdata::MzMLReader;
use mzdata::spectrum::SignalContinuity;
fn main() {
let mut ms1_count = 0;
let mut msn_count = 0;
let reader = MzMLReader::new(fs::File::open("./test/data/small.mzML").unwrap());
for spectrum in reader {
if spectrum.ms_level() == 1 {
ms1_count += 1;
} else {
msn_count += 1;
}
println!("Scan {} => BP {}", spectrum.id(), spectrum.peaks().base_peak().mz);
if spectrum.signal_continuity() == SignalContinuity::Centroid {
let peak_picked = spectrum.into_centroid().unwrap();
println!("Matches for 579.155: {:?}", peak_picked.peaks.all_peaks_for(579.155, Tolerance::Da(0.02)));
}
}
println!("MS1 Count: {}\nMSn Count: {}", ms1_count, msn_count);
assert_eq!(ms1_count, 14);
assert_eq!(msn_count, 34);
}
支持的格式
mzML
和indexedmzML
MGF
mzMLb
- Thermo RAW
免责声明
该库部分是为了学习 Rust 而制作的,因此它可能不会使用首选的惯用方法、模式或库。欢迎提出建议。
依赖项
~7–36MB
~453K SLoC