- class openfe.ProtocolDAG(*, protocol_units: list[ProtocolUnit], transformation_key: GufeKey | None, extends_key: GufeKey | None = None, name: str | None = None)#
An executable directed acyclic graph (DAG) of
ProtocolUnitobjects.A
ProtocolDAGis composed ofProtocolUnitobjects as well as how they depend on each other. A singleProtocolDAGexecution should yield sufficient information to calculate a free energy difference (though perhaps not converged) between two ChemicalSystem objects.A
ProtocolDAGyields aProtocolDAGResultwhen executed.Properties#
- namestr
Optional identifier for this
ProtocolDAGResult.- protocol_unitslist[ProtocolUnit]
ProtocolUnits (given in DAG-dependency order) used to compute thisProtocolDAGResult. Tasks are always listed after their dependencies.- graphnx.DiGraph
Graph of
ProtocolUnits as nodes, with directed edges to eachProtocolUnit’s dependencies.
Create a new ProtocolDAG`
- param protocol_units:
The ProtocolUnit s that make up this ProtocolDAG, with dependencies included as inputs.
- type protocol_units:
Iterable[ProtocolUnit]
- param transformation_key:
Key of the Transformation that this ProtocolDAG corresponds to, if applicable. This functions as a label for identifying the source of this ProtocolDAG. This label will be passed on to the ProtocolDAGResult resulting from execution of this ProtocolDAG.
- type transformation_key:
Optional[GufeKey]
- param extends_key:
Key of the ProtocolDAGResult that this ProtocolDAG extends from. This functions as a label for identifying the source of this ProtocolDAG. This label will be passed on to the ProtocolDAGResult resulting from execution of this ProtocolDAG.
- type extends_key:
Optional[GufeKey]
- param name:
Unique identifier for this ProtocolDAG.
- type name:
str