ferritin_core/lib.rs
1//! # ferritin-core
2//!
3//! A library for working with biomolecular structure files and performing common operations.
4//!
5//! __ferritin-core__ provides functionality for:
6//! * Reading and writing common biomolecular file formats (PDB, mmCIF, etc.)
7//! * Selecting atoms and residues based on various criteria
8//! * Computing geometric properties like distances, angles, and dihedrals
9//! * Basic molecular operations like superposition and RMSD calculations
10//!
11//! The main entry point is the [`AtomCollection`] struct which represents a biomolecular structure
12//! and provides methods for manipulating and analyzing it.
13//!
14
15// Deliberate `foo/mod.rs` + inner `mod foo` layout (io, model, unit).
16#![allow(clippy::module_inception)]
17
18mod atomcollection;
19mod bonds;
20pub mod data;
21pub mod info;
22mod io;
23pub mod model;
24pub mod trajectory;
25pub mod unit;
26mod views;
27
28pub use atomcollection::AtomCollection;
29pub use bonds::{Bond, BondOrder};
30pub use io::{load_model, load_structure, load_structure_from_string, load_trajectory};
31pub use model::{
32 Assembly, AssemblyUnit, AtomicConformation, AtomicHierarchy, Bonds, CrystalSymmetry,
33 IDENTITY_MAT4, Mat4, Model, ModelError, SymmetryData, SymmetryOperator,
34};
35pub use trajectory::{ArrayTrajectory, Coordinates, Frame, ModelCoordsTrajectory, Trajectory};
36pub use unit::Unit;
37pub use views::{
38 AtomView, ChainView, ModelAtomView, ModelChainView, ModelResidueView, ResidueView,
39};