Releases will eventually follow the major.minor.micro
scheme recommended by PEP440, where
major
increments denote a change that may break API compatibility with previousmajor
releasesminor
increments add features but do not break API compatibilitymicro
increments represent bugfix releases or improvements in documentation
All early releases however will simply recieve a micro
version bump regardless of how major the changes may be.
This release is centered around cleaning up the ThermoML data set utilities. The main change is that ThermoML archive files can now be loaded even if they don't contain measurement uncertainties.
- PR #142: ThermoML archives without uncertainties can now be loaded.
- PR #142: All ThermoMLXXX classes other than ThermoMLDataSet are now private.
This release aims to fix a number of minor bugs.
- PR #136: Fix for comparing thermodynamic states with unset pressures.
- PR #138: Fix for a typo in the maximum number of minimization iterations.
This release centers around two key changes -
- a general refactoring of the protocol classes to be much cleaner and extensible through the removal of the old stub functions and the addition of cleaner descriptors.
- the addition of workflows to estimate solvation free energies via the new
SolvationYankProtocol
andSolvationFreeEnergy
classes.
The implemented free energy workflow is still rather basic, and does not yet support calculating parameter gradients or estimation from cached simulation data through reweighting.
A new table has been added to the documentation to make clear which built-in properties support which features.
- PR #110: Cleanup and refactor of protocol classes.
- PR #125: Support for PBS based HPC clusters.
- PR #127: Adds a basic workflow for estimating solvation free energies with YANK.
- PR #130: Adds a cleaner mechanism for restarting simulations from checkpoints.
- PR #134: Update to a more stable dask version.
- PR #128: Removed the defunct dask backend processes kwarg.
- PR #133: Fix for tests failing on MacOS due to travis issues.
- PR #130: The
RunOpenMMSimulation.steps
input has now been split into thesteps_per_iteration
andtotal_number_of_iterations
inputs.
This release contained several public API breaking changes. For the most part, these can be remedied by the follow steps:
- Replace all instances of
run_openmm_simulation_protocol.steps
torun_openmm_simulation_protocol.steps_per_iteration
This release implements a fix for a major bug which caused incorrect results to be returned when submitting multiple estimation requests at the same time - namely, the returned results became jumbled between the different requests. As an example, if a request was made to estimate a data set using the smirnoff99frosst force field, and then straight after with the gaff 1.81 force field, the results of the smirnoff99frosst request may contain some properties estimated with gaff 1.81 and vice versa.
This issue does not affect cases where only a single request was made and completed at a time (i.e the results of the previous request completed before the next estimation request was made).
This release adds initial support for estimating property data sets using force fields not based on the SMIRNOFF
specification. In particular, initial AMBER force field support has been added, along with a protocol which applies said force fields using tleap
.
- PR #96: Adds a mechanism for specifying force fields not in the
SMIRNOFF
spec. - PR #99: Adds support for applying
AMBER
force field parameters throughtleap
- PR #111: Protocols now stream trajectories from disk, rather than pre-load the whole thing.
- PR #112: Specific types of protocols can now be easily be replaced using
WorkflowOptions
. - PR #117: Adds support for converting
PhysicalPropertyDataSet
objects topandas.DataFrame
.
- PR #115: Fixes caching data for substances whose smiles contain forward slashes.
- PR #116: Fixes inconsistent mole fraction rounding.
- PR #96: The
PropertyEstimatorClient.request_estimate(force_field=...
argument has been renamed toforce_field_source
.
This release contained several public API breaking changes. For the most part, these can be remedied by the follow steps:
- Change all instances of
PropertyEstimatorClient.request_estimate(force_field=...)
toPropertyEstimatorClient.request_estimate(force_field_source=...)
This release implements a number of bug fixes and adds two key new features, namely built in support for estimating excess molar volume measurements, and improved type checking for protocol inputs and outputs.
- PR #98:
Substance
objects may now have components with multiple amount types. - PR #101: Added support for estimating
ExcessMolarVolume
measurements from simulations. - PR #104:
typing.Union
is now a valid type arguemt toprotocol_output
andprotocol_input
.
- PR #94: Fixes exception when testing equality of
ProtocolPath
objects. - PR #100: Fixes precision issues when ensuring mole fractions are <= 1.0.
- PR #102: Fixes replicated input for children of replicated protocols.
- PR #105: Fixes excess properties weighting by the wrong mole fractions.
- PR #107: Fixes excess properties being converged to the wrong uncertainty.
- PR #108: Fixes calculating MBAR gradients of reweighted properties.
- PR #98:
Substance.get_amount
renamed toSubstance.get_amounts
and now returns an immutablefrozenset
ofAmount
objects, rather than a singleAmount
. - PR #104: The
DivideGradientByScalar
,MultiplyGradientByScalar
,AddGradients
,SubtractGradients
andWeightGradientByMoleFraction
protocols have been removed. TheWeightQuantityByMoleFraction
protocol has been renamed toWeightByMoleFraction
.
This release contained several public API breaking changes. For the most part, these can be remedied by the follow steps:
- Change all instances of
Substance.get_amount
toSubstance.get_amounts
and handle the newly returned frozenset of amounts, rather than the previously returned single amount. - Replace the now removed protocols as follows:
DivideGradientByScalar
->DivideValue
MultiplyGradientByScalar
->MultiplyValue
AddGradients
->AddValues
SubtractGradients
->SubtractValues
WeightGradientByMoleFraction
->WeightByMoleFraction
WeightQuantityByMoleFraction
->WeightByMoleFraction
A minor release to fix a number of minor bugs related to replicating protocols.
- PR #90: Fixes merging gradient protocols with the same id.
- PR #92: Fixes replicating protocols for more than 10 template values.
- PR #93: Fixes
ConditionalGroup
objects losing their conditions input.
The initial pre-alpha release of the framework.