BioSimSpace: An interoperable Python framework for biomolecular simulation

Lester Hedges, Antonia Mey, Charles Laughton, Francesco Gervasio, Adrian Mulholland, Christopher Woods, Julien Michel

Research output: Contribution to journalArticlepeer-review

Abstract / Description of output

Biomolecular simulation is a diverse and growing area of research, making important contributions to structural biology and pharmaceutical research (Huggins et al., 2019). Within the community there are a several significant and widely used software packages that have evolved from within various research groups over the past 20 or more years. For example, the molecular dynamics packages AMBER (Case et al., 2005), GROMACS (Abraham et al., 2015), and NAMD (Phillips et al., 2005), which are all capable of running biomolecular simulations for systems consisting of hundreds of thousands of atoms and can be run on hardware ranging from laptops, to graphics processing units (GPUs), to the latest high-performance computing clusters. Since different software packages were developed independently, interoperability between them is poor. In large part this is the result of major differences in the supported file formats, which makes it difficult to translate the inputs and outputs of one program to another. As a consequence, expertise in one package doesn’t immediately apply to another, making it hard to share methodology and knowledge between different research communities, as evidenced, for instance, by a recent study on reproducibility of relative hydration free energies across simulation packages (Loeffler et al., 2018). The issue is compounded by the increasing use of biomolecular simulations as components of larger scientific workflows for bioengineering or computer-aided drug design purposes. A lack of interoperability leads to brittle workflows, poor reproducibility, and lock in to specific software that hinders dissemination of biomolecular simulation methodologies to other communities. Several existing software packages attempt to address this problem: InterMol (Shirts et al., 2016) and ParmEd (Swails, Jason, 2010) can be used to read and write a wide variety of common molecular file formats; ACPYPE (Sousa da Silva & Vranken, 2012) can generate small molecule topologies and parameters for a variety of molecular dynamics engines; MDTraj (McGibbon et al., 2015) and MDAnalysis (Gowers et al., 2016) support reading, writing, and analysis of different molecular trajectory formats; the Atomic Simulation Engine (ASE) handles a wide variety of atomistic simulation tasks and provides interfaces to a range of external packages; and the Cuby (Řezáč, 2016) framework allows access to a range of computational chemistry functionality from external packages, which can be combined into complex workflows through structured input files. Despite their utility, the above packages either have a restricted domain of application, e.g. trajectory files, or require different configuration options or scripts to interface with different external packages. It is not possible to write a single script that is independent of the underlying software packages installed on the host system. Within the Collaborative Computational Project for Biomolecular Simulation (CCPBioSim), we have attempted to solve this problem via the introduction of an interoperable framework, BioSimSpace, that collects together the core functionality of many packages and exposes it through a simple Python API. By not choosing to reinvent the wheel, we can take advantage of all the exsting software within the community, and can easily plug into new software packages as they appear. Our software can convert between many common molecular file formats and automatically find packages available within the environment on which it is run. This allows the user to write portable workflow components that can be run with different input, on different environments, and in completely different ways, e.g. from the command-line, or within a Jupyter notebook running on a cloud server. BioSimSpace builds on ideas explored previously by CCPBioSim during the development of the alchemical free energy calculations software FESetup (Loeffler, Michel, & Woods, 2015) that provides consistent setup of input files for several simulation engines.
Original languageEnglish
Pages (from-to)1831
JournalThe Journal of Open Source Software
Volume4
Issue number43
Early online date22 Nov 2019
DOIs
Publication statusE-pub ahead of print - 22 Nov 2019

Fingerprint

Dive into the research topics of 'BioSimSpace: An interoperable Python framework for biomolecular simulation'. Together they form a unique fingerprint.

Cite this