
SoftwareX 6 (2016) 7–12 Contents lists available at ScienceDirect SoftwareX journal homepage: www.elsevier.com/locate/softx pysimm: A python package for simulation of molecular systems Michael E. Fortunato a, Coray M. Colina a,b,∗ a Department of Chemistry, University of Florida, Gainesville, FL 32611, United States b Department of Materials Science and Engineering and Nuclear Engineering, University of Florida, Gainesville, FL 32611, United States article info a b s t r a c t Article history: In this work, we present pysimm, a python package designed to facilitate structure generation, simulation, Received 15 August 2016 and modification of molecular systems. pysimm provides a collection of simulation tools and smooth Received in revised form integration with highly optimized third party software. Abstraction layers enable a standardized 1 December 2016 methodology to assign various force field models to molecular systems and perform simple simulations. Accepted 5 December 2016 These features have allowed pysimm to aid the rapid development of new applications specifically in the area of amorphous polymer simulations. Keywords: ' 2016 The Authors. Published by Elsevier B.V. Amorphous polymers Molecular simulation This is an open access article under the CC BY license Python (http://creativecommons.org/licenses/by/4.0/). Code metadata Current code version v0.1 Permanent link to code/repository used for this code version https://github.com/ElsevierSoftwareX/SOFTX-D-16-00070 Legal Code License MIT Code versioning system used git Software code languages, tools, and services used python2.7 Compilation requirements, operating environments & Linux dependencies If available Link to developer documentation/manual http://pysimm.org/documentation/ Support email for questions [email protected] 1. Motivation and significance Molecular simulations have proven to be useful tools to explore and high performance computing techniques. However, there time and length scales often inaccessible through experimental is a potentially large user base of scientists that could employ means and can offer invaluable insight to supplement or explain computers for research if relatively easy to use applications were experimental data. As available computational power increases available to them. so does the practicality of simulating larger and more complex One area where computational studies can have a great impact molecular systems. It is important that the development of new is in the amorphous polymeric community. It is nontrivial to software keeps pace to take full advantage of this continual predict amorphous polymer chain geometries due to a lack of increase in computational power. well defined three dimensional structures. Once structures are New software is often developed to take advantage of new obtained, however, there are numerous in silico characterizations hardware or hardware acceleration, but that computational power that could be performed to interrogate material properties. While must also be accessible to researchers to solve scientific problems. there are many tools that exist designed to simplify simulation The use of highly optimized software is sometimes limited to setup for biomolecules fewer tools exist to simplify the structure those that have a deep understanding of computer programming preparation process for amorphous polymers. This may be due to the great diversity in polymer composition and morphology as compared to protein chains consisting of a small set of amino ∗ Corresponding author at: Department of Chemistry, University of Florida, acids. These tools often take known three dimensional structures Gainesville, FL 32611, United States. determined from experimental data, such as x-ray crystallography, E-mail address: [email protected] (C.M. Colina). and apply a given force field model. Predicting secondary, tertiary, http://dx.doi.org/10.1016/j.softx.2016.12.002 2352-7110/' 2016 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0/). 8 M.E. Fortunato, C.M. Colina / SoftwareX 6 (2016) 7–12 and quaternary structures of proteins from their linear sequence __init__.py. Very often the integration only requires knowledge of amino acids is still an area of active research, however. of the path to an executable. For example, to configure the use Additionally, it may be intractable to have a highly optimized but of the LAMMPS software package through the lmps module (see broadly applicable force field capable of capturing all polymer Section 2.1.3), a user can either set an environment variable physics given the variety of functional groups used in polymer `LAMMPS_EXEC' on their own or modify a line of code in __init__.py chemistry. The availability of software that simplifies the process to search for their executable (see directions in the README to study a system with various force fields can yield insight into included in the pysimm source code repository). which models can capture a subset of polymer physics applicable pysimm can be used interactively by invoking python at a to a given scientific inquiry as well as help guide force field Linux terminal and importing pysimm. This technique can be development in the polymer simulation community. extremely useful for examining and preparing molecular systems pysimm is a python package designed specifically to address for simulation. For example, it is often of interest to visually these issues by providing users simple but powerful tools to inspect a system under study in order to get an atom's tag, or build structures and apply various force fields models to study its unique identifier. Using pysimm interactively can allow users amorphous polymer morphologies. The software is built to exist to read system information from a file and visualize a system between other layers of software that can provide highly optimized to help determine specific tags. Upon closing the visualization execution of expensive calculations and user friendly (graphical) software the user is returned to the interactive python interpreter interfaces. Bridging this gap helps to open up doors to many to continue to configure or modify the molecular system. more researchers to utilize computational power to study polymer Alternatively pysimm scripts can be run in batches by passing a science. script to the python interpreter. There is a plethora of software that exists to do various tasks associated with molecular simulations from highly optimized sim- 2.1. Software architecture and functionality ulation packages such as LAMMPS [1], AMBER [2], GROMACS [3], CHARMM [4], HOOMD [5], OpenMM [6] and Cassandra [7], to soft- The pysimm python package is broken into three core parts. ware designed to prepare systems for simulation such as Am- The system module is capable of generating, modifying and berTools LEaP [2], PackMol [8], and mBuild [9], to computational interpreting molecular data. This includes the position of atoms chemistry packages such as RDKit [10] and OpenBabel [11], to post- and how they interact. The way in which the atoms interact in processing software such as AmberTools CPPTRAJ [2], LAMMPS molecular systems usually refers to force fields or inter-atomic Pizza.py [1], PoreBlazer [12], VMD [13], PyMol [14] and MD- potentials, for which the forcefield package exists in pysimm. Traj [15], and software specifically designed to create polymer This package interprets force field data and can assign these structures such as PolymerModeler [16], Polymatic [17] and As- parameters to a given molecular system. The last core module semble! [18]. Despite the length of this list of software, it is far handles how molecular simulations are performed. This task is from exhaustive. It is improbable that any computational scientist usually very computationally expensive and there are many highly would attempt to learn the intricate details of all of these software optimized software packages that have been designed specifically packages, but may want to use bits and pieces of each of them. to accomplish these tasks efficiently. For this reason, pysimm opts The goal of pysimm is not to replace any of the above to employ third party simulation software. While currently pysimm software packages for their specific purpose, but to facilitate the has been developed to integrate seamlessly with parts of the collaboration between them by providing simple API behavior to LAMMPS simulation package through the lmps module, the future integrate different features using the popular scripting language direction of the package involves expanding to integrate with of Python. For example, pysimm was used in the development numerous simulation packages, each which can provide unique of the web-based application nusimm: nanoHUB User Simulation functionality. Interface for Molecular Modeling [19] which provides a user The philosophy behind creating a python interface for a friendly interface for performing high performance molecular molecular simulation package is that the level of abstraction allows simulations. Integration with LAMMPS [1], PoreBlazer [12], users to take advantage of the inherent optimization without PyMol [14], and Polymatic [17] allows users to generate a polymer having to worry about the sometimes cryptic syntax required to set structure with Polymatic, sample conformational space of polymer up a simulation. The file formatting, organization, and execution chains through simulation with LAMMPS, visualize and analyze
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages6 Page
-
File Size-