Skip to content

Releases: choderalab/openmmtools

0.20.3 Bugfix Release

26 Mar 14:22
321b998
Compare
Choose a tag to compare

Fix critical bug in which GPU contexts would fail to recognize mixed precision was available PR #506 (Resolves issue #505 )

0.20.2 Bugfix Release

17 Mar 16:54
3f2cfc0
Compare
Choose a tag to compare

Remove leftover six imports and xrange See PR #504

0.20.1 Bugfix Release

16 Mar 21:54
fa9e701
Compare
Choose a tag to compare

This release fixes several bugs and eliminates cython compiled acceleration of replica-exchange all-swap (replacing it with numba) to enable working release on conda-forge.

Bug Fixes

  • #485: Replace cython-accelerated all-swap replica mixing with numba implementation
  • #488: Fix ParallelTemperingSampler temperature spacing
  • #501: Do unit conversion first to improve precision (fixes issue #500)

0.20.0 - Periodic nonequilibrium integrator

05 Jul 04:17
d409771
Compare
Choose a tag to compare

New features

  • (#466) Adds PeriodicNonequilibriumIntegrator for periodic nonequilibrium simulations

Bug fixes

  • (#462) Bugfix for restrained atom indices

0.19.0 - Multiple alchemical regions

08 Nov 10:26
82f14f0
Compare
Choose a tag to compare

New features

  • Added support in AbsoluteAlchemicalFactory for handling multiple independent alchemical regions (#438).
  • Added support for anisotropic and membrane barostats in ThermodynamicState (#437`).
  • Added support for platform properties in ContextCache (e.g. for mixed and double precision CUDA in multistate sampler) (#437).

Bugfixes

  • The multistate samplers now issue experimental API warnings via logger.warn() rather than warnings.warn() (#446).
  • Fix return value in states.reduced_potential_at_states (#444).

Known issues

  • Using parallel MPI processes causes poor mixing of the odd thermodynamic states while the mixing of the even states is normal. We're still investigating whether the issue is caused by a change in the MPI library or an internal bug. For now, we recommend running calculations using only 1 GPU (see also #449 and choderalab/yank#1130).

0.18.3 - Storage enhancements and bugfixes

21 Jul 18:43
6cf88cc
Compare
Choose a tag to compare

Bugfixes

  • Fixed a bug in multistateanalyzer.py where a function was imported from openmmtools.utils instead of openmmtools.multistate.utils (#430).
  • Fixed a few imprecisions in the documentation (#432).

Enhancements

  • Writing on disk is much faster when the checkpoint_interval of multi-state samplers is large. This was due to the dimension of the netcdf chunk size increasing with the checkpoint interval and surpassing the dimension of the netcdf chunk cache. The chunk size of the iteration dimension is now always set to 1 (#432).

0.18.2 - Bugfix release

30 May 11:53
6b31737
Compare
Choose a tag to compare
Pre-release

Bugfixes

  • A bug in the multistate samplers wherelogsumexp was imported from scipy.misc (now in scipy.special) was fixed (#423).
  • Improve the robustness of opening the netcdf file on resuming of the multi-state samplers by setting the environment variable HDF5_USE_FILE_LOCKING to 'FALSE' after 4 failed attempts (#426).
  • Fixed a bug causing a crash during exception handling (#426).

Other

0.18.1 - Bugfix release

13 Apr 03:47
cb272b8
Compare
Choose a tag to compare
Pre-release

This is a minor bugfix release.

New features

  • Improvements for HostGuest* classes
    • add oemols, host_oemol, and guest_oemol properties to retrieve OpenEye Toolkit OEMol objects (requires toolkit license and installation)
    • these classes can now accept overriding kwargs

Bugfixes

  • openmmtools.multistate experimental API warning is only issued when openmmtools.multistate is imported
  • AlchemicalNonequilibriumLangevinIntegrator.reset() now correctly resets the nonequilibrium work

0.18.0 - Added multistate samplers

14 Mar 03:23
3707920
Compare
Choose a tag to compare
Pre-release

Add a number of classes that can use MCMC to sample from multiple thermodynamic states:

  • MultiStateSampler: sample independently from multiple thermodynamic states
  • ReplicaExchangeSampler: replica exchange among thermodynamic states
  • SAMSSampler: self-adjusted mixture sampling (SAMS) sampling

All samplers can use MPI via the mpiplus package.

0.17.0 - Removed Py2 support, faster exact PME treatment

24 Jan 21:48
384c555
Compare
Choose a tag to compare

New features

  • Add GlobalParameterFunction that allows to enslave a GlobalParameter to an arbitrary function of controlling variables (#380).
  • Allow ignoring velocities when building the dict representation of a SamplerState. This can be useful for example to save bandwidth when sending a SamplerState over the network and velocities are not required (#386).
  • Add DoubleWellDimer_WCAFluid and DoubleWellChain_WCAFluid test systems (#389).

Enhancements

  • New implementation of the exact PME handling that uses the parameter offset feature in OpenMM 7.3. This comes with a
    considerable speed improvement over the previous implementation (#380).
  • Exact PME is now the default for the alchemical_pme_treatment parameter in the constructor of
    AbsoluteAchemicalFactory (#386).
  • It is now possible to have multiple composable states exposing the same attributes/getter/setter in a
    CompoundThermodynamicState (#380).

Bug fixes

  • Fixed a bug involving the NoseHooverChainVelocityVerletIntegrator with System with constraints. The constraints were not taken into account when calculating the number of degrees of freedom resulting in the temperature not converging to the target value. (#384)
  • Fixed a bug affecting reduced_potential_at_states when computing the reduced potential of systems in different AlchemicalStates when the same alchemical parameter appeared in force objects split into different force groups. (#385)

Deprecated and API breaks

  • Python 2 and 3.5 is not supported anymore.
  • The update_alchemical_charges attribute of AlchemicalState, which was deprecated in 0.16.0, has now been removed since it doesn't make sense with the new parameter offset implementation.
  • The methods AlchemicalState.get_alchemical_variable and AlchemicalState.set_alchemical_variable have been deprecated. Use AlchemicalState.get_alchemical_function and AlchemicalState.set_alchemical_function instead.