Class representations of nature’s building blocks (sknano.core.atoms)

Introduction

The atoms package provides class representations of atoms and molecules.

Getting Started

Of the classes implemented in atoms, there are two base classes from which most classes in atoms inherit from: Atom and Atoms. The Atom class represents a single atom. The Atoms class is a container class for Atom class instances. Sub-classes of Atom classes add new atom attributes to the Atom class. Every Atom sub-class has a corresponding container class that sub-classes the Atoms class.

Base Atom/Atoms classes

The Atom class represents a single atom. The Atoms class is a container class for Atom class instances. Sub-classes of Atom classes add new atom attributes to the Atom class. Every Atom sub-class has a corresponding container class that sub-classes the Atoms class.

Mixins for extending functionality

The mixins sub-package provides mixin classes which extend the existing Atom and/or Atoms sub-classes.

Classes for molecular dynamics simulations

There are two classes for molecular dynamics simulations Trajectory and Snapshot.

Reference/API

sknano.core.atoms Package

Functions

check_operands(*atoms[, size]) Check atom operands.
compute_angle(*atoms[, check_operands, degrees]) Compute bond angles.
compute_bond(*atoms[, check_operands, degrees]) Compute bond angles.
compute_dihedral(*atoms[, check_operands, ...]) Compute dihedral angle.
compute_improper(*atoms[, check_operands, ...]) Compute improper angle.
generate_vmd_selection_string(keyword, iterable) Generate a VMD keyword selection string from iterable.
vdw_radius_from_basis(*args) Helper function to return the maximum van der Waals radius from a tuple of atoms.

Classes

Angle(*args, **kwargs) Class representation of bond angle between 3 Atom objects.
AngleStats(nobs, min, max, minmax, mean, ...)

Attributes

Angles(*args[, degrees]) TopologyCollection sub-class for collection of atom Angles.
AngularTopology(*args[, degrees]) Topology sub-class for topology with angular measure.
AngularTopologyCollection(*args[, degrees]) TopologyCollection sub-class for collection of angular topologies.
Atom(*args[, element, mass, Z, parent]) Base class for abstract representation of structure atom.
AtomAdapterMixin Mixin Atom class for 3rd party package compatibility.
AtomTopologyMixin Mixin Atom topology class.
AtomTransformationsMixin Mixin Atom class for performing affine transformations.
Atoms([atoms, update_item_class]) Base class for collection of Atom objects.
AtomsAdapterMixin Mixin Atoms class for 3rd party package compatibility.
AtomsTopologyMixin Mixin Atoms topology class.
AtomsTopologyStats(angles, bonds, dihedrals, ...)

Attributes

AtomsTransformationsMixin Mixin Atoms class for performing affine transformations.
BasisAtom(*args[, lattice, xs, ys, zs]) An Atom sub-class for a crystal structure basis atom.
BasisAtoms(*args[, xperiodic, yperiodic, ...]) An Atoms sub-class for crystal structure basis atoms.
Bond(*args[, order]) Class representation of bond between 2 Atom objects.
BondStats(nobs, min, max, minmax, mean, ...)

Attributes

Bonds([topolist, parent]) Base class for collection of atom Bonds.
BoundingRegionsMixin Mixin Atoms class for computing bounding regions.
CNAtom(*args[, CN]) An Atom class with a coordination number attribute.
CNAtoms([atoms, update_item_class]) An Atoms sub-class for CNAtoms.
ChargedAtom(*args[, q]) An Atom class with an electric charge attribute.
ChargedAtoms([atoms, update_item_class]) An Atoms sub-class for ChargedAtoms.
Dihedral(*args, **kwargs) Class representation of dihedral angle between 4 Atom objects.
DihedralStats(nobs, min, max, minmax, mean, ...)

Attributes

Dihedrals(*args[, degrees]) Base class for collection of atom Dihedrals.
DipoleAtom(*args[, px, py, pz]) An Atom sub-class with electric dipole moment attributes.
DipoleAtoms([atoms, update_item_class]) An Atoms sub-class for DipoleAtoms.
EnergyAtom(*args[, pe, ke, etotal]) An Atom class with energy attributes.
EnergyAtoms([atoms, update_item_class]) An Atoms sub-class for EnergyAtoms.
ForceAtom(*args[, fx, fy, fz]) An Atom sub-class with force attributes.
ForceAtoms([atoms, update_item_class]) An Atoms sub-class for ForceAtoms.
IDAtom(*args[, id, serial, mol]) An Atom sub-class with id attributes.
IDAtoms([atoms, update_item_class]) An Atoms sub-class for IDAtoms.
ImageAtom(*args[, ix, iy, iz]) An Atom sub-class with image count attributes.
ImageAtoms([atoms, update_item_class]) An Atoms sub-class for ImageAtoms.
Improper(*args, **kwargs) Class representation of improper angle between 4 Atom objects.
ImproperStats(nobs, min, max, minmax, mean, ...)

Attributes

Impropers(*args[, degrees]) Base class for collection of atom Impropers.
KDTreeAtomsMixin Mixin Atoms class for KDTree analysis.
LatticeAtom(*args[, lattice, xs, ys, zs]) An Atom sub-class with crystal lattice attributes.
LatticeAtoms(*args[, xperiodic, yperiodic, ...]) An Atoms sub-class for crystal structure lattice atoms.
MDAtom(*args[, reference_atom]) An Atom sub-class for molecular dynamics trajectory analysis.
MDAtoms(*args, **kwargs) An Atoms sub-class for molecular dynamics trajectory analysis.
NeighborAtom(*args[, neighbors, neighbor_map]) An Atom sub-class for neighbor analysis.
NeighborAtoms(*args[, kNN, NNrc, ...]) An Atoms sub-class for neighbor analysis.
PBCAtomsMixin(*args[, xperiodic, yperiodic, ...]) Mixin Atoms class for PBC.
POAV(atom) Base class for POAV analysis.
POAV1(*args) POAV sub-class for POAV1 analysis.
POAV2(*args) POAV sub-class for POAV2 analysis.
POAVAtomMixin(*args, **kwargs) Mixin class for POAV analysis.
POAVAtomsMixin(*args, **kwargs) Mixin class for POAV analysis.
POAVR(*args) POAV sub-class for POAVR analysis.
RingAtomMixin(*args, **kwargs) Mixin Atom class for ring statistics/network connectivity analysis.
RingAtomsMixin(*args, **kwargs) Mixin Atoms class for ring statistics analysis.
SelectionException(pstr[, loc, msg, elem]) Custom Exception class for Selections.
SelectionParser([atoms, selstr]) Selection parser class.
Snapshot([trajectory]) Container class for Trajectory data at single timestep
StructureAtom(*args, **kwargs) An Atom class for structure analysis.
StructureAtoms(*args, **kwargs) An Atoms sub-class for structure analysis.
Topology(*atoms, size[, id, type, parent, ...]) Base Atom topology class.
TopologyCollection([topolist, parent]) Base Atoms topology class.
TopologyStats(nobs, min, max, minmax, mean, ...)

Attributes

Trajectory([snapshots]) Base class for trajectory analysis.
TypeAtom(*args[, type]) An Atom class with an atom type attribute.
TypeAtoms([atoms]) An Atoms sub-class for TypeAtoms.
VMDAtomAdapterMixin An Atom mixin adapter class with atom attributes consistent with VMD atom attributes.
VMDAtomsAdapterMixin An Atoms mixin adapter class with atom attributes consistent with VMD atom attributes.
VanDerWaalsAtom(*args[, r_vdw]) An Atom class with a van der Waals radius attribute.
VanDerWaalsAtoms([atoms, update_item_class]) An Atoms sub-class for VanDerWaalsAtoms.
VelocityAtom(*args[, vx, vy, vz]) An Atom sub-class with velocity component attributes.
VelocityAtoms([atoms, update_item_class]) An Atoms class for VelocityAtoms.
XYZAtom(*args[, x, y, z]) An Atom sub-class with x, y, z attributes.
XYZAtoms([atoms, update_item_class]) An Atoms sub-class for XYZAtoms.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.mixins.angles.Angle, sknano.core.atoms.mixins.angles.AngleStats, sknano.core.atoms.mixins.angles.Angles, sknano.core.atoms.mixins.topology_base.AngularTopology, sknano.core.atoms.mixins.topology_base.AngularTopologyCollection, sknano.core.atoms.atoms.Atom, sknano.core.atoms.mixins.adapters.AtomAdapterMixin, sknano.core.atoms.mixins.topology.AtomTopologyMixin, sknano.core.atoms.mixins.transformations.AtomTransformationsMixin, sknano.core.atoms.atoms.Atoms, sknano.core.atoms.mixins.adapters.AtomsAdapterMixin, sknano.core.atoms.mixins.topology.AtomsTopologyMixin, sknano.core.atoms.mixins.topology.AtomsTopologyStats, sknano.core.atoms.mixins.transformations.AtomsTransformationsMixin, sknano.core.atoms.basis_atoms.BasisAtom, sknano.core.atoms.basis_atoms.BasisAtoms, sknano.core.atoms.mixins.bonds.Bond, sknano.core.atoms.mixins.bonds.BondStats, sknano.core.atoms.mixins.bonds.Bonds, sknano.core.atoms.mixins.bounding_regions.BoundingRegionsMixin, sknano.core.atoms.cn_atoms.CNAtom, sknano.core.atoms.cn_atoms.CNAtoms, sknano.core.atoms.charged_atoms.ChargedAtom, sknano.core.atoms.charged_atoms.ChargedAtoms, sknano.core.atoms.mixins.dihedrals.Dihedral, sknano.core.atoms.mixins.dihedrals.DihedralStats, sknano.core.atoms.mixins.dihedrals.Dihedrals, sknano.core.atoms.dipole_atoms.DipoleAtom, sknano.core.atoms.dipole_atoms.DipoleAtoms, sknano.core.atoms.energy_atoms.EnergyAtom, sknano.core.atoms.energy_atoms.EnergyAtoms, sknano.core.atoms.force_atoms.ForceAtom, sknano.core.atoms.force_atoms.ForceAtoms, sknano.core.atoms.id_atoms.IDAtom, sknano.core.atoms.id_atoms.IDAtoms, sknano.core.atoms.image_atoms.ImageAtom, sknano.core.atoms.image_atoms.ImageAtoms, sknano.core.atoms.mixins.impropers.Improper, sknano.core.atoms.mixins.impropers.ImproperStats, sknano.core.atoms.mixins.impropers.Impropers, sknano.core.atoms.mixins.kdtree_atoms.KDTreeAtomsMixin, sknano.core.atoms.lattice_atoms.LatticeAtom, sknano.core.atoms.lattice_atoms.LatticeAtoms, sknano.core.atoms.md_atoms.MDAtom, sknano.core.atoms.md_atoms.MDAtoms, sknano.core.atoms.neighbor_atoms.NeighborAtom, sknano.core.atoms.neighbor_atoms.NeighborAtoms, sknano.core.atoms.mixins.periodic_atoms.PBCAtomsMixin, sknano.core.atoms.mixins.poav_atoms.POAV, sknano.core.atoms.mixins.poav_atoms.POAV1, sknano.core.atoms.mixins.poav_atoms.POAV2, sknano.core.atoms.mixins.poav_atoms.POAVAtomMixin, sknano.core.atoms.mixins.poav_atoms.POAVAtomsMixin, sknano.core.atoms.mixins.poav_atoms.POAVR, sknano.core.atoms.mixins.ring_atoms.RingAtomMixin, sknano.core.atoms.mixins.ring_atoms.RingAtomsMixin, sknano.core.atoms.selections.SelectionException, sknano.core.atoms.selections.SelectionParser, sknano.core.atoms.trajectory.Snapshot, sknano.core.atoms.structure_atoms.StructureAtom, sknano.core.atoms.structure_atoms.StructureAtoms, sknano.core.atoms.mixins.topology_base.Topology, sknano.core.atoms.mixins.topology_base.TopologyCollection, sknano.core.atoms.mixins.topology_base.TopologyStats, sknano.core.atoms.trajectory.Trajectory, sknano.core.atoms.type_atoms.TypeAtom, sknano.core.atoms.type_atoms.TypeAtoms, sknano.core.atoms.mixins.adapters.VMDAtomAdapterMixin, sknano.core.atoms.mixins.adapters.VMDAtomsAdapterMixin, sknano.core.atoms.vdW_atoms.VanDerWaalsAtom, sknano.core.atoms.vdW_atoms.VanDerWaalsAtoms, sknano.core.atoms.velocity_atoms.VelocityAtom, sknano.core.atoms.velocity_atoms.VelocityAtoms, sknano.core.atoms.xyz_atoms.XYZAtom, sknano.core.atoms.xyz_atoms.XYZAtoms

sknano.core.atoms.atoms Module

Base Atom classes (sknano.core.atoms.atoms)

Classes

Atom(*args[, element, mass, Z, parent]) Base class for abstract representation of structure atom.
Atoms([atoms, update_item_class]) Base class for collection of Atom objects.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.atoms.Atom, sknano.core.atoms.atoms.Atoms

sknano.core.atoms.basis_atoms Module

Atom classes for crystal structures (sknano.core.atoms.basis_atoms)

Classes

BasisAtom(*args[, lattice, xs, ys, zs]) An Atom sub-class for a crystal structure basis atom.
BasisAtoms(*args[, xperiodic, yperiodic, ...]) An Atoms sub-class for crystal structure basis atoms.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.basis_atoms.BasisAtom, sknano.core.atoms.basis_atoms.BasisAtoms

sknano.core.atoms.charged_atoms Module

Atom classes with a charge attribute (sknano.core.atoms.charged_atoms)

Classes

ChargedAtom(*args[, q]) An Atom class with an electric charge attribute.
ChargedAtoms([atoms, update_item_class]) An Atoms sub-class for ChargedAtoms.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.charged_atoms.ChargedAtom, sknano.core.atoms.charged_atoms.ChargedAtoms

sknano.core.atoms.cn_atoms Module

Atom classes with a coordination number (sknano.core.atoms.cn_atoms)

Classes

CNAtom(*args[, CN]) An Atom class with a coordination number attribute.
CNAtoms([atoms, update_item_class]) An Atoms sub-class for CNAtoms.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.cn_atoms.CNAtom, sknano.core.atoms.cn_atoms.CNAtoms

sknano.core.atoms.dipole_atoms Module

Atom classes with a dipole moment (sknano.core.atoms.dipole_atoms)

Classes

DipoleAtom(*args[, px, py, pz]) An Atom sub-class with electric dipole moment attributes.
DipoleAtoms([atoms, update_item_class]) An Atoms sub-class for DipoleAtoms.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.dipole_atoms.DipoleAtom, sknano.core.atoms.dipole_atoms.DipoleAtoms

sknano.core.atoms.energy_atoms Module

Atom classes with energy attributes (sknano.core.atoms.energy_atoms)

Classes

EnergyAtom(*args[, pe, ke, etotal]) An Atom class with energy attributes.
EnergyAtoms([atoms, update_item_class]) An Atoms sub-class for EnergyAtoms.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.energy_atoms.EnergyAtom, sknano.core.atoms.energy_atoms.EnergyAtoms

sknano.core.atoms.force_atoms Module

Atom classes with force attributes (sknano.core.atoms.force_atoms)

Classes

ForceAtom(*args[, fx, fy, fz]) An Atom sub-class with force attributes.
ForceAtoms([atoms, update_item_class]) An Atoms sub-class for ForceAtoms.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.force_atoms.ForceAtom, sknano.core.atoms.force_atoms.ForceAtoms

sknano.core.atoms.id_atoms Module

Atom classes with id attributes (sknano.core.atoms.id_atoms)

Classes

IDAtom(*args[, id, serial, mol]) An Atom sub-class with id attributes.
IDAtoms([atoms, update_item_class]) An Atoms sub-class for IDAtoms.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.id_atoms.IDAtom, sknano.core.atoms.id_atoms.IDAtoms

sknano.core.atoms.image_atoms Module

Atom classes with image id attributes (sknano.core.atoms.image_atoms)

Classes

ImageAtom(*args[, ix, iy, iz]) An Atom sub-class with image count attributes.
ImageAtoms([atoms, update_item_class]) An Atoms sub-class for ImageAtoms.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.image_atoms.ImageAtom, sknano.core.atoms.image_atoms.ImageAtoms

sknano.core.atoms.lattice_atoms Module

Atom classes for crystal lattices (sknano.core.atoms.lattice_atoms)

Classes

LatticeAtom(*args[, lattice, xs, ys, zs]) An Atom sub-class with crystal lattice attributes.
LatticeAtoms(*args[, xperiodic, yperiodic, ...]) An Atoms sub-class for crystal structure lattice atoms.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.lattice_atoms.LatticeAtom, sknano.core.atoms.lattice_atoms.LatticeAtoms

sknano.core.atoms.md_atoms Module

Atom classes for MD trajectory analysis (sknano.core.atoms.md_atoms)

An Atom class for molecular dynamics trajectory analysis.

Classes

MDAtom(*args[, reference_atom]) An Atom sub-class for molecular dynamics trajectory analysis.
MDAtoms(*args, **kwargs) An Atoms sub-class for molecular dynamics trajectory analysis.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.md_atoms.MDAtom, sknano.core.atoms.md_atoms.MDAtoms

sknano.core.atoms.molecules Module

Base molecule classes (sknano.core.atoms.molecules)

Classes

Molecule([atoms]) Base class for abstract representation of a molecule.
Molecules([molecules, update_item_class]) Base class for collection of Molecule objects.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.molecules.Molecule, sknano.core.atoms.molecules.Molecules

sknano.core.atoms.neighbor_atoms Module

Atom classes for NN analysis (sknano.core.atoms.neighbor_atoms)

Classes

NeighborAtom(*args[, neighbors, neighbor_map]) An Atom sub-class for neighbor analysis.
NeighborAtoms(*args[, kNN, NNrc, ...]) An Atoms sub-class for neighbor analysis.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.neighbor_atoms.NeighborAtom, sknano.core.atoms.neighbor_atoms.NeighborAtoms

sknano.core.atoms.selections Module

Atom selection classes (sknano.core.atoms.selections)

Functions

generate_vmd_selection_string(keyword, iterable) Generate a VMD keyword selection string from iterable.

Classes

SelectionException(pstr[, loc, msg, elem]) Custom Exception class for Selections.
SelectionParser([atoms, selstr]) Selection parser class.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.selections.SelectionException, sknano.core.atoms.selections.SelectionParser

sknano.core.atoms.structure_atoms Module

Atom classes for structure analysis (sknano.core.atoms.structure_atoms)

Classes

StructureAtom(*args, **kwargs) An Atom class for structure analysis.
StructureAtoms(*args, **kwargs) An Atoms sub-class for structure analysis.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.structure_atoms.StructureAtom, sknano.core.atoms.structure_atoms.StructureAtoms

sknano.core.atoms.trajectory Module

Trajectory class for MD simulations (sknano.core.atoms.trajectory)

Classes for analyzing the atom trajectories of molecular dynamics simulations.

Classes

Snapshot([trajectory]) Container class for Trajectory data at single timestep
Trajectory([snapshots]) Base class for trajectory analysis.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.trajectory.Snapshot, sknano.core.atoms.trajectory.Trajectory

sknano.core.atoms.type_atoms Module

Atom classes with a ‘type’ attribute (sknano.core.atoms.type_atoms)

An Atom class with a type attribute.

Classes

TypeAtom(*args[, type]) An Atom class with an atom type attribute.
TypeAtoms([atoms]) An Atoms sub-class for TypeAtoms.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.type_atoms.TypeAtom, sknano.core.atoms.type_atoms.TypeAtoms

sknano.core.atoms.vdW_atoms Module

Atom classes with van der Waals radius (sknano.core.atoms.vdW_atoms)

Functions

vdw_radius_from_basis(*args) Helper function to return the maximum van der Waals radius from a tuple of atoms.

Classes

VanDerWaalsAtom(*args[, r_vdw]) An Atom class with a van der Waals radius attribute.
VanDerWaalsAtoms([atoms, update_item_class]) An Atoms sub-class for VanDerWaalsAtoms.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.vdW_atoms.VanDerWaalsAtom, sknano.core.atoms.vdW_atoms.VanDerWaalsAtoms

sknano.core.atoms.velocity_atoms Module

Atom classes with velocity attributes (sknano.core.atoms.velocity_atoms)

Classes

VelocityAtom(*args[, vx, vy, vz]) An Atom sub-class with velocity component attributes.
VelocityAtoms([atoms, update_item_class]) An Atoms class for VelocityAtoms.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.velocity_atoms.VelocityAtom, sknano.core.atoms.velocity_atoms.VelocityAtoms

sknano.core.atoms.xyz_atoms Module

Atom classes with x, y, z attributes (sknano.core.atoms.xyz_atoms)

Classes

XYZAtom(*args[, x, y, z]) An Atom sub-class with x, y, z attributes.
XYZAtoms([atoms, update_item_class]) An Atoms sub-class for XYZAtoms.

Class Inheritance Diagram

Inheritance diagram of sknano.core.atoms.xyz_atoms.XYZAtom, sknano.core.atoms.xyz_atoms.XYZAtoms