openfe.protocols#

Descriptions and implementations of free energy calculation protocols.

A Protocol describes a methodology for computing a free energy from a pair of chemical systems. It produces a number of ProtocolDAG objects, which are directed acyclic graphs describing the dependencies between individual units of work that can otherwise be run in parallel. Each unit of work is described and implemented by a ProtocolUnit. The results of a ProtocolUnit are described by a ProtocolUnitResult when successful or else a ProtocolUnitFailure; these types are then collected into a ProtocolDAGResult to describe the result of a protocol DAG, and multiple DAGs from different transformations in the same campaign can be collected into a ProtocolResult.

Protocol instances are configured by Pydantic models describing their settings.. Base classes and a number of implemented building blocks for complex configurations are found in the settings module.

Other submodules in this module represent individual implementations of protocols.

Modules

settings

Settings models for Protocols.

openmm_rfe

Run relative free energy calculations on hybrid topologies with OpenMM.

Classes

Protocol

A protocol that implements an alchemical transformation.

ProtocolDAG

An executable directed acyclic graph (DAG) of ProtocolUnit objects.

ProtocolUnit

A unit of work within a ProtocolDAG.

ProtocolUnitResult

Successful result of a single ProtocolUnit execution.

ProtocolUnitFailure

Failed result of a single ProtocolUnit execution.

ProtocolDAGResult

Result for a single execution of an entire ProtocolDAG.

ProtocolResult

Container for all results for a single Transformation.