(1a) MoSDeF: Molecular Simulation and Design Framework

Authors: 
Cummings, P. T., Vanderbilt University
Here we present MoSDeF [1], a suite of extensible Python tools designed to facilitate system initialization and atom-typing for molecular dynamics simulations in a way that is programmatic, scriptable, and reproducible. MoSDeF is designed around two key pieces of software, mBuild [2,3] and Foyer [4,5]. mBuild is designed to facilitate the generation of starting configurations through the definition of reusable, interchangeable “compounds” that can be connected together in a programmatic fashion. mBuild supports parameterized structures through generative modeling, allowing complex systems to be hierarchically constructed from smaller subunits. This allows users to declaratively express repetitive structures, e.g. polymer chains, crystal structures, planar or spatial tiling, and parameterize affine transformations applied to subcomponents of a composite component. mBuild also includes a robust library for the generation of crystal structures. Foyer is a general tool for applying force fields to molecular systems (i.e., atom-typing) that does not rely upon rigid rule hierarchies to atom-type a system that is commonly found in most simulation software. Foyer is designed such that it separates the engine that evaluates the atom-typing rules from the rules themselves, making it easier to debug, extend, and disseminate force fields. Foyer provides a force field and simulator agnostic schema for defining parameter usage that relies upon SMARTS [6] based annotations of chemical context, providing a single documentation of parameter usage that is both human and machine readable and stored with the parameters themselves in a single XML document. mBuild and Foyer are able to output fully parameterized structures to various file formats used by common simulation engines (e.g. GROMACS, LAMMPS, HOOMD-Blue etc.). As such, MoSDeF provides a flexible, programmatic, yet clear approach to encapsulate the routines and parameters used when initializing and performing molecular simulations, which increases transparency and reproducibility of simulation results.

[2] C. Klein, J. Sallai, T. J. Jones, C. R. Iacovella, C. McCabe, and P. T. Cummings, “A Hierarchical, Component Based Approach to Screening Properties of Soft Matter,” in Foundations of Molecular Modeling and Simulation, 2016, pp. 79–92.
[4] Iacovella, C. R.; Sallai, J.; Klein, C.; Ma, T. In Idea Paper: Development of a Software Framework for Formalizing Forcefield Atom-Typing for Molecular Simulation, 4th Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE4), 2016.