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.

2023.5.1 - Mar 20 2024#

  • Fixed path to user links file in the generateNetwork function (#233).

  • Fixed redirection of stderr (#233).

  • Switched to using AtomCoordMatcher to 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_file function 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#

  • Add support for detecting nucleic acid backbones (@fjclark) (#189).

  • Added SOMD and GROMACS support for multiple distance restraints for ABFE calculations (#178).

2023.4.1 - Dec 14 2023#

  • Make sure match_water keyword 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).

  • Fixed renumber option in extract method (#210).

  • Add workaround for fixing reconstruction of intrascale matrix in readPerturbableSystem function (#210).

  • Remove incorrect try_import statement 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 igb config 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 SelectorBond object (#224).

  • Fix injection of custom commands into LEaP script (#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 LEaP input (#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 gpu configuration 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 alchemlyb extract 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 totalSteps when using the OpenMM StateDataReporter (#146).

  • Make sure alchemlyb is imported using try_import to avoid errors on platforms where it isn’t available (#151).

2023.3.0 - Jun 30 2023#

  • Reinstate BioSimSpace.Stream sub-package (#36).

  • Fixed setup.py file to work correctly on Windows (#72).

  • Fixed bug with missing working directory when using rmsd_flex_align scoring function (#75).

  • Use parmed to create openmm system to avoid issue parsing triclinic spaces with AmberPrmTopFile (#77).

  • Fix parsing of AMBER free-energy perturbation standard output (#79).

  • Fix bug in GeneralUnit constructor (#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 prepareFEP node (#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_whole option 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 plumed version requirement check (#113).

  • Reinstate temperature control for all GROMACS simulation protocols (#115).

  • Fix pre-processing selector in test section of conda recipe (#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 tests for compliance with pytest standard (#51).

  • Fixed parsing of AMBER standard output records (#56).

  • Re-add pre-minimisation stage to SOMD FEP configuration (#59).

  • Fixed reference to plumed.dat file in AMBER configuration input for steered molecular dynamics (#64).

  • Fixed getDensity method (#64).

2023.2.1 - Apr 27 2023#

  • Update GitHub CI for our new release process (#34).

  • Fixed readMolecules so 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_options and extra_lines parameters in BioSimSpace.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 pypdb dependency.

  • 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 watchdog to 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 lomap in generateNetwork (#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 energy to 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 WorkDir class to simplify the creation of working directories (#2).

  • Added isSame method 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 native BioSimSpace, 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._Config sub-package to simplify the generation of configuration files for molecular dynamics engines and improve flexiblity. (Adapted from code written by @msuruzhon.)

  • Deprecated BioSimSpace.IO.glob since 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 trjconv to finish when calling as a sub-process.

  • Added wrapper for Sire.Units.GeneralUnit.

  • Improved interoperability of BioSimSpace.Trajectory sub-package.

  • Added BioSimSpace.Sandpit for 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.System and BioSimSpace._SireWrappers.Molecules objects.

  • 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 on BioSimSpace.Type objects 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 sander when running AMBER simulation processes.

  • Pass executable found by BioSimSpace.MD to BioSimSpace.Process constructor.

  • Fixed error in RMSD calculation within BioSimSpace.Trajectory class.

  • Improved example scripts and notebooks.

2018.1.0 - May 01 2018#

  • Initial public release of BioSimSpace.