(346bg) Gmso: A Flexible, Python-Based Representation of Chemical Topologies for Molecular Simulation | AIChE

(346bg) Gmso: A Flexible, Python-Based Representation of Chemical Topologies for Molecular Simulation

Authors 

Quach, C. D. - Presenter, Vanderbilt University
Thompson, M. W., Vanderbilt University
Timalsina, U., Vanderbilt University
Gilmer, J., Vanderbilt University
Matsumoto, R., Vanderbilt University
Shamaprasad, P., Vanderbilt University
Bansal, A., Vanderbilt University
Iacovella, C., Vanderbilt University
McCABE, C., Vanderbilt University
Cummings, P., Vanderbilt University
The Molecular Simulation Design Framework (MoSDeF)[1] is a Python-based open-source software suite focused on constructing, atom typing, and parametrizing chemical systems. The package is architectured to provide researchers the ability to prepare chemical systems in a scriptable manner, crucial to enhancing the reproducibility of computational science. The suite comprises three main libraries: mBuild[2,3] which handles the construction of chemical systems, foyer[4,5] which is responsible for automatically atom typing and parametrizing chemical systems, and the General Molecular Simulation Object (GMSO)[6], which serves as the backend data structure that encapsulates system and forcefield information, which can be written out to various file formats specific to simulation engine. GMSO is designed with the purpose of providing a more dynamic and flexible molecular topology data structure, compared to other open-source libraries currently available, including those previously used in MoSDeF. In order to make the library as general as possible, GMSO makes no assumptions regarding the details of molecular systems, including the functional forms of the potential energy equations, and the unit system. The unyt[7,8] library is implemented to manage the internal unit system, while interatomic potential expressions are handled by the sympy[9,10] library, and both can be explicitly defined by the users. This enables users to either choose from pre-built templates GMSO provides or create more exotic non-standard functional forms. While the use of non-standard potentials may be limited by the compatibility with current simulation engines, the benefit of having a flexible backend will allow MoSDeF to quickly support future potential forms. Many engines support these more exotic potential forms through the use of tabulated potentials, which are also supported by GMSO. Furthermore, GMSO defines a new, more explicit XML schema for force fields, further improving on the force field schema implemented previously in foyer. The new form of XML provides the same information as the original forcefield format defined in foyer, including parameters and usage rules, but further includes information regarding units and the explicit functional form of the given interaction potential. By doing so, the use of GMSO and MoSDeF reduces ambiguity of the force field form, parameters, and usage, and further supports the concept of Transparent, Reproducible, Usable By Others, and Extensible (TRUE)[11] simulations.

References

  1. “MoSDeF” [Online]. Available: https://github.com/mosdef-­hub.
  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”, Foundations of Molecular Modeling and Simulation, 2016, pp. 79-92.
  3. “mBuild” [Online]. Available: https://github.com/mosdef-­hub/mbuild.
  4. Christoph Klein, Andrew Z. Summers, Matthew W. Thompson, Justin B. Gilmer, Clare McCabe, Peter T. Cummings, Janos Sallai, Christopher R. Iacovella. “Formalizing atom-typing and the dissemination of force fields with foyer”, Computational Materials Science, Volume 167, 2019. https://doi.org/10.1016/j.commatsci.2019.05.026.
  5. “foyer” [Online]. Available: https://github.com/mosdef-­hub/foyer.
  6. “gmso” [Online]. Available: https://github.com/mosdef-hub/gmso.
  7. Goldbaum et al., (2018). unyt: Handle, manipulate, and convert data with units in Python. Journal of Open Source Software, 3(28), 809, https://doi.org/10.21105/joss.00809
  8. “unyt” [Online]. Available: https://github.com/yt-project/unyt.
  9. Meurer A, Smith CP, Paprocki M, Čertík O, Kirpichev SB, Rocklin M, Kumar A, Ivanov S, Moore JK, Singh S, Rathnayake T, Vig S, Granger BE, Muller RP, Bonazzi F, Gupta H, Vats S, Johansson F, Pedregosa F, Curry MJ, Terrel AR, Roučka Š, Saboo A, Fernando I, Kulal S, Cimrman R, Scopatz A. 2017. SymPy: symbolic computing in Python. PeerJ Computer Science 3:e103. https://doi.org/10.7717/peerj-cs.103
  10. “sympy” [Online]. Available: https://github.com/sympy/sympy.
  11. Matthew W. Thompson, Justin B. Gilmer, Ray A. Matsumoto, Co D. Quach, Parashara Shamaprasad, Alexander H. Yang, Christopher R. Iacovella, Clare McCabe & Peter T. Cummings (2020) Towards molecular simulations that are transparent, reproducible, usable by others, and extensible (TRUE), Molecular Physics, DOI: 10.1080/00268976.2020.1742938