Roadmap#

Since BioSimSpace aims to be interoperable across the molecular simulation engines that we support, new features can often take some time to fully implement and test. We have recently created a ref:Sandpit area, which allows early access to and testing of expermintal features, often provided by external collaborators. Over time we work to port these features into the main code base.

New features that we aim to implement over the coming year are:

  • Consistent cross-package alchemical free-energy analysis using alchemlyb. Analysis is currently performed by engine-specific tools, making it hard to make direct comparisons between results generated by different engines.

  • Support for relative binding free-energy simulations with AMBER. (This is already implemented in BioSimSpace.Sandpit.Exscientia and will be ported to the main code base.)

  • Support for absolute binding free-energy simulations with GROMACS and SOMD. (Initial support already exists in BioSimSpace.Sandpit.Exscientia.)

  • Implementation of a translation layer to provide (where possible) direct interconversion between common molecular system representations, e.g. OpenMM, Open Force Field, and RDKit. This will avoid the need for translation via intermediate molecular files, which are unavoidably lossy in nature.

Release Timetable#

We use a calendar-based version numbering system, based on regular release cadence of several releases per year.

Our aim is to make a major release every quarter (so four releases per year). Each release will be numbered sequentially, e.g. 2023.1.0 is the first release of 2023, 2023.2.0 is the second release. Our aim is that new functionality only appears in these “major” releases.

Bugs and issues are a constant of software engineering. We will aim to fix these as quickly as possible. Bugfixes will be made in fix_issue branches, numbered according to the GitHub issue in which they were raised (hence why we ask that each bug / issue is separately raised in its own GitHub issue).

These bugfixes will be accepted into devel as soon as they are ready, meaning that they will automatically be included in the next new major release. They will also be back-ported into main so that they can be included in the next bugfix release. When a sufficient number of bugfixes have been made (or when an individual bugfix is urgent), we will issue a “point” release based on the code in main. These will be numbered sequentially using the “patch” version number, e.g. 2023.1.0 is the first major release in 2023, while 2023.1.1 is the first patch release containing bugfixes for 2023.1.0. Our aim is to ensure that patch releases DO NOT include new functionality. They only include bug, documentation or issue fixes.

The planned major releases in 2023 will be;

  • 2023.1.0 - January

  • 2023.2.0 - March

  • 2023.3.0 - June

  • 2023.4.0 - September

  • 2023.5.0 - December

Note

There are five releases as we are moving to make the major release by the end of each quarter.

We will aim to make each release by the end of the indicated month. Each release will be preceeded by a one-week feature freeze and testing period. This is short as devel should always contain a valid and tested version of BioSimSpace. This will be further tested against existing demos and tutorials before being merged into main for the next official release.

How to track development#

You can keep up with what we are working on in several ways;

  • Keep an eye on the devel branch to see what is being merged in. Perhaps use the latest dev package from anaconda.

  • Keep an eye on the various feature_X branches as they appear in the repository. Feel free to initiate a conversation on GitHub with the developer who is working on that branch if you want to learn more, or want to make suggestions or offer a helping hand.

  • Clone and build your own copy of the future branch. This is the bleeding edge, and things may change and break. But it is the earliest way to use the future version of BioSimSpace.

Wishlists / suggestions#

If you would like to suggest features that should be added to the roadmap then please raise a feature request here.