Releases: choderalab/openmmtools
Releases · choderalab/openmmtools
0.17.0 - Removed Py2 support, faster exact PME treatment
New features
- Add
GlobalParameterFunction
that allows to enslave aGlobalParameter
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 aSamplerState
over the network and velocities are not required (#386). - Add
DoubleWellDimer_WCAFluid
andDoubleWellChain_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
withSystem
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 differentAlchemicalState
s 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 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_variable
andAlchemicalState.set_alchemical_variable
have been deprecated. UseAlchemicalState.get_alchemical_function
andAlchemicalState.set_alchemical_function
instead.
0.16.0 - Py2 deprecated, GlobalParameterState class, SamplerState reads CVs
New features
- Add ability for
SamplerState
to read new OpenMM CustomCVForce variables from theContext
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 throughContextCache.INCOMPATIBLE_INTEGRATOR_ATTRIBUTES
(#364).
Others
- Integrator
MCMCMove
s now attempt to recover from NaN automatically by default (withn_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
inAlchemicalState
in anticipation of the new implementation of the exact PME that will be based on theNonbondedForce
offsets 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
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 manyContext
s, the units are stripped only once for optimization. (#320)
Bug fixes
- Copy thermodynamic state on compound state initialization. (#320)
0.13.4 - Barostat/External Force Bugfix, Restart Robustness
Bug fixes
- Fixed implementation bug where
CustomExternalForce
restraining atoms to absolute coordinates caused an issue when a Barostat was used (#310)
Enhancements
- MCMC Integrators now attempt to re-initialize the
Context
object on the last restart attempt when NaN's are encountered. This has internally been shown to correct some instances where normally resetting positions does not work around the NaN's. This is a slow step relative to just resetting positions, but better than simulation crashing.
0.13.3 - Critical Bugfix to SamplerState Context Manipulation
Critical Fixes
- SamplerState.apply_to_context() applies box vectors before positions are set to prevent a bug on non-Reference OpenMM Platforms which can re-order system atoms and sample the wrong distribution. (#305)
Additional Fixes
0.13.2 - SamplerState Slicing and BitWise And/Or Ops
0.13.1 - Bugfix release
OpenMMTools 0.13.0
This release includes the following features:
- Storage Interface module with automatic disk IO handling
- Option for shifted or switched Reaction Field
- LangevinSplittingDynamic MCMC move with specifiable sub step ordering
- Nose-Hoover Chain Thermostat
Bugs fixed in this release
- Many doc string cleanups
- Tests are based on released versions of OpenMM
- Tests also compare against development OpenMM, but do not fail because of it
- Fixed bug in Harmonic Oscillator tests' error calculation
- Default collision rate in Langevin Integrators now matches docs