Skip to content

Releases: choderalab/openmmtools

0.20.0 - Periodic nonequilibrium integrator

05 Jul 04:17
d409771

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

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

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

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

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

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

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.

0.16.0 - Py2 deprecated, GlobalParameterState class, SamplerState reads CVs

17 Oct 17:40
5294fb6

Choose a tag to compare

New features

  • Add ability for SamplerState to read new OpenMM CustomCVForce variables from the Context object (#362).
  • Added the new class states.GlobalParameterState designed to simplify the implementation of composable states that control global variables (#363).
  • Allow restraint force classes to be controlled by a parameter other than lambda_restraints. This will enable multi-restraints simulations (#363).

Enhancements

  • Global variables of integrators are now automatically copied over the integrator returned by ContextCache.get_context. It is possible to specify exception through ContextCache.INCOMPATIBLE_INTEGRATOR_ATTRIBUTES (#364).

Others

  • Integrator MCMCMoves now attempt to recover from NaN automatically by default (with n_restart_attempts set to 4) (#364).

Deprecated

  • Python2 is officially deprecated. Support will be dropped in future versions.
  • Deprecated the signature of IComposableState._on_setattr to fix a bug where the objects were temporarily left in an inconsistent state when an exception was raised and caught.
  • Deprecated update_alchemical_charges in AlchemicalState in anticipation of the new implementation of the exact PME that will be based on the NonbondedForce offsets rather than updateParametersInContext().

0.15.0 - Restraint forces

23 Mar 02:39
acc22e9

Choose a tag to compare

Pre-release
  • Add radially-symmetric restraint custom forces (#336).
  • Copy Python attributes of integrators on deepcopy() (#336).
  • Optimization of states.CompoundThermodynamicState deserialization (#338).
  • Bugfixes (#332, #343).

0.14.0 - Exact treatment of alchemical PME electrostatics, water cluster test system, optimizations

26 Jan 14:50
2088201

Choose a tag to compare

New features

  • Add a WaterCluster testsystem (#322)
  • Add exact treatment of PME electrostatics in alchemy.AbsoluteAlchemicalFactory. (#320)
  • Add method in ThermodynamicState for the efficient computation of the reduced potential at a list of states. (#320)

Enhancements

  • When a SamplerState is applied to many Contexts, the units are stripped only once for optimization. (#320)

Bug fixes

  • Copy thermodynamic state on compound state initialization. (#320)