Developers

BioSimSpace is a Python framework used to wrap the functionality from a wide range of biomolecular simulation and analysis packages. For flexibility, BioSimSpace has been written with a two-level application programming interface (API). The high-level API provides the core functionality of BioSimSpace. Nodes written at this level are guaranteed to be interoperable and will be supported for a ten-year lifetime. However, behind this simple interface, the low-level API of BioSimSpace still exposes all of the power and functionality desired by expert users. However, scripts written at this level are no longer guaranteed to be portable.

BioSimSpace is open source and is hosted on GitHub. You can read more about our software design here.

BioSimSpace contains a collection of packages. Click on the links below to find out more:

BioSimSpace.Gateway

This package provides functionality to act as a bridge between BioSimSpace and the outside world. It allows the user to define robust and portable workflow components (nodes) that can be run from a variety of environments, e.g. within Jupyter, or from the command-line. Requirements Workflow components require input from the user and generate output. BioSimSpace.Gateway...

Read more ...

BioSimSpace.IO

This package contains functionality for reading and writing a large number of common molecular file formats. Unlike many other molecular parsers, BioSimSpace does not attempt to infer the format from the file extension. Instead, it reads the files in parallel using its blazing fast suite of parsers in order to automatically determine the correct format....

Read more ...

BioSimSpace.MD

This package provides functionality for configuring and running a variety of molecular dynamics simulation processes. At present, we provide support for finding molecular dynamics packages and automatically configuring and starting processes for the user. BioSimSpace.MD acts as a wrapper around BioSimSpace.Process, meaning that the user doesn't need to specify the molecular dynamics package that they...

Read more ...

BioSimSpace.Notebook

This package provides functionality for viewing molecules and creating graphs when using BioSimSpace interactively within a Jupyter notebook. BioSimSpace.Notebook.View The View class provides a wrapper around NGLView to enable visualisation of molecular systems. View can directly display a molecular system, or can attach to a running Process to allow real-time visualisation of molecular configurations while...

Read more ...

BioSimSpace.Process

This package provides functionality for running different molecular simulation processes. A typical user should not need to interact with BioSimSpace.Process and instead use the tools in BioSimSpace.Driver to automatically select and configure and appropriate process for them. Direct use of Process objects within a BioSimSpace node means that interoperability cannot be guaranteed. The package provides...

Read more ...

BioSimSpace.Protocol

This package provides functionality for defining protocols for molecular simulation. The _protocol.py module provides a Protocol base class, containing properties common to all protocol types. Classes for specific protocols are defined in their own module files, e.g. _minimisation.py. Protocols are used by modules within the BioSimSpace.Process package to define what type of simulation to run....

Read more ...

BioSimSpace.Trajectory

This package provides functionality for reading and manipulating molecular trajectories. A trajectory can be created by attaching to a running Process, or by passing an appropriate trajectory and topology file. Internally, the Trajectory class makes use of MDTraj and MDAnalysis and can return trajectory objects in either of these formats. For particular trajectory formats, MDTraj...

Read more ...