bio_forge/lib.rs
1//! # BioForge
2//!
3//! **BioForge** is a pure-Rust molecular preparation engine that ingests experimental macromolecular files, reconciles them with curated residue templates, and emits topology-aware structures ready for simulation or analysis. The crate favors deterministic workflows, strong typing, and clean error surfaces so pipelines remain auditable from parsing to solvation.
4//!
5//! ## Features
6//!
7//! - **High-fidelity templates** – Embedded TOML templates for proteins, nucleic acids, and solvent ensure reproducible coordinates, elements, and bonding across runs.
8//! - **Ergonomic structure model** – Lightweight `Atom`, `Residue`, `Chain`, and `Structure` types backed by `nalgebra` power geometric manipulation and metadata-aware queries.
9//! - **Versatile I/O** – Buffered readers and writers for PDB, mmCIF, and MOL2 share a common context that normalizes residue aliases and captures precise diagnostics.
10//! - **Compositional operations** – Cleaning, repairing, hydrogenation, solvation, topology building, and transforms live under `ops`, producing interoperable results with a unified error type.
11//! - **Topology reconstruction** – `Topology` and `Bond` exports allow downstream force-field assignment or connectivity validation without re-parsing raw coordinates.
12
13mod db;
14mod model;
15
16pub mod io;
17pub mod ops;
18pub mod templates;
19
20pub use model::atom::Atom;
21pub use model::chain::Chain;
22pub use model::residue::Residue;
23pub use model::structure::Structure;
24pub use model::template::Template;
25pub use model::topology::{Bond, Topology};
26pub use model::types::{
27 BondOrder, Element, Point, ResidueCategory, ResiduePosition, StandardResidue,
28};