  Molecular simulations are an important tool for research in physics,
chemistry, and biology. The capabilities of simulations can be greatly expanded
by providing access to advanced sampling methods and techniques that permit
calculation of the relevant underlying free energy landscapes. In this sense,
software that can be seamlessly adapted to a broad range of complex systems is
essential. Building on past efforts to provide open-source community supported
software for advanced sampling, we introduce PySAGES, a Python implementation
of the Software Suite for Advanced General Ensemble Simulations (SSAGES) that
provides full GPU support for massively parallel applications of enhanced
sampling methods such as adaptive biasing forces, harmonic bias, or forward
flux sampling in the context of molecular dynamics simulations. By providing an
intuitive interface that facilitates the management of a system's
configuration, the inclusion of new collective variables, and the
implementation of sophisticated free energy-based sampling methods, the PySAGES
library serves as a general platform for the development and implementation of
emerging simulation techniques. The capabilities, core features, and
computational performance of this new tool are demonstrated with clear and
concise examples pertaining to different classes of molecular systems. We
anticipate that PySAGES will provide the scientific community with a robust and
easily accessible platform to accelerate simulations, improve sampling, and
enable facile estimation of free energies for a wide range of materials and
processes.
