Expand description
sci-form — computational chemistry library for conformer generation, quantum methods, spectroscopy, molecular properties, and materials science.
§Architecture
The crate is organized in layers from molecular construction up to derived properties:
- Parsing & topology —
smiles,graph,smarts,smirks,rings,topology - Geometry —
distgeom,etkdg,conformer,alignment,forcefield,optimization - Charges & surface —
charges,charges_eeq,dipole,surface,esp,population - Solvation —
solvation,solvation_alpb - Electronic structure —
scf,eht,pm3,xtb,hf,dos - Spectroscopy —
spectroscopy,ir,nmr - Neural potentials —
ani - ML & descriptors —
ml,reactivity - Materials —
materials,periodic - Transport & infra —
transport,gpu,mesh
§Coordinate convention
All coordinate arrays are flat [x0, y0, z0, x1, y1, z1, ...] in ångströms.
Element arrays are atomic numbers (u8): 1 = H, 6 = C, 7 = N, 8 = O, etc.
§Targets
The public surface is mirrored across four targets: Rust (this crate), Python (crates/python/),
WASM/TypeScript (crates/wasm/), and CLI (crates/cli/). Changes to public types or functions
must be propagated to all targets.
Modules§
- alignment
- Molecular alignment and RMSD calculation.
- ani
- ANI (Accurate NeurAl networK engINe) machine-learning potentials.
- canonical_
smiles - Canonical SMILES generation using the Morgan algorithm.
- charges
- Partial-charge solvers for molecular systems.
- charges_
eeq - EEQ (Electronegativity Equilibration) Charges — Core Module
- clustering
- Butina (Taylor-Butina) clustering for conformer ensembles.
- conformer
- dipole
- Molecular dipole moments from EHT results.
- dispersion
- DFT-D4 Dispersion Correction — Core Module
- distgeom
- dos
- Density of States (DOS) and Projected DOS (PDOS).
- dynamics
- eht
- Extended Hückel Theory (EHT) module.
- esp
- Electrostatic potential maps and .cube file I/O.
- etkdg
- experimental_
status - E4 – Experimental Module Validation & Retention Criteria
- forcefield
- Molecular force fields: UFF, MMFF94, ETKDG refinement, and minimization.
- gpu
- GPU-accelerated compute infrastructure for quantum chemistry and visualization.
- graph
- Molecular graph representation backed by
petgraph. - hf
- HF-3c: Minimal Hartree-Fock with composite corrections.
- ir
- IR Spectroscopy module: numerical Hessian, vibrational frequencies, and IR intensities.
- materials
- Crystallographic materials: unit cells, space groups, framework assembly, and periodic geometry optimization.
- mesh
- Generic orbital mesh generation for all electronic-structure methods.
- ml
- Lightweight ML property proxies.
- nmr
- NMR Spectroscopy module: chemical shift prediction and spectrum generation.
- optimization
- Generic numerical optimizers used internally by force fields and geometry refinement.
- periodic
- Periodic molecular graph support for 3D crystalline systems.
- pm3
- PM3 (Parameterized Model 3) semi-empirical method.
- population
- Population analysis: Mulliken, Löwdin, and Natural (NPA/NBO) partial charges.
- reactivity
- Frontier-orbital reactivity descriptors derived from EHT molecular orbitals.
- rings
- Smallest Set of Smallest Rings (SSSR) perception and ECFP fingerprints.
- scf
- Core SCF (Self-Consistent Field) engine.
- smarts
- SMARTS pattern parsing and substructure matching.
- smiles
- smirks
- SMIRKS reaction transform support.
- solvation
- Implicit solvation modeling: ASP non-polar solvation and Generalized Born (GB).
- solvation_
alpb - ALPB (Analytical Linearized Poisson-Boltzmann) Solvation — Core Module
- spectroscopy
- Advanced Spectroscopy — Core Module
- stereo
- Stereochemistry perception: CIP priority, R/S, and E/Z assignment.
- surface
- Surface analysis: solvent-accessible surface area and related properties.
- topology
- transport
- Batch transport layer for conformer results.
- xtb
- GFN0-xTB-inspired tight-binding method.
Structs§
- Aromaticity
Analysis - Aromaticity analysis summary from graph-level bond annotations.
- Conformer
Cluster Summary - One RMSD-based cluster summary in a conformer-search ensemble.
- Conformer
Config - Configuration for conformer generation.
- Conformer
Ensemble Member - One conformer entry in a ranked conformer-search ensemble.
- Conformer
Result - Result of a 3D conformer generation for a single molecule.
- Conformer
Search Result - Result of a conformer-search workflow with UFF ranking and RMSD filtering.
- Giao
NmrConfig - Configuration for the high-level GIAO NMR route.
- Giao
NmrEntry - One isotope-specific shielding entry returned by the high-level GIAO API.
- Giao
NmrResult - Result of a high-level SCF-backed GIAO NMR calculation.
- Graph
Feature Analysis - Combined structural graph feature analysis for UI/API consumers.
- Method
Capability - Capability status for one operation on a given element set.
- Method
Comparison Entry - One method row in the multi-method comparison workflow.
- Method
Comparison Result - Structured comparison result for multiple methods on the same geometry/system.
- Method
Metadata - Structured metadata for one method on a specific element set.
- Property
Method Plan - Recommended method plan for one requested property domain.
- Stereocenter
Analysis - Graph-level stereocenter analysis.
- System
Capabilities - Capability summary for core operations on a given element set.
- System
Method Plan - Full method-planning summary for a molecule element set.
Enums§
- Electronic
Workflow Result - Result of an electronic workflow with optional UFF fallback.
- Method
Comparison Payload - Compact per-method payload for multi-method comparison.
- Method
Comparison Status - Execution status for one method inside a multi-method comparison run.
- Property
Request - Property domain used when choosing a recommended computational method.
- Scientific
Method - Explicit computational method exposed by top-level planning APIs.
Functions§
- analyze_
graph_ features - Analyze aromaticity and graph-level stereocenters from a SMILES string.
- analyze_
stereo - Analyze stereochemistry: detect chiral centers (R/S) and E/Z double bonds.
- assemble_
framework - Assemble a framework crystal structure from node/linker SBUs on a topology.
- butina_
cluster - Cluster conformers using Butina (Taylor-Butina) algorithm based on RMSD.
- compare_
methods - Compare multiple supported methods on the same geometry/system.
- compute_
ani - Compute ANI neural-network potential energy (and optionally forces).
- compute_
ani_ with_ models - Compute ANI neural-network potential energy with custom config and pre-loaded models.
- compute_
bond_ orders - Compute Wiberg-like and Mayer-like bond orders from EHT.
- compute_
charges - Compute Gasteiger-Marsili partial charges from a SMILES string.
- compute_
charges_ configured - Compute Gasteiger-Marsili charges with configurable parameters.
- compute_
dipole - Compute molecular dipole moment (Debye) from atomic elements and positions.
- compute_
dos - Compute DOS/PDOS from EHT orbital energies.
- compute_
ecfp - Compute Extended-Connectivity Fingerprint (ECFP/Morgan).
- compute_
ecfp_ batch - Compute ECFP fingerprints for a batch of SMILES (parallelized with rayon when enabled).
- compute_
eht_ or_ uff_ fallback - Compute electronic properties with automatic fallback to UFF energy.
- compute_
empirical_ pka - Estimate acidic/basic pKa sites from graph environments and Gasteiger-charge heuristics.
- compute_
ensemble_ j_ couplings - Predict J-couplings averaged over a conformer ensemble using Boltzmann weighting.
- compute_
esp - Compute ESP grid from atomic elements, positions and Mulliken charges.
- compute_
esp_ grid - Compute ESP grid and return full result with values, origin, spacing and dimensions.
- compute_
frontier_ descriptors - Compute atom-resolved HOMO/LUMO frontier descriptors from EHT.
- compute_
fukui_ descriptors - Compute Fukui-function workflows and condensed per-atom descriptors from EHT.
- compute_
gb_ solvation - Compute Generalized Born electrostatic + non-polar solvation energy.
- compute_
giao_ nmr - Compute isotope-specific GIAO NMR shieldings using the public SCF route.
- compute_
giao_ nmr_ configured - Compute isotope-specific GIAO NMR shieldings using the public SCF route and explicit settings.
- compute_
hf3c - Run a complete HF-3c calculation (Hartree-Fock with D3, gCP, SRB corrections).
- compute_
hose_ codes - Generate HOSE codes for all atoms in a molecule.
- compute_
ir_ spectrum - Generate a Lorentzian-broadened IR spectrum from vibrational analysis.
- compute_
ir_ spectrum_ broadened - Compute IR spectrum with configurable broadening type.
- compute_
md_ trajectory - Run short exploratory molecular dynamics with Velocity Verlet (NVE-like).
- compute_
md_ trajectory_ nvt - Run short exploratory molecular dynamics with Velocity Verlet + Berendsen NVT thermostat.
- compute_
ml_ descriptors - Compute molecular descriptors for ML property prediction.
- compute_
mmff94_ energy - Compute MMFF94 force field energy for a molecule.
- compute_
nmr_ spectrum - Generate a complete NMR spectrum from SMILES.
- compute_
nmr_ spectrum_ with_ coords - Generate a complete NMR spectrum from SMILES and optional 3D coordinates. When coordinates are provided, vicinal ³J couplings use the Karplus equation.
- compute_
nonpolar_ solvation - Compute non-polar solvation energy from SASA and atomic solvation parameters.
- compute_
orbital_ mesh - Compute orbital isosurface mesh for visualization.
- compute_
pm3 - Run a PM3 semi-empirical calculation.
- compute_
pm3_ gradient - Compute PM3 analytical energy gradients.
- compute_
population - Compute Mulliken & Löwdin population analysis from atomic elements and positions.
- compute_
reactivity_ ranking - Build empirical reactivity rankings using condensed Fukui descriptors and Mulliken charges.
- compute_
rmsd - Compute RMSD between two coordinate sets after Kabsch alignment.
- compute_
rmsd_ matrix - Compute all-pairs RMSD matrix for a set of conformers.
- compute_
sasa - Compute solvent-accessible surface area from SMILES + 3D coordinates.
- compute_
simplified_ neb_ path - Build a simplified NEB path between two geometries.
- compute_
sssr - Compute the Smallest Set of Smallest Rings (SSSR).
- compute_
stda_ uvvis - Compute an sTDA UV-Vis spectrum with proper oscillator strengths.
- compute_
tanimoto - Compute Tanimoto similarity between two ECFP fingerprints.
- compute_
topology - Compute structured topology analysis for transition-metal coordination environments.
- compute_
tpsa - Compute Topological Polar Surface Area (TPSA) in Ų.
- compute_
uff_ energy - Compute UFF force field energy for a molecule.
- compute_
uff_ energy_ with_ aromatic_ heuristics - Compute UFF energy and apply an aromaticity-informed heuristic correction.
- compute_
uv_ vis_ spectrum - Build an exploratory UV-Vis-like spectrum from low-cost EHT transitions.
- compute_
vibrational_ analysis - Perform vibrational analysis via numerical Hessian.
- compute_
vibrational_ analysis_ uff - Perform vibrational analysis using UFF analytical Hessian.
- compute_
xtb - Run an xTB tight-binding calculation.
- compute_
xtb_ gradient - Compute xTB analytical energy gradients.
- create_
unit_ cell - Create a periodic unit cell from lattice parameters (a, b, c in Å; α, β, γ in degrees).
- embed
- Generate a 3D conformer from a SMILES string.
- embed_
batch - Batch-embed multiple SMILES in parallel.
- embed_
diverse - Generate multiple conformers for a SMILES and filter by Butina RMSD clustering.
- get_
eht_ support - Report EHT capability metadata for a given element list.
- get_
system_ capabilities - Report operation capability metadata for a given element list.
- get_
system_ method_ plan - Build a structured method plan with recommendations, fallback paths, and confidence scores.
- parse
- Parse a SMILES string and return molecular structure (no 3D generation).
- predict_
ensemble - Predict molecular properties using ensemble ML models.
- predict_
ml_ properties - Predict molecular properties using ML proxy models.
- predict_
nmr_ couplings - Predict J-coupling constants for a molecule.
- predict_
nmr_ shifts - Predict representative NMR chemical shifts from SMILES.
- predict_
nmr_ shifts_ for_ nucleus - Predict chemical shifts for a specific NMR nucleus from SMILES.
- search_
conformers_ with_ uff - Search conformers by sampling multiple embeddings, optimizing torsions, and ranking with UFF.
- to_
canonical_ smiles - Generate a canonical SMILES string from an input SMILES.
- version
- Library version string.