Releases: choderalab/openmmtools
Releases · choderalab/openmmtools
0.20.0 - Periodic nonequilibrium integrator
0.19.0 - Multiple alchemical regions
New features
- Added support in
AbsoluteAlchemicalFactoryfor 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 thanwarnings.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
Bugfixes
- Fixed a bug in
multistateanalyzer.pywhere a function was imported fromopenmmtools.utilsinstead ofopenmmtools.multistate.utils(#430). - Fixed a few imprecisions in the documentation (#432).
Enhancements
- Writing on disk is much faster when the
checkpoint_intervalof 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
Bugfixes
- A bug in the multistate samplers where
logsumexpwas imported fromscipy.misc(now inscipy.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_LOCKINGto'FALSE'after 4 failed attempts (#426). - Fixed a bug causing a crash during exception handling (#426).
Other
- Update build infrastructure to match MolSSI cookiecutter (#424, #426).
0.18.1 - Bugfix release
This is a minor bugfix release.
New features
- Improvements for
HostGuest*classes- add
oemols,host_oemol, andguest_oemolproperties to retrieve OpenEye ToolkitOEMolobjects (requires toolkit license and installation) - these classes can now accept overriding
kwargs
- add
Bugfixes
openmmtools.multistateexperimental API warning is only issued whenopenmmtools.multistateis importedAlchemicalNonequilibriumLangevinIntegrator.reset()now correctly resets the nonequilibrium work
0.18.0 - Added multistate samplers
Add a number of classes that can use MCMC to sample from multiple thermodynamic states:
MultiStateSampler: sample independently from multiple thermodynamic statesReplicaExchangeSampler: replica exchange among thermodynamic statesSAMSSampler: 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
New features
- Add
GlobalParameterFunctionthat allows to enslave aGlobalParameterto 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 aSamplerStateover the network and velocities are not required (#386). - Add
DoubleWellDimer_WCAFluidandDoubleWellChain_WCAFluidtest 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_treatmentparameter 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
NoseHooverChainVelocityVerletIntegratorwithSystemwith 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_stateswhen computing the reduced potential of systems in differentAlchemicalStates 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_chargesattribute ofAlchemicalState, 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_variableandAlchemicalState.set_alchemical_variablehave been deprecated. UseAlchemicalState.get_alchemical_functionandAlchemicalState.set_alchemical_functioninstead.
0.16.0 - Py2 deprecated, GlobalParameterState class, SamplerState reads CVs
New features
- Add ability for
SamplerStateto read new OpenMM CustomCVForce variables from theContextobject (#362). - Added the new class
states.GlobalParameterStatedesigned 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 throughContextCache.INCOMPATIBLE_INTEGRATOR_ATTRIBUTES(#364).
Others
- Integrator
MCMCMoves now attempt to recover from NaN automatically by default (withn_restart_attemptsset to 4) (#364).
Deprecated
- Python2 is officially deprecated. Support will be dropped in future versions.
- Deprecated the signature of
IComposableState._on_setattrto fix a bug where the objects were temporarily left in an inconsistent state when an exception was raised and caught. - Deprecated
update_alchemical_chargesinAlchemicalStatein anticipation of the new implementation of the exact PME that will be based on theNonbondedForceoffsets rather thanupdateParametersInContext().
0.15.0 - Restraint forces
0.14.0 - Exact treatment of alchemical PME electrostatics, water cluster test system, optimizations
0.14.0 - Exact treatment of alchemical PME electrostatics, water cluster test system, optimizations
Pre-release
Pre-release
New features
- Add a
WaterClustertestsystem (#322) - Add exact treatment of PME electrostatics in
alchemy.AbsoluteAlchemicalFactory. (#320) - Add method in
ThermodynamicStatefor the efficient computation of the reduced potential at a list of states. (#320)
Enhancements
- When a
SamplerStateis applied to manyContexts, the units are stripped only once for optimization. (#320)
Bug fixes
- Copy thermodynamic state on compound state initialization. (#320)