Abstract
Sire is a Python/C++ library that is used to both prototype new algorithms and as an interoperability engine for exchanging information between molecular simulation
programs. It provides a collection of file parsers and information converters that together make it easier to combine and leverage the functionality of many other programs and libraries. This empowers researchers to use sire to write a single script that can, for example, load a molecule from a PDBx/mmCIF file via Gemmi, perform
SMARTS searches via RDKit, parameterise molecules using BioSimSpace, run GPU-accelerated molecular dynamics via OpenMM, and then display the resulting dynamics trajectory in a NGLView Jupyter notebook 3D molecular viewer. This
functionality is built on by BioSimSpace, which uses sire’s molecular information engine to interconvert with programs such as GROMACS, NAMD, Amber and AmberTools,
for automated molecular parameterisation and running of molecular dynamics, metadynamics and alchemical free energy workflows. Sire comes complete with a powerful molecular information search engine, plus trajectory loading and editing, analysis and energy evaluation engines. This, when combined with an in-built computer algebra system, gives substantial flexibility to researchers to load, search
for, edit and combine molecular information from multiple sources, and use that to drive novel algorithms by combining functionality from other programs. Sire is
open source (GPL3) and is available via conda and at a free Jupyter notebook server at https://try.openbiosim.org. Sire is supported by the not-for-profit OpenBioSim community interest company.