Abstract
CHARMM is rich in methodology and functionality as one of the first programs
addressing problems of molecular dynamics and modeling of biological macromolecules and their
partners, e.g., small molecule ligands. When combined with the highly developed CHARMM
parameters for proteins, nucleic acids, small molecules, lipids, sugars, and other biologically
relevant building blocks, and the versatile CHARMM scripting language, CHARMM has been a
trendsetting platform for modeling studies of biological macromolecules. To further enhance the
utility of accessing and using CHARMM functionality in increasingly complex workflows
associated with modeling biological systems, we introduce pyCHARMM, Python bindings,
functions, and modules to complement and extend the extensive set of modeling tools and
methods already available in CHARMM. These include access to CHARMM function-generated
variables associated with the system (psf), coordinates, velocities and forces, atom selection
variables and force field related parameters. The ability to augment CHARMM forces and
energies with energy terms or methods derived from machine learning or other sources, written
in Python, CUDA or OpenCL and expressed as Python callable routines is introduced together
with analogous functions callable during dynamics calculations. Integration of Python-based
graphical engines for visualization of simulation models and results is also accessible. Loosely
coupled parallelism is available for workflows such as free energy calculations, using MBAR/TI
approaches or high-throughput multisite 𝜆-dynamics (MSλD) free energy methods, string path
optimization calculations, replica exchange and molecular docking with a new Python-based
CDOCKER module. CHARMM accelerated platform kernels through the CHARMM/OpenMM API,
CHARMM/DOMDEC and CHARMM/BLaDE API are also readily integrated into this Python
framework. We anticipate that pyCHARMM will be a robust platform for the development of
comprehensive and complex workflows utilizing Python and its extensive functionality as well as
an optimal platform for users to learn molecular modeling methods and practices within a Pythonfriendly
environment such as Jupyter Notebooks.
Supplementary materials
Title
Supplementary Information
Description
This file contains supplementary material pertinent to the manuscript.
Actions
Title
Absolute solvation Free Energies for selected FreeSolv molecules
Description
This file contains the SMILES strings, computed free energies using pyCHARMM absolute solvation free energy workflow using the CGENFF force field and experimental values of absolute solvation free energies from a sampling of 206 molecules from the FreeSolv database
Actions