Expand description
chematic-core — core cheminformatics types for the chematic ecosystem.
Provides:
Element: periodic-table element indexed by atomic number.Atom: a single atom with element, charge, isotope, aromaticity, chirality.BondOrder/BondEntry: bond types and graph edges.Molecule/MoleculeBuilder: undirected molecular graph (no external graph lib).implicit_hcount: valence-based implicit hydrogen count for organic-subset atoms.kekulize/apply_kekule: assign alternating single/double bonds to aromatic systems.
§Design principles
- Pure Rust, no C/C++ FFI, no unsafe.
- Zero external dependencies: compiles to wasm32-unknown-unknown without modification.
- Domain-aware abstractions: graph types carry chemical semantics, not just topology.
Re-exports§
pub use atom::Atom;pub use atom::CipCode;pub use atom::Chirality;pub use bond::BondEntry;pub use bond::BondOrder;pub use element::Element;pub use kekulization::KekuleError;pub use kekulization::KekuleResult;pub use kekulization::apply_kekule;pub use kekulization::kekulize;pub use molecule::AtomIdx;pub use molecule::BondIdx;pub use molecule::MolError;pub use molecule::Molecule;pub use molecule::MoleculeBuilder;pub use valence::bond_order_sum;pub use valence::implicit_hcount;pub use valence::total_hcount;
Modules§
- atom
- Atom type: a single atom in a molecule.
- bond
- Bond types and the bond-entry struct for molecular graphs.
- element
- Periodic-table elements indexed by atomic number (1–118).
- kekulization
- Kekulization: assign alternating single/double bonds to aromatic systems.
- molecule
- Molecule graph: atoms, bonds, and adjacency list.
- valence
- Valence model: implicit hydrogen count for organic-subset atoms.