Hostname: page-component-77f85d65b8-grvzd Total loading time: 0 Render date: 2026-03-26T23:41:24.542Z Has data issue: false hasContentIssue false

atom: A Matlab Package for Manipulation of Molecular Systems

Published online by Cambridge University Press:  01 January 2024

Michael Holmboe*
Affiliation:
Chemistry Department, Umeå University, SE-901 87, Umeå, Sweden
*
*E-mail address of corresponding author: michael.holmboe@umu.se
Rights & Permissions [Opens in a new window]

Abstract

This work presents Atomistic Topology Operations in MATLAB (atom), an open source library of modular MATLAB routines which comprise a general and flexible framework for manipulation of atomistic systems. The purpose of the atom library is simply to facilitate common operations performed for construction, manipulation, or structural analysis. Due to the data structure used, atoms and molecules can be operated upon based on different chemical names or attributes, such as atom- or molecule-ID, name, residue name, charge, positions, etc. Furthermore, the Bond Valence Method and a neighbor-distance analysis can be performed to assign many chemical properties of inorganic molecules. Apart from reading and writing common coordinate files (.pdb, .xyz, .gro, .cif) and trajectories (.dcd, .trr, .xtc; binary formats are parsed via third-party packages), the atom library can also be used to generate topology files with bonding and angle information taking the periodic boundary conditions into account, and supports basic Gromacs, NAMD, LAMMPS, and RASPA2 topology file formats. Focusing on clay-mineral systems, the library supports CLAYFF (Cygan, 2004) but can also generate topology files for the INTERFACE forcefield (Heinz, 2005, 2013) for Gromacs and NAMD.

Information

Type
Original Paper
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution, and reproduction in any medium,provided the original work is properly cited.
Copyright
Copyright © 2020 The Authors.
Figure 0

Fig. 1 Schematic of the typical workflow using the atom library, illustrating various operations performed on the atom struct variable

Figure 1

Fig. 2 Example image of a 136,000 particle system generated with the plot_density_atom() function, showing scaled density profiles of a multilayered montmorillonite particle (black profiles), Na+ counter-ions (blue profiles) hydrated by three pseudo-layers of water (Owater in red, Hwater in gray profiles)

Figure 2

Fig. 3 The final hydrated and unwrapped Na+-MMT System generated by the plot_atom(). Note the legend which indicates the CLAYFF assigned atom types for the Water, Ions, and MMT struct variables. Alternatively, one could plot the System struct or the printed .pdb file with VMD instead.

Figure 3

Fig. 4 Results from the structural analysis comparing six different implementations of the INTERFACE and CLAYFF forcefields (as explained in the text). (a) Average bond distances for the generic clay lattice atomtypes. (b) The corresponding bond valence sum, compared to the ideal atomic valence, shown as gray lines