Releases: openforcefield/openff-evaluator
0.1.2
A patch release offering minor bug fixes and quality of life improvements.
Bugfixes
- PR #254 : Fix incompatible protocols being merged due to an id replacement bug.
- PR #255 : Fix recursive
ThermodynamicStatestring representation. - PR #256 : Fix incorrect version when installing from tarballs.
See our installation instructions to get started with the new release!
Please note that this is a pre-alpha release and there will still be major changes to the API prior to a stable 1.0.0 release.
0.1.1
A patch release offering minor bug fixes and quality of life improvements.
Bugfixes
- PR #249 : Fix replacing protocols of non-existent workflow schema.
- PR #253 : Fix
antechambertruncating charge file.
Documentation
- PR #252 : Use
conda-forgeforambertoolsinstallation.
See our installation instructions to get started with the new release!
Please note that this is a pre-alpha release and there will still be major changes to the API prior to a stable 1.0.0 release.
0.1.0 OpenFF Evaluator
Introducing the OpenFF Evaluator! The release marks a significant milestone in the development of this project, and constitutes an almost full redesign of the framework with a focus on stability and ease of use.
See our installation instructions to get started with the new release!
Note: because of the extensive changes made throughout the entire framework, this release should almost be considered as an entirely new package. No files produced by previous versions of this will work with this new release.
Clearer Branding
First and foremost, this release marks the complete rebranding from the previously named propertyestimator to the new openff-evaluator package. This change is accompanied by the introduction of a new openff namespace for the package, signifying it's position in the larger Open Force Field infrastructure and piplelines.
What was previously
import propertyestimator
now becomes
import openff.evaluator
The rebranded package is now shipped on conda under the new name of openff-evaluator:
conda install -c conda-forge -c omnia openff-evaluator
Markedly Improved Documentation
In addition, the release includes for the first time a significant amount of documentation for using the framework and it's features as well as a collection of user focused tutorials which can be run directly in the browser:
Beginner Tutorials:
- Tutorial 01 - Loading Data Sets
- Tutorial 02 - Estimating Data Sets
- Tutorial 03 - Analysing Data Sets
Intermediate Tutorials:
Support for RDKit
This release almost entirely removes the dependence on OpenEye thanks to support for RDKit almost universally across the framework.
The only remaining instance where OpenEye is still required is for host-guest binding affinity calculations where it is used to perform docking.
Model Validation
Starting with this release almost all models, ranging from PhysicalProperty entries to ProtocolSchema objects, are now heavily validated to help catch any typos or errors early on.
Batching of Similar Properties
The EvaluatorServer now more intelligently attempts to batch properties which may be computed using the same simulations into a single batch to be estimated. While the behaviour was already supported for pure properties in previous, this has now been significantly expanded to work well with mixture properties.
For more information on the batching, see the documentation.
Please note that this is a pre-alpha release and there will still be major changes to the API prior to a stable 1.0.0 release.
0.0.9 Multi-state Reweighting Fix
This release implements a fix for calculating the gradients of properties being estimated by reweighting data cached from multiple independant simulations.
A richer version of these release notes with live links to API documentation is available on our ReadTheDocs page
See our installation instructions.
Please report bugs, request features, or ask questions through our issue tracker.
Please note that this is a pre-alpha release and there will still be major changes to the API prior to a stable 1.0.0 release.
Bugfixes
- PR #143: Fix for multi-state gradient calculations.
0.0.8 ThermoML Improvements
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.
A richer version of these release notes with live links to API documentation is available
on our ReadTheDocs page
See our installation instructions.
Please report bugs, request features, or ask questions through our
issue tracker.
Please note that this is a pre-alpha release and there will still be major changes to the API
prior to a stable 1.0.0 release.
New Features
- PR #142: ThermoML archives without uncertainties can now be loaded.
Breaking Changes
- PR #142: All
ThermoMLXXXclasses other thanThermoMLDataSetare now private.
0.0.7 Bug Quick Fixes
This release aims to fix a number of minor bugs.
A richer version of these release notes with live links to API documentation is available
on our ReadTheDocs page
See our installation instructions.
Please report bugs, request features, or ask questions through our
issue tracker.
Please note that this is a pre-alpha release and there will still be major changes to the API
prior to a stable 1.0.0 release.
Bugfixes
0.0.6 Solvation Free Energies
This release centers around two key changes -
i) 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.
ii) the addition of workflows to estimate solvation free energies via the new SolvationYankProtocol and SolvationFreeEnergy 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.
A richer version of these release notes with live links to API documentation is available
on our ReadTheDocs page
See our installation instructions.
Please report bugs, request features, or ask questions through our
issue tracker.
Please note that this is a pre-alpha release and there will still be major changes to the API
prior to a stable 1.0.0 release.
New 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.
Bugfixes
- PR #128: Removed the defunct dask backend
processeskwarg. - PR #133: Fix for tests failing on MacOS due to
travisissues.
Breaking Changes
- PR #130: The
RunOpenMMSimulation.stepsinput has now been split into thesteps_per_iterationandtotal_number_of_iterationsinputs.
Migration Guide
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.stepstorun_openmm_simulation_protocol.steps_per_iteration
0.0.5 Fix For Merging of Estimation Requests
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).
A richer version of these release notes with live links to API documentation is available
on our ReadTheDocs page
See our installation instructions.
Please report bugs, request features, or ask questions through our
issue tracker.
Please note that this is a pre-alpha release and there will still be major changes to the API
prior to a stable 1.0.0 release.
Bugfixes
0.0.4 Initial Support for Non-SMIRNOFF FFs
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.
A richer version of these release notes with live links to API documentation is available
on our ReadTheDocs page
See our installation instructions.
Please report bugs, request features, or ask questions through our
issue tracker.
Please note that this is a pre-alpha release and there will still be major changes to the API
prior to a stable 1.0.0 release.
New Features
- PR #96: Adds a mechanism for specifying force fields not in the
SMIRNOFFspec. - PR #99: Adds support for applying
AMBERforce 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
PhysicalPropertyDataSetobjects topandas.DataFrame.
Bugfixes
- PR #115: Fixes caching data for substances whose smiles contain forward slashes.
- PR #116: Fixes inconsistent mole fraction rounding.
Breaking Changes
- PR #96: The
PropertyEstimatorClient.request_estimate(force_field=...argument has been renamed toforce_field_source.
Migration Guide
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=...)
0.0.3 ExcessMolarVolume and Typing Improvements
0.0.3
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.
A richer version of these release notes with live links to API documentation is available
on our ReadTheDocs page
See our installation instructions.
Please report bugs, request features, or ask questions through our
issue tracker.
Please note that this is a pre-alpha release and there will still be major changes to the API
prior to a stable 1.0.0 release.
New Features
- PR #98:
Substanceobjects may now have components with multiple amount types. - PR #101: Added support for estimating
ExcessMolarVolumemeasurements from simulations. - PR #104:
typing.Unionis now a valid type arguemt toprotocol_outputandprotocol_input.
Bugfixes
- PR #94: Fixes exception when testing equality of
ProtocolPathobjects. - 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.
Breaking Changes
- PR #98:
Substance.get_amountrenamed toSubstance.get_amountsand now returns an immutablefrozensetofAmountobjects, rather than a singleAmount. - PR #104: The
DivideGradientByScalar,MultiplyGradientByScalar,AddGradients,SubtractGradientsandWeightGradientByMoleFractionprotocols have been removed. TheWeightQuantityByMoleFractionprotocol has been renamed toWeightByMoleFraction.
Migration Guide
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_amounttoSubstance.get_amountsand handle the newly returned frozenset of amounts, rather than the previously returned single amount. -
Replace the now removed protocols as follows:
DivideGradientByScalar->DivideValueMultiplyGradientByScalar->MultiplyValueAddGradients->AddValuesSubtractGradients->SubtractValuesWeightGradientByMoleFraction->WeightByMoleFractionWeightQuantityByMoleFraction->WeightByMoleFraction