Changelog¶
OpenBioSim¶
BioSimSpace is supported by OpenBioSim, a community interest
company supporting open-source development of fostering academic/industrial collaboration
within the biomolecular simulation community. Our software is hosted via the OpenBioSim
GitHub organisation.
2025.3.0 - Nov 10 2025¶
Fixed bug that caused trajectory frame reconstruction to be skipped for perturbable systems (#460).
Fixed typo in RDKit
rdMolDraw2Dattribute name (#463).Fix incorrect context manager name in node runner (#463).
Added functionality for quickly getting and setting the coordinates array of a
System(#465).Reduce depdency import overheads by switching from module level imports to function and method level (#466).
Fully switch over to using the new Sire Python API naming convention, allowing BioSimSpace to be used within Sire (#466).
Fixed logic used for setting the GPU device index for
Process.OpenMM(#468).
2025.2.0 - Oct 08 2025¶
Add support for
SOMD2FEP analysis using data frames with different numbers of samples (#415).Add support for the ABCG2 charge method for GAFF parameterisation (#421).
Fixed f-string formatting error in FEP analysis exception message (#423).
Fixed FEP energy trajectory slicing when intitial sample time is non-zero (#424).
Add workaround for incompatibility between
ParmEdandNumPy2.3 (#428).Remove
AnteChambercheck when usingOpenFF-NAGL(#428).Add missing OPC water solvation function docstring (#431).
Use
NumPynativearray.tolist()rather thanlist(array)and add missing ATM protocol__str__methods (#435).Add missing OPC water solvation function docstring (#431).
Allow user to skip writing of velocities to output files (#437).
Add support for renumbering molecules when copying a system (#440).
Added a molecular editing tutorial (#447).
Fixed issue with a non-singleton being used in a set within a mapping pruning function (#454).
Fix handling of trajectory frame reconstruction when using a perturbable reference system (#456).
2025.1.0 - Jul 01 2025¶
Improved robustness of formal charge inference when reading molecules from PDB or SDF files (#393).
Make sure the system extracted from AMBER trajectory frames during free-energy perturbation simulations is in the original, unsquashed format (#403).
Add support for the
ff19SBforce field and OPC water (#406).Allow creation of
SOMDperturbation files without modification to ghost atom bonded terms (#407).Support analysis of
SOMD2energy trajectories with time varying lambda sampling (#408).
2024.4.1 - Feb 14 2025¶
Add
force_stereo_inferencekeyword argument toBioSimSpace.Convert.toRDKitto allow control over stereochemistry inference. This allows a user to match the oldsirebehaviour, where stereochemistry was always infered, which would override any information already present in a molecule (#388).Port optimised
SOMDconfiguration settings to the Exscientia sandpit.
2024.4.0 - Feb 04 2025¶
Improved robustness of restraint search and fixed torsion force constant (@fjclark) (#360).
Add support for
acdoctoroption forAntechamberto help with parameterisation of molecules with atypical valence (#361).Added missing AMBER atom mapping pruning options to the
BioSimSpace.Alignmodule (#366).Improved error messages when no lambda windows are found during alchemical free-energy analysis (@fjclark) (#368).
Decouple the selection used for aligment and RMSD for the
RMSDcollective variable (#379).Added missing
._to_default_unit()method to theGeneralUnitclass (#385).Clarified the meaning of the
explicit_dummieskeyword argument in theBioSimSpace.Process.Amberclass (#385).Added a new
BioSimSpace.Types.Massclass to handle atomic masses (#385).
2024.3.0 - Oct 24 2024¶
Fixed link in protein free-energy perturbation tutorial (#310).
Expose missing
extra_argskeyword argument for theProcess.Somdclass (#319).Add support for the Alchemical Transfer Method (ATM) (@mb2055) (#327).
Fixed
system.updateMoleculesmethod when updating multiple molecules at once (#336).Added a new
system.removeBoxmethod to remove the box from a system (#338).Fixed bug when using position restraints with OpenMM for perturbable systems (#341).
Include both end states in the GROMACS restraint file when using position restraints with perturbable systems (#342).
Set end state connectivity properties when a perturbation involves a change in connectivity (#345).
Use direct Sire-to-RDKit conversion when parameterising with OpenFF to avoid issues with intermediate file formats (#349).
Preserve SMILES based molecular properties during parameterisation (#352).
Rotate perturbable and non-perturbable molecules independently when rotating box vectors (#355).
2024.2.0 - Jul 09 2024¶
Fixed incorect use of
selfinTrajectory.getFramefunction (#281).Use SDF as an intermediate for
antechamberif the original molecule was loaded from that format (#287).Detect dummy atoms by checking
elementandambertypeproperties when creatingSOMDpert files (#289).Add missing
match_waterkwarg toprepareFEPnode (#292).Add protein free-energy perturbation functionality (`@akalpokas <https://github.com/akalpokas`_) (#294).
Ensure that the LJ sigma parameter for perturbed atoms is non-zero (#295).
Fixed return type docstrings for functions in the
BioSimSpace.Parametersmodule (#298).Don’t use
sire.legacy.Base.wrapwith thefile_formatproperty to avoid (incorrect) auto string to unit conversion ofmol2to moles squared (#300).Expose
SOMDtorsion modification kwargs (#302).
2024.1.0 - Apr 15 2024¶
Switch to using Langevin integrator for GROMACS free energy simulations (#264).
Add support for clearing and disabling the IO file cache (#266).
Add support for using
openff-naglto generate partial charges (#267).Fixed non-reproducible search for backbone restraint atom indices (#270).
Add support for AMBER as an alchemical free-energy simulation engine (#272).
Switch to using
os.path.jointo generate directory file names (#276).Make sure the
fileformatproperty is preserved when creating single molecule systems (#276).Add a
getRestraintTypemethod to the base protocol that returnsNone(#276).Add missing
themostat_time_constantkwarg to theMetadynamicsprotocol (#276).
2023.5.1 - Mar 20 2024¶
Fixed path to user links file in the
generateNetworkfunction (#233).Fixed redirection of stderr (#233).
Switched to using
AtomCoordMatcherto map parameterised molecules back to their original topology. This resolves issues where atoms moved between residues following parameterisation (#235).Make the GROMACS
_generate_binary_run_filefunction static so that it can be used when initialising free energy simulations in setup-only mode (#237).Improve error handling and message when attempting to extract an all dummy atom selection (#251).
Don’t set SOMD specific end-state properties when decoupling a molecule (#253).
Only convert to a end-state system when not running a free energy protocol with GROMACS so that hybrid topology isn’t lost when using position restraints (#257).
Exclude standard free ions from the AMBER position restraint mask (#260).
Update the
BioSimSpace.Types._GeneralUnit.__pow__operator to support fractional exponents (#260).
2023.5.0 - Dec 16 2023¶
2023.4.1 - Dec 14 2023¶
Make sure
match_waterkeyword argument is passed to specialised solvation functions (#190).Check perturbable molecules for velocities when combining molecules (#192).
Make sure velocities are double counted when searching for velocity properties when combining molecules (#197).
Remove redundant
BioSimSpace.Types.Type.__ne__operator (#201).Minor internal updates due to Sire API fixes (#203).
Fixed bug in the Boresch restraint search code (@fjclark) (#204).
Add workaround for fixing reconstruction of intrascale matrix in
readPerturbableSystemfunction (#210).Remove incorrect
try_importstatement in metadynamics driver script and make sure that global parameters in OpenMM script are unique (#217).Ensure the existing trajectory backend is used when getting the number of trajectory frames from a running process (#219).
Fixed setting of
igbconfig parameter for PMEMD simulations (@annamherz) (#220).Make sure AMBER restraint mask matches all hydrogen atoms (#222).
Ensure all searches for disulphide bonds are convert to a
SelectorBondobject (#224).Fix injection of custom commands into
LEaPscript (#226).
2023.4.0 - Oct 13 2023¶
Add support for computing trajectory RMSDs using Sire backend (#152).
Add support for setting up systems containing crystal waters (#154).
Add unified free-energy perturbation analysis using
alchemlyb(@annamherz) (#155).Fix handling of connectivity changes during molecular perturbations (#157).
Fix issues related to new shared properties in Sire (#160).
Fix issues in SOMD perturbation files for absolute binding free-energy simulations (@fjclark) (#164).
Don’t generate velocities when performing a continuation with GROMACS (#169).
Decouple custom parameters and additional commands in
LEaPinput (#170).Check for periodic space when updating box information from restart file or trajectory (#173).
Add functionality to allow manual rotation and reduction of triclinic boxes, rather than performing automatically on read (#175).
Allow unit-based protocol options to be passed as strings (#179).
Fix assignment of
gpuconfiguration option for SOMD (#181).
2023.3.1 - Aug 14 2023¶
Check for non-periodic cartesian space when setting up vacuum simulations with all engines (#125).
Fixed several issues caught by BioSimSpace tutorials suite (#128).
Fixed import of incorrect
alchemlybextract function for GROMACS (#132).Handle issues with using certain triclinic box vectors with OpenMM by performing a pre lattice reduction using the internal OpenMM functionality (#135).
Add support for OpenMM in example equilibration node (@mb2055) (#138).
Fix use of
totalStepswhen using the OpenMMStateDataReporter(#146).Make sure
alchemlybis imported usingtry_importto avoid errors on platforms where it isn’t available (#151).
2023.3.0 - Jun 30 2023¶
Reinstate
BioSimSpace.Streamsub-package (#36).Fixed
setup.pyfile to work correctly on Windows (#72).Fixed bug with missing working directory when using
rmsd_flex_alignscoring function (#75).Use
parmedto createopenmmsystem to avoid issue parsing triclinic spaces withAmberPrmTopFile(#77).Fix parsing of AMBER free-energy perturbation standard output (#79).
Fix bug in
GeneralUnitconstructor (#83).Check molecule numbers in system when caching files to avoid issue when the UID and number of molecules are the same, but the actual molecules are different, e.g. after being edited (#89).
Fix order of imports in
prepareFEPnode (#90).Recenter molecules following vacuum simulation with GROMACS to avoid precision overflow with molecular coordinates on write (#95).
Fix expected angles used in unit test following updates to triclinic box code in Sire (#99).
Add absolute binding free-energy support for SOMD (@fjclark) (#104).
Avoid streaming issues when reading binary AMBER restart files for a single frame (#105).
Improve overlap matrix plotting functionality (@fjclark) (#107).
Handle updates to Sire parser format naming (#108).
Wrap new Sire units grammar to improve parsing of units from strings (#109).
Expose
make_wholeoption in Sire to allow un-wrapping of molecular coordinates on read (#110).Make sure to call
.value()on objects that now have units (#110).Handle missing values in AMBER standard output records (#111).
Fix bug in
plumedversion requirement check (#113).Reinstate temperature control for all GROMACS simulation protocols (#115).
Fix pre-processing selector in test section of
condarecipe (#117).Fixed bug in SOMD free-energy perturbation analysis (@fjclark) (#119).
Catch exception when vacuum system has a cartesian space (#120).
Add support for Sire as a trajectory backend (#121).
2023.2.2 - May 15 2023¶
Rename tests directory to
testsfor compliance withpyteststandard (#51).Fixed parsing of AMBER standard output records (#56).
Re-add pre-minimisation stage to SOMD FEP configuration (#59).
Fixed reference to
plumed.datfile in AMBER configuration input for steered molecular dynamics (#64).Fixed
getDensitymethod (#64).
2023.2.1 - Apr 27 2023¶
Update GitHub CI for our new release process (#34).
Fixed
readMoleculesso that can handle a tuple of input files again (#38).Fixed protocol mixin inheritance (#41).
Update documentation for new development and release process (#43).
Fixed SOMD inverse friction coefficient configuration parameter (#49).
Fixes to the hydration free energy tutorial (#49).
Fixed bug in SOMD test runner that caused it to return prior to assertions (#49).
Expose
extra_optionsandextra_linesparameters inBioSimSpace.FreeEnergy.Relative(#49).
2023.2.0 - Mar 30 2023¶
Make sure that system properties are preserved when creating a new Sire system.
Fixed an issue with the OpenMM minimisation protocol that meant that the number of steps was ignored (#12).
Use native Sire PDB downloading functionality to remove
pypdbdependency.Fixed an issue with SMILES characters in molecule names causing issues for
gmx grompp(#14).Increase default SOMD cut-off since it uses reaction field (#15).
No longer downcast molecules to single residues and atoms when searching (#19).
Remove velocities when combining molecules if the property isn’t present for all molecules (#21).
Set default-valued properties when merging molecules to avoid issues with zero values when units are stripped (#24).
Remove
watchdogto avoid non-deterministic parsing of AMBER output (#27).Improved handling of disulphide bonds in multi-chain PDBs sharing the same residue numbers (#28).
Allow keyword arguments to be passed through to
lomapingenerateNetwork(#29).Add mixin classes to allow position restraints to be used with a wider range of protocols (@xiki-tempula) and alchemical simulations for non-production protocols (@msuruzhon). Switch to using
gmx energyto parse GROMACS energy records (@xiki-tempula) (#30).Switch to using native RDKit conversion throughout to avoid conversion via an intermediate file format.
Expose Sire to OpenMM conversion functionality in
BioSimSpace.Convert.Added Python 3.10 support and now build Python 3.10 packages. This is now the default version of Python for BioSimSpace, and the version we recommend for new workflows. Note that we will drop automatic building of Python 3.8 packages later this year (likely Q3 or Q4). This will be timed to co-incide with when we add Python 3.11 support, and when (we anticipate) conda-forge will drop Python 3.8. Our aim is to only build packages for a maximum of 3 Python versions at a time.
2023.1.2 - Feb 24 2023¶
Refactor code to use a unified
WorkDirclass to simplify the creation of working directories (#2).Added
isSamemethod to compare systems using a sub-set of system and molecular properties. This improves our file caching support, allowing a user to exclude properties when comparing cached systems prior to write, e.g. ignoring coordinates and velocities, if those are the only things that differ between the systems (#3).Added the initial version of
BioSimSpace.Convert, which provides support for converting between nativeBioSimSpace, Sire, and RDKit objects (#9).Fixed several formatting issues with the website documentation.
2023.1.1 - Feb 07 2023¶
Minor fixes to website documentation.
Fixed issues with API documentation introduced by pydocstringformatter.
Fixed globbing of GROMACS trajectory files.
2023.1.0 - Feb 03 2023¶
Wrapped the new sire.load function to allow loading of URLs.
Add basic file caching support to avoid re-writing files for the same molecular system.
Added
BioSimSpace._Configsub-package to simplify the generation of configuration files for molecular dynamics engines and improve flexiblity. (Adapted from code written by @msuruzhon.)Deprecated
BioSimSpace.IO.globsince globbing is now performed automatically.Autoformat entire codebase using black.
Fix issues following Sire 2023 API updates.
Update documentation for new OpenBioSim website.
Michellab¶
Prior to January 2023, BioSimSpace was hosted within the michellab
GitHub organisation. The following releases were made during that time.
2022.3.0 - Sep 28 2022 (Pre-release)¶
Improved NAMD restraint implementation for consistency with other engines.
Make sure we wait for
trjconvto finish when calling as a sub-process.Added wrapper for
Sire.Units.GeneralUnit.Improved interoperability of
BioSimSpace.Trajectorysub-package.Added
BioSimSpace.Sandpitfor experimental features from external collaborators.Added functionality to check for molecules in a
BioSimSpace.System.Added functionality to extract atoms and residues by absolute index.
Allow continuation for GROMACS equilibration simulations. (@kexul)
Update BioSimSpace to work with the new Sire 2023.0.0 Python API.
2022.2.1 - Mar 30 2022¶
Fix performance issues when ensuring unique molecule numbering when adding molecules to
BioSimSpace._SireWrappers.SystemandBioSimSpace._SireWrappers.Moleculesobjects.Fix extraction of box vector magnitudes for triclinic boxes.
2022.2.0 - Mar 24 2022¶
Use fast C++ wrappers for updating coordinates and velocities during SOMD simulations.
Fix import issues caused by change in module layout for conda-forge OpenMM package.
Don’t check for structural ions when parameterising with GAFF/GAFF2.
Fix errors in funnel correction calculation.
Switch to using conda-forge lomap2 package, removing need to vendor lomap code.
Use py3Dmol to visualise maximum common substructure mappings.
Rename
.magnitude()method onBioSimSpace.Typeobjects to.value()to avoid confusion.Handle trjconv frame extraction failures within
BioSimSpace.Process.Gromacs.getSystem().Catch and handle possible GSL error during singular valued decomposition routine used for molecular alignment.
2022.1.0 - Jan 26 2022¶
Added basic support for cleaning PDB files with pdb4amber prior to read.
Added basic support for exporting BioSimSpace Nodes as Common Workflow Language wrappers.
Added support for parameterising molecules using OpenForceField.
Added support for using SMILES strings for input to parameterisation functions.
Added support for funnel metadynamics simulations (@dlukauskis).
Added support for steered molecular dynamics simulations (@AdeleLip).
Added support for generating perturbation networks using LOMAP (@JenkeScheen).
Fixed bug affecting certain improper/dihedral terms in SOMD perturbation file writer.
Numerous performance improvements, particularly involving the manipulation and combination of molecular systems.
Native Python pickling support for wrapped Sire types (@chryswoods).
Numerous free-energy perturbation pipeline fixes and improvements. Thanks to @kexul and @msuruzhon for their help testing and debugging.
Switch continuous integration to GitHub actions using conda-forge compliant build and upload to Anaconda cloud.
2020.1.0 - July 28 2020¶
Added logo to website and update theme (@ppxasjsm).
Make sure potential terms are sorted when writing to SOMD perturbation files (@ptosco).
Switch to using ipywidgets.FileUpload to eliminate non-conda dependencies.
Added support for single-leg free energy simulations.
Created a KCOMBU mirror to avoid network issues during install.
Allow AMBER simulations when system wasn’t loaded from file.
Handle GROMACS simulations with non-periodic boxes.
Run vacuum simulations on a single thread when using GROMACS to avoid domain decomposition.
Make sure BioSimSpace is always built against the latest version of Sire during conda build.
2019.3.0 - Nov 22 2019¶
Make FKCOMBU download during conda build resilient to server downtime.
Added support for xtc trajectory files and custom protocols with GROMACS.
Fixed numerous typos in Sphinx documentation.
Added Journal of Open Source Software paper.
2019.2.0 - Sep 11 2019¶
Switched to using RDKit for maximum common substructure (MCS) mappings.
Handle perturbable molecules for non free-energy protocols with SOMD and GROMACS.
Added basic metadynamics functionality with support for distance and torsion collective variables.
Added support for inferring formal charge of molecules.
Numerous MCS mapping fixes and improvements. Thanks to @maxkuhn, @dlukauskis, and @ptosco for help testing and debugging.
Added Dockerfile to build thirdparty packages required by the BioSimSpace notebook server.
Exposed Sire search functionality.
Added thin-wrappers for several additional Sire objects, e.g. Residue, Atom, and Molecules container.
Performance improvements for searching, indexing, and extracting objects from molecular containers, e.g. System, Molecule.
2019.1.0 - May 02 2019¶
Added support for parameterising proteins and ligands.
Added support for solvating molecular systems.
Molecular dynamics drivers updated to support SOMD and GROMACS.
Support free energy perturbation simulations with SOMD and GROMACS.
Added Azure Pipeline to automatically build, test, document, and deploy BioSimSpace.
Created automatic Conda package pipeline.
2018.1.1 - May 02 2018¶
Fixed conda NetCDF issue on macOS. Yay for managing python environments!
Install conda ambertools during setup.
Search for bundled version of
sanderwhen running AMBER simulation processes.Pass executable found by
BioSimSpace.MDtoBioSimSpace.Processconstructor.Fixed error in RMSD calculation within
BioSimSpace.Trajectoryclass.Improved example scripts and notebooks.
2018.1.0 - May 01 2018¶
Initial public release of BioSimSpace.