TransformationBase#
- class gufe.transformations.transformation.TransformationBase(protocol: Protocol, name: str | None = None)#
Transformation base class.
- Parameters:
protocol (Protocol) – The sampling method to use for the transformation.
name (str, optional) – A human-readable name for this transformation.
Methods
Returns a
ProtocolDAGexecuting thisTransformation.protocol.Dump this Transformation to a JSON file.
Gather multiple
ProtocolDAGResults into a singleProtocolResult.Create a Transformation from a JSON file.
Attributes
Optional identifier for the transformation; used as part of its hash.
The
Protocolused to perform the transformation.The starting
ChemicalSystemfor the transformation.The ending
ChemicalSystemfor the transformation.- abstract create(*, extends: ProtocolDAGResult | None = None, name: str | None = None) ProtocolDAG#
Returns a
ProtocolDAGexecuting thisTransformation.protocol.
- dump(file)#
Dump this Transformation to a JSON file.
Note that this is not space-efficient: for example, any
Componentwhich is used in bothChemicalSystemobjects will be represented twice in the JSON output.- Parameters:
file (Union[PathLike, FileLike]) – A pathlike of filelike to save this transformation to.
- gather(protocol_dag_results: Iterable[ProtocolDAGResult]) ProtocolResult#
Gather multiple
ProtocolDAGResults into a singleProtocolResult.- Parameters:
protocol_dag_results (Iterable[ProtocolDAGResult]) – The
ProtocolDAGResultobjects to assemble aggregate quantities from.- Returns:
Aggregated results from many
ProtocolDAGResultobjects, all from a givenProtocol.- Return type:
- classmethod load(file)#
Create a Transformation from a JSON file.
- Parameters:
file (Union[PathLike, FileLike]) – A pathlike or filelike to read this transformation from.
- property name: str | None#
Optional identifier for the transformation; used as part of its hash.
Set this to a unique value if adding multiple, otherwise identical transformations to the same
AlchemicalNetworkto avoid deduplication.
- property protocol: Protocol#
The
Protocolused to perform the transformation.The protocol estimates the free energy differences between
stateAandstateBChemicalSystemobjects. It includes all details needed to perform required simulations/calculations and encodes the alchemical or non-alchemical pathway used.
- abstract property stateA: ChemicalSystem#
The starting
ChemicalSystemfor the transformation.
- abstract property stateB: ChemicalSystem#
The ending
ChemicalSystemfor the transformation.