An automated and scalable framework for curating, manipulating, and computing data sets of physical properties from molecular simulation and simulation data.
The framework is built around four central ideas:
.. rst-class:: spaced-list - **Flexibility:** New physical properties, data sources and calculation approaches are easily added via an extensible plug-in system and a flexible workflow engine. - **Automation:** Physical property measurements are readily importable from open data sources (such as the `NIST ThermoML Archive <http://trc.nist.gov/ThermoML.html>`_) through the data set APIs, and automatically calculated using either the built-in or user specified calculation schemas. - **Scalability:** Calculations are readily scalable from single machines and laptops up to large HPC clusters and supercomputers through seamless integration with libraries such as `dask <https://distributed.dask.org/en/ latest/>`_. - **Efficiency:** Properties are estimated using the fastest approach available to the framework, whether that be through evaluating a trained surrogate model, re-evaluating cached simulation data, or by running simulations directly.
The framework is designed around the idea of allowing multiple calculation approaches for estimating the same set of properties, in addition to estimation directly from molecular simulation, all using a uniform API.
The primary purpose of this is to take advantage of the many techniques exist which are able to leverage data from previous simulations to rapidly estimate sets of properties, such as reweighting cached simulation data, or evaluating surrogate models trained upon cached data. The most rapid approach which may accurately estimate a set of properties is automatically determined by the framework on the fly.
Each approach supported by the framework is implemented as a :doc:`calculation layer <layers/calculationlayers>`. Two such layers are currently supported (although new calculation layers can be readily added via the plug-in system):
- evaluating physical properties directly from molecular simulation using the :doc:`SimulationLayer <layers/simulationlayer>`.
- reprocessing cached simulation data with MBAR reweighting using the :doc:`ReweightingLayer <layers/reweightinglayer>`.
The framework has built-in support for evaluating a number of physical properties, ranging from relatively 'cheap' properties such as liquid densities, up to more computationally demanding properties such as solvation free energies and host-guest binding affinities.
Included for most of these properties is the ability to calculate their derivatives with respect to force field parameters, making the framework ideal for evaluating an objective function and it's gradient as part of a force field optimisation.
Supported
|
Gradients
|
Supported
|
Gradients
|
|
---|---|---|---|---|
Density
|
✓
|
✓
|
✓
|
✓
|
Dielectric Constant
|
✓
|
✓
|
✓
|
✓*
|
ΔHvaporization
|
✓
|
✓
|
✓
|
✓*
|
ΔHmixing
|
✓
|
✓
|
✓
|
✓*
|
ΔVexcess
|
✓
|
✓
|
✓
|
✓*
|
ΔGsolvation
|
✓
|
✕
|
✕
|
✕
|
* Entries marked with an asterisk are supported but have not yet been extensively tested and validated.
.. toctree:: :maxdepth: 2 :hidden: :caption: Getting Started Overview <self> install gettingstarted/architecture gettingstarted/client gettingstarted/server
.. toctree:: :maxdepth: 2 :hidden: :caption: Beginner Tutorials 01 - Loading Data Sets <tutorials/tutorial01> 02 - Estimating Data Sets <tutorials/tutorial02> 03 - Analysing Data Sets <tutorials/tutorial03>
.. toctree:: :maxdepth: 2 :hidden: :caption: Intermediate Tutorials 04 - Optimizing Force Fields <tutorials/tutorial04>
.. toctree:: :maxdepth: 2 :hidden: :caption: Data Sets datasets/physicalproperties datasets/thermomldatasets datasets/curation
.. toctree:: :maxdepth: 2 :hidden: :caption: Calculation Layers Overview <layers/calculationlayers> Workflow Layers <layers/workflowlayer> Direct Simulation <layers/simulationlayer> MBAR Reweighting <layers/reweightinglayer>
.. toctree:: :maxdepth: 2 :hidden: :caption: Workflows Overview <workflows/workflows> workflows/replicators workflows/workflowgraphs workflows/protocols workflows/protocolgroups
.. toctree:: :maxdepth: 2 :hidden: :caption: Calculation Backends Overview <backends/calculationbackend> backends/daskbackends
.. toctree:: :maxdepth: 2 :hidden: :caption: Storage Backends Overview <storage/storagebackend> storage/dataclasses Local File Backend <storage/localstorage>
.. toctree:: :maxdepth: 2 :hidden: :caption: Developer Documentation developer/builddocs api releasehistory developer/releaseprocess