protein_core/lib.rs
1//! # protein-core
2//!
3//! This crate aims to provide a unified framework for representing protein structural data in Rust.
4//!
5//! ## `Structure`
6//!
7//! The central struct provided by this crate, [`Structure`], hold information roughly equivalent to that contained in a PDB or mmCIF file.
8//! A minimal [`Structure`] contains data that unambiguously describe the primary structure (sequences of nucleotides and/or amino acids),
9//! any secondary structure (helices and sheets) and the identity and coordinates and connectivity of all atoms in the structure assembly.
10//! It can also include [`Metadata`] as an `Option`.
11//!
12//! A `Structure` can either be created from scratch or parsed from specialized file formats such as PDB and mmCIF. All parsers
13//! should aim to parse information into structs provided in the [`structure`] and [`metadata`] module.
14//!
15//! ## `Metadata`
16//!
17//! [`Metadata`] are data that are not strictly required for describing the structure, such as the title, author, and experimental method.
18//! Each field in [`Metadata`] is `Option`al.
19//!
20//! [`Structure`]: structure/struct.Structure.html
21//! [`structure`]: structure/
22//! [`Metadata`]: metadata/struct.Metadata.html
23//! [`metadata`]: metadata/
24
25pub mod structure;
26pub use structure::Structure;
27pub mod metadata;
28pub use metadata::Metadata;
29
30pub mod data;