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.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 - ParmEdand- NumPy2.3 (#428).
- Remove - AnteChambercheck when using- OpenFF-NAGL(#428).
- Add missing OPC water solvation function docstring (#431). 
- Use - NumPynative- array.tolist()rather than- list(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 to- BioSimSpace.Convert.toRDKitto allow control over stereochemistry inference. This allows a user to match the old- sirebehaviour, 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 for- Antechamberto 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 the- GeneralUnitclass (#385).
- Clarified the meaning of the - explicit_dummieskeyword argument in the- BioSimSpace.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 the- Process.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 - selfin- Trajectory.getFramefunction (#281).
- Use SDF as an intermediate for - antechamberif the original molecule was loaded from that format (#287).
- Detect dummy atoms by checking - elementand- ambertypeproperties when creating- SOMDpert files (#289).
- Add missing - match_waterkwarg to- prepareFEPnode (#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 the- file_formatproperty to avoid (incorrect) auto string to unit conversion of- mol2to 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 returns- None(#276).
- Add missing - themostat_time_constantkwarg to the- Metadynamicsprotocol (#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 OpenMM- StateDataReporter(#146).
- Make sure - alchemlybis imported using- try_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 create- openmmsystem to avoid issue parsing triclinic spaces with- AmberPrmTopFile(#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 with- pyteststandard (#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_optionsand- extra_linesparameters 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 - 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 - lomapin- 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 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 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._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.Systemand- BioSimSpace._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 on- BioSimSpace.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.MDto- BioSimSpace.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.