Glossary
Glossary¶
Quick definitions for MolPy's core terminology. Each entry links to the page that covers the concept in depth.
Data structures¶
- Atomistic
- An editable molecular graph where atoms are nodes and bonds are edges. Use it when the structure is still under construction — adding atoms, removing leaving groups, querying neighbors. See Atomistic and Topology.
- Entity
- Base class for atoms and beads. Dictionary-like: read and write properties with bracket notation. Uses identity-based hashing (
id(self)), not value-based equality. - Atom
- An
Entitysubclass representing one atom. Carries arbitrary key-value properties (element,charge,type, etc.). - Bead
- An
Entitysubclass representing one coarse-grained site. - Link
- Base class for topology connections. Holds an ordered tuple of
Entityendpoints. Subclasses:Bond,Angle,Dihedral,Improper. - Struct
- Base class that aggregates entities and links into a container. Subclasses:
Atomistic,CoarseGrain. - Topology
- The derived view of an
Atomistic's bond graph, computed by the molrs Rust kernels.get_topo()returns a newAtomisticwith angles/dihedrals perceived from the bonds;get_topo_neighbors()/get_topo_distances()answer k-hop graph queries. There is no standalone topology class. See Atomistic and Topology. - Block
- A columnar table mapping string keys to NumPy arrays. All columns share the same row count. Used inside
Frameto store atoms, bonds, angles, etc. See Block and Frame. - Frame
- A named collection of
Blockobjects plus free-form metadata. Represents one complete system snapshot. The universal exchange object for I/O. See Block and Frame. - Box
- A simulation cell defined by a 3x3 lattice matrix and periodic boundary conditions. Provides wrapping, minimum-image distances, and coordinate conversion. See Box and Periodicity.
- Trajectory
- An ordered sequence of
Frameobjects. Supports lazy access via generators andmaptransforms. See Trajectory.
Force field¶
- ForceField
- A container that holds all styles, types, and parameters for a molecular system. Created manually or loaded from XML/LAMMPS/AMBER files.
- Style
- An interaction family within a force field — for example, "harmonic" bonds or "lj126/cut" pairs. Defines which parameters are expected. Subclasses:
BondStyle,AngleStyle,DihedralStyle,PairStyle. - Type
- One concrete parameter record within a style. For example, a bond type "CT-OH" with
k=320.0andr0=1.41. Subclasses:AtomType,BondType,AngleType,DihedralType,PairType. - Potential
- The numerical realization of a force field's styles and types, ready for energy/force computation. Produced by
ff.to_potentials()(a deferredPotentials) and evaluated against a typedFrameviapots.calc_energy(frame)/pots.calc_forces(frame); the kernels run in the molrs Rust extension. See Force Field.
Modules¶
- Parser
- Converts string notations (SMILES, SMARTS, BigSMILES, CGSmiles) into MolPy structures. See Parsing Chemistry.
- Reacter
- Executes a chemical reaction by connecting two
Atomisticobjects at designated port atoms, removing leaving groups, and forming new bonds. See Stepwise Polymer Construction. - Port
- A marker on an atom (
<,>, or$) indicating that it is a reactive connection point for polymerization. - Typifier
- Assigns force field types to atoms, bonds, angles, and dihedrals via SMARTS pattern matching. Subclasses:
OplsTypifier,ClpTypifier,MMFFTypifier,PairTypifier. (GAFF atom types are not a Typifier — they come from AmberTools/antechamber; see AmberTools Integration.) See Force Field Typification. - Selector
- A composable predicate that filters atoms in a
Blockby element, type, coordinate range, or distance. Combinable with&,|,~. See Selector. - Wrapper
- Runs an external executable (antechamber, tleap, Packmol) as a subprocess and captures its results. Crosses an execution boundary. See Wrapper and Adapter.
- Adapter
- Translates between MolPy objects and another library's in-memory objects (RDKit, OpenBabel). Crosses a representation boundary. See Wrapper and Adapter.
Naming conventions¶
- atomi / atomj / atomk / atoml
- Integer atom indices used in
FrameandBlock(the data-interchange layer). Always 0-based. Never store object references. - itom / jtom / ktom / ltom
- Atom object references used in
Entity-level topology (Bond, Angle, Dihedral). Never store integers. See Naming Conventions.
Compute terminology¶
Acronyms used across the Compute analyses.
- RDF — radial distribution function
g(r) - Probability of finding a neighbour at distance
rrelative to an ideal gas. See Structural Analysis. - MSD — mean-squared displacement
⟨|r(t) − r(0)|²⟩; its slope gives the self-diffusion coefficient. See Diffusion & Ionic Transport.- VACF — velocity autocorrelation function
⟨v(0)·v(t)⟩; its integral (Green–Kubo) gives diffusion, its FFT gives the VDOS. See Velocity Autocorrelation & VDOS.- VDOS — vibrational density of states
- Spectral density of atomic motion,
∝ FFT[VACF]. See Velocity Autocorrelation & VDOS. - MCD — mean-displacement correlation (distinct diffusion)
- Cross-correlated displacements between different species — the distinct part of diffusion, beyond the single-particle MSD. See Diffusion & Ionic Transport.
- PMSD — polarization mean-squared displacement
- MSD of the collective charge dipole; the Einstein route to ionic conductivity. See Dielectric Spectroscopy.
- SDF — spatial distribution function
- Three-dimensional density of neighbours around a reference frame (angular structure, not just radial). See Distribution Functions.
- CDF — combined distribution function
- A joint histogram over two geometric observables (e.g. distance × angle). See Distribution Functions.
- PMFT — potential of mean force and torque
- Free energy
−k_BT ln gover relative position/orientation coordinates. See Distribution Functions. - ROA / VCD — Raman optical activity / vibrational circular dichroism
- Chiroptical vibrational spectra derived from correlation functions of the polarizability / magnetic-dipole responses. See Vibrational Spectra.