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.
2024.3.0 - Oct 24 2024¶
Fixed link in protein free-energy perturbation tutorial (#310).
Expose missing
extra_args
keyword argument for theProcess.Somd
class (#319).Add support for the Alchemical Transfer Method (ATM) (@mb2055) (#327).
Fixed
system.updateMolecules
method when updating multiple molecules at once (#336).Added a new
system.removeBox
method 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
self
inTrajectory.getFrame
function (#281).Use SDF as an intermediate for
antechamber
if the original molecule was loaded from that format (#287).Detect dummy atoms by checking
element
andambertype
properties when creatingSOMD
pert files (#289).Add missing
match_water
kwarg toprepareFEP
node (#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.Parameters
module (#298).Don’t use
sire.legacy.Base.wrap
with thefile_format
property to avoid (incorrect) auto string to unit conversion ofmol2
to moles squared (#300).Expose
SOMD
torsion 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-nagl
to 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.join
to generate directory file names (#276).Make sure the
fileformat
property is preserved when creating single molecule systems (#276).Add a
getRestraintType
method to the base protocol that returnsNone
(#276).Add missing
themostat_time_constant
kwarg to theMetadynamics
protocol (#276).
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¶
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).
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 OpenMMStateDataReporter
(#146).Make sure
alchemlyb
is imported usingtry_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 createopenmm
system to avoid issue parsing triclinic spaces withAmberPrmTopFile
(#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 withpytest
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
andextra_lines
parameters 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
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
ingenerateNetwork
(#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 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._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
andBioSimSpace._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 onBioSimSpace.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
toBioSimSpace.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.