Expand description

A library for representing chemical compositions, managing elemental formulae and generating (coarse) isotopic patterns.

Chemical Compositions

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);

Isotopic Distributions

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);

Re-exports

  • pub use crate::table::PERIODIC_TABLE;
  • pub use crate::table::PERIODIC_TABLE;

Modules

Structs

Enums

Constants

Traits

Functions