mod error;
mod frame_io;
mod trajectory_store;
pub use trajectory_store::{count_frames_in_store, read_frame_from_store, read_trajectory_store};
#[cfg(feature = "filesystem")]
pub use trajectory_store::{read_trajectory_file, write_trajectory_file};
#[derive(Clone, Debug, Default, PartialEq, Eq)]
pub enum UnitSystem {
#[default]
Real,
Metal,
Gromacs,
Atomic,
}
impl UnitSystem {
pub fn as_str(&self) -> &'static str {
match self {
Self::Real => "real",
Self::Metal => "metal",
Self::Gromacs => "gromacs",
Self::Atomic => "atomic",
}
}
pub fn parse(s: &str) -> Option<Self> {
match s {
"real" => Some(Self::Real),
"metal" => Some(Self::Metal),
"gromacs" => Some(Self::Gromacs),
"atomic" => Some(Self::Atomic),
_ => None,
}
}
}
#[derive(Clone, Debug, Default)]
pub struct Provenance {
pub program: Option<String>,
pub version: Option<String>,
pub method: Option<String>,
pub seed: Option<u64>,
}