#chemical #pattern #representing #composition #elements #generate #isotopic

bin+lib chemical_elements

用于表示化学组成和生成同位素模式的库

3 个版本 (重大更新)

0.3.0 2023年12月26日
0.2.0 2021年9月5日
0.1.0 2021年8月10日

#170科学

每月21 次下载
用于 3 个crate(2个直接使用)

Apache-2.0

450KB
16K SLoC

用于表示化学组成、管理元素公式和生成(粗略)同位素模式的库。

化学组成

use chemical_elements::{ChemicalComposition, ElementSpecification};

let mut composition = ChemicalComposition::parse("H2O").unwrap();
composition["C"] = 6;
composition["O"] = 6;
composition["H"] = 12;
assert!((composition.mass() - 180.06339).abs() < 1e-6)

同位素分布

use chemical_elements::{ChemicalComposition, PROTON};
use chemical_elements::isotopic_pattern::isotopic_variants;
let composition = ChemicalComposition::parse("C34H53O15N7").unwrap();
// Use the guessed number of peaks
let peaks = isotopic_variants(&composition, 0, 1, PROTON);
for peak in peaks.iter() {
    println!("{}", peak);
}
assert!(peaks.len() == 10);

lib.rs:

用于表示化学组成、管理元素公式和生成(粗略)同位素模式的库。

化学组成

use chemical_elements::{ChemicalComposition, ElementSpecification};

let mut composition = ChemicalComposition::parse("H2O")?;
composition["C"] = 6;
composition["O"] = 6;
composition["H"] = 12;
assert!((composition.mass() - 180.06339).abs() < 1e-6);

同位素分布

use chemical_elements::{ChemicalComposition, PROTON};
use chemical_elements::isotopic_pattern::isotopic_variants;
let composition = ChemicalComposition::parse("C34H53O15N7")?;
// Use the guessed number of peaks
let peaks = isotopic_variants(composition, 0, 1, PROTON);
for peak in peaks.iter() {
println!("{}", peak);
}
assert_eq!(peaks.len(), 6);

依赖项

~0.6–1.2MB
~28K SLoC