# Molecular topology representations

This module provides pure-Python classes for representing molecules and molecular systems. These classes offer several advantages over corresponding `Topology` objects in OpenMM and MDTraj, including offering serialization to a variety of standard formats (including XML, JSON, YAML, BSON, TOML, and MessagePack).

## Primary objects

`FrozenMolecule` | Immutable chemical representation of a molecule, such as a small molecule or biopolymer.
`Molecule` | Mutable chemical representation of a molecule, such as a small molecule or biopolymer.
`Topology` | A Topology is a chemical representation of a system containing one or more molecules appearing in a specified order.

## Secondary objects

`Particle` | Base class for all particles in a molecule.
`Atom` | A particle representing a chemical atom.
`Bond` | Chemical bond representation.
`VirtualSite` | A particle representing a virtual site whose position is defined in terms of `Atom` positions.