With the establishment of machine learning (ML) techniques in the scientific community, the construction of ML potential energy surfaces (ML-PES) has become a standard process in physics and chemistry. So far, improvements in the construction of ML-PES models have been conducted independently, creating an initial hurdle for new users to overcome and complicating the reproducibility of results. Aiming to reduce the bar for the extensive use of ML-PES, we introduce Asparagus, a software package encompassing the different parts into one coherent implementation that allows an autonomous, user-guided construction of ML-PES models. Asparagus combines capabilities of initial data sampling with interfaces to ab initio calculation programs, ML model training, as well as model evaluation and its application within other codes such as ASE or CHARMM. The functionalities of the code are illustrated in different examples, including the dynamics of small molecules, the representation of reactive potentials in organometallic compounds, and atom diffusion on periodic surface structures. The modular framework of Asparagus is designed to allow simple implementations of further ML-related methods and models to provide constant user-friendly access to state-of-the-art ML techniques. Program summaryProgram Title:AsparagusCPC Library link to program files:https://doi.org/10.17632/9w9xw7mp2h.1Developer's repository link:https://github.com/MMunibas/AsparagusLicensing provisions: MITProgramming language: PythonSupplementary material: Access to Documentation at https://asparagus-bundle.readthedocs.ioNature of problem: Constructing machine-learning (ML) based potential energy surfaces (PESs) for atomistic simulations is a multi-step process that requires a broad knowledge in quantum chemistry, nuclear dynamics and programming. So far, efforts mainly focused on developing and improving ML model architectures. However, there was less effort spent on providing tools for consistent and reproducible workflows that support the construction of ML-PES for a variety of chemical systems for the broader science community.Solution method:Asparagus is a program package written in Python that provides a streamlined and extensible workflow with a user-friendly command structure to support the construction of ML-PESs. This is achieved by bundling and linking data generation and sampling techniques, data management, model training, testing and evaluation tools into one modular, comprehensive workflow including interfaces to other simulation packages for the application of the ML-PESs. By lowering the entrance barriers especially for new users, Asparagus supports the generation and adjustment of ML-PESs that allow an increased focus on the physico-chemical evaluation of the chemical system or application in molecular dynamics simulations.Additional comments including restrictions and unusual features:Asparagus is a modular package written in Python providing an underlying structure for further extensions and maintenance. Currently, methods based on message-passing neural network (NN) models using the PyTorch Python package are available. Additions of new models and interfaces to already implemented modules are possible. The NN architecture and hyperparameters are stored in a global configuration module and as a json file for documentation. Except for essential input information, default input parameters are used if not specifically defined otherwise, which allows a quick setup for the construction of a ML-PES but also the fine-tuning for specific needs.
Read full abstract