openfe.execute_DAG(protocoldag: ProtocolDAG, *, shared_basedir: Path, scratch_basedir: Path, keep_shared: bool = False, keep_scratch: bool = False, raise_error: bool = True, n_retries: int = 0) ProtocolDAGResult#

Locally execute a full ProtocolDAG in serial and in-process.

Parameters:
  • protocoldag (ProtocolDAG) – The :class:ProtocolDAG to execute.

  • shared_basedir (Path) – Filesystem path to use for shared space that persists across whole DAG execution. Used by a ProtocolUnit to pass file contents to dependent class:ProtocolUnit instances.

  • scratch_basedir (Path) – Filesystem path to use for ProtocolUnit scratch space.

  • keep_shared (bool) – If True, don’t remove shared directories for ProtocolUnit`s after the `ProtocolDAG is executed.

  • keep_scratch (bool) – If True, don’t remove scratch directories for a ProtocolUnit after it is executed.

  • raise_error (bool) – If True, raise an exception if a ProtocolUnit fails, default True if False, any exceptions will be stored as ProtocolUnitFailure objects inside the returned ProtocolDAGResult

  • n_retries (int) – the number of times to attempt, default 0, i.e. try once and only once

Returns:

The result of executing the ProtocolDAG.

Return type:

ProtocolDAGResult