Skip to main content

Crate sci_form

Crate sci_form 

Source
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:

§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§

AromaticityAnalysis
Aromaticity analysis summary from graph-level bond annotations.
ConformerClusterSummary
One RMSD-based cluster summary in a conformer-search ensemble.
ConformerConfig
Configuration for conformer generation.
ConformerEnsembleMember
One conformer entry in a ranked conformer-search ensemble.
ConformerResult
Result of a 3D conformer generation for a single molecule.
ConformerSearchResult
Result of a conformer-search workflow with UFF ranking and RMSD filtering.
GiaoNmrConfig
Configuration for the high-level GIAO NMR route.
GiaoNmrEntry
One isotope-specific shielding entry returned by the high-level GIAO API.
GiaoNmrResult
Result of a high-level SCF-backed GIAO NMR calculation.
GraphFeatureAnalysis
Combined structural graph feature analysis for UI/API consumers.
MethodCapability
Capability status for one operation on a given element set.
MethodComparisonEntry
One method row in the multi-method comparison workflow.
MethodComparisonResult
Structured comparison result for multiple methods on the same geometry/system.
MethodMetadata
Structured metadata for one method on a specific element set.
PropertyMethodPlan
Recommended method plan for one requested property domain.
StereocenterAnalysis
Graph-level stereocenter analysis.
SystemCapabilities
Capability summary for core operations on a given element set.
SystemMethodPlan
Full method-planning summary for a molecule element set.

Enums§

ElectronicWorkflowResult
Result of an electronic workflow with optional UFF fallback.
MethodComparisonPayload
Compact per-method payload for multi-method comparison.
MethodComparisonStatus
Execution status for one method inside a multi-method comparison run.
PropertyRequest
Property domain used when choosing a recommended computational method.
ScientificMethod
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.