Skip to main content

Crate chematic_perception

Crate chematic_perception 

Source
Expand description

chematic-perception — molecular perception algorithms.

Provides:

  • sssr: Smallest Set of Smallest Rings (SSSR) via Balducci-Pearlman algorithm.
  • aromaticity: Hückel aromaticity perception for kekulized molecules.

Re-exports§

pub use aromaticity::AromaticityAlgorithm;
pub use aromaticity::AromaticityModel;
pub use aromaticity::AtomElectronTrace;
pub use aromaticity::ConjugatedComponent;
pub use aromaticity::ContributionDecision;
pub use aromaticity::ContributionReason;
pub use aromaticity::PiEligibility;
pub use aromaticity::RingAromaticity;
pub use aromaticity::RingElectronTrace;
pub use aromaticity::all_ring_list;
pub use aromaticity::apply_aromaticity;
pub use aromaticity::apply_aromaticity_authoritative_experimental;
pub use aromaticity::apply_aromaticity_ex;
pub use aromaticity::aromatic_ring_list;
pub use aromaticity::assign_aromaticity;
pub use aromaticity::assign_aromaticity_authoritative_experimental;
pub use aromaticity::assign_aromaticity_ex;
pub use aromaticity::augmented_ring_set;
pub use aromaticity::build_conjugated_components;
pub use aromaticity::count_aromatic_rings;
pub use aromaticity::evaluate_atom_pi_contribution;
pub use aromaticity::exhaustive_aromaticity_oracle;
pub use aromaticity::ring_bonds_all_aromatic;
pub use aromaticity::trace_ring_pi_electrons;
pub use pharmacophore::Feature;
pub use pharmacophore::FeatureType;
pub use pharmacophore::detect_features;
pub use pharmacophore::features_to_bitvec;
pub use ring_family::RingFamily;
pub use ring_family::RingSystemKind;
pub use ring_family::find_ring_families;
pub use ring_family::find_ring_families_over;
pub use sssr::RingSet;
pub use sssr::find_sssr;
pub use stereo_validation::StereoCompleteness;
pub use stereo_validation::StereoError;
pub use stereo_validation::StereoErrorKind;
pub use stereo_validation::stereo_centers;
pub use stereo_validation::stereo_completeness;
pub use stereo_validation::validate_stereo;
pub use stereo2d::StereoAssignment2D;
pub use stereo2d::apply_stereo_from_2d;
pub use stereo2d::assign_ez_from_2d;
pub use stereo2d::assign_stereo_from_2d;
pub use stereo2d::cip_ez_descriptor;
pub use stereo2d_ez_direction::EzDirectionDiagnostic;
pub use stereo2d_ez_direction::EzDirectionRejectionReason;
pub use stereo2d_ez_direction::apply_ez_directions_from_2d;
pub use stereo2d_ez_direction::apply_ez_directions_from_2d_ex;
pub use stereo2d_ez_direction::apply_ez_directions_from_2d_with_diagnostics;
pub use stereo2d_local::StereoDiagnostic;
pub use stereo2d_local::StereoRejectionReason;
pub use stereo2d_local::apply_local_parity_from_wedges;
pub use stereo2d_local::apply_local_parity_from_wedges_with_diagnostics;
pub use stereo2d_local::local_parity_from_wedges;

Modules§

aromaticity
Hückel aromaticity perception with antiaromaticity detection.
cip_priority
v0.1.93: Full multi-sphere CIP (Cahn–Ingold–Prelog) priority comparison.
pharmacophore
Pharmacophore feature detection and fingerprinting.
ring_family
sssr
Smallest Set of Smallest Rings (SSSR) via Horton’s algorithm.
stereo2d
v0.1.93: Stereochemistry assignment from 2D coordinates with full CIP prioritization.
stereo2d_ez_direction
CIP-independent E/Z (double-bond cis/trans) direction from 2D coordinates – the double-bond counterpart to crate::stereo2d_local’s tetrahedral parity stage.
stereo2d_local
Local (CIP-independent) tetrahedral parity from wedge bonds and 2D coordinates.
stereo_validation
Stereochemistry quality validation.

Structs§

ValenceError
A valence violation on a specific atom.

Enums§

AromaticityError
Error from the RDKit-parity experimental aromaticity API.

Functions§

apply_aromaticity_rdkit_parity_experimental
Apply aromaticity using the RDKit-parity reference engine, returning a new Molecule with atom/bond flags set according to the computed model.
aromatize
Apply aromaticity to mol in-place (wrapper for apply_aromaticity).
assign_aromaticity_rdkit_parity_experimental
Assign aromaticity using the RDKit-parity reference engine (rdkit_parity_aromaticity, see the module doc comment).
is_fused_ring_system
Return true if the molecule contains a fused ring system.
is_macrocycle
Return true if ring is a macrocycle (>= 9 atoms).
kekulize_inplace
Convert mol to Kekulé form in-place (wrapper for kekulize + apply_kekule).
ring_membership
For each atom, return the list of SSSR ring indices that contain it.
ring_sizes_for_atom
Return the sizes of all SSSR rings that contain atom_idx.
validate_valence
Check every atom in mol for valence violations.