Collective variables (CVs) are functions of the coordinates of a molecular system and provide a means to project its conformational state onto a lower-dimensional space. By stimulating the dynamics of a judiciously chosen set of CVs, one can obtain an enhanced sampling of the configuration space, including regions that are otherwise difficult to access. The system's free energy as a function of these CVs can be used to characterize the relative stability of different states and to identify pathways connecting them.
CVPack is a Python package that provides pre-defined CVs for the powerful molecular dynamics engine OpenMM. All these CVs are subclasses of OpenMM's Force class and, as such, can be directly added to a CustomCVForce or used to define a BiasVariable for Metadynamics, for instance.
The CVs implemented in CVPack are listed in the table below.
Collective Variable | Description |
---|---|
Angle | angle formed by three atoms |
Atomic Function | a user-defined function of the coordinates of a group of atoms |
Attraction Strength | strength of the attraction between two groups of atoms |
Centroid Function | a user-defined function of the centroids of groups of atoms |
Composite RMSD | multibody RMSD with concerted-rotation alignment |
Distance | distance between two atoms |
Helix angle content | alpha-helix angle content of a sequence of residues |
Helix H-bond content | alpha-helix hydrogen-bond content of a sequence of residues |
Helix RMSD content | alpha-helix RMSD content of a sequence of residues |
Helix torsion content | alpha-helix Ramachandran content of a sequence of residues |
Meta CV | a function of other collective variables |
Number of contacts | number of contacts between two groups of atoms |
OpenMM Force wrapper | converts an OpenMM Force object into a CVPack CV |
Path in CV space | progress along (or deviation from) a predefined path in CV space |
Radius of gyration | radius of gyration of a group of atoms |
(Radius of gyration)^2 | square of the radius of gyration of a group of atoms |
Residue coordination | number of contacts between two disjoint groups of residues |
RMSD | root-mean-square deviation with respect to a reference structure |
Sheet RMSD content | beta-sheet RMSD content of a sequence of residues |
Torsion | torsion angle formed by four atoms |
Torsion similarity | degree of similarity between pairs of torsion angles |
CVPack is available as a conda package on the mdtools channel. To install it, run:
conda install -c conda-forge -c mdtools cvpack
Or:
mamba install -c mdtools cvpack
To use CVPack in your own Python script or Jupyter notebook, simply import it as follows:
import cvpack
Documentation for the latest CVPack version is available on Github Pages.
Copyright (c) 2023-2024 C. Abreu & Redesign Science
Initial project based on the CMS Cookiecutter version 1.1.