Skip to content

Concepts

Dataset and MoleculeSet

Dataset represents a reproducible collection of data such as molecules and labels. MoleculeSet represents a collection of molecules used by workflows and models. Both are frozen dataclasses, but contained lists and molecular objects are not deeply immutable. Dataset.from_molecules() is implemented; Dataset.from_file() currently raises NotImplementedError. File input is handled by tool-specific configuration/workflows.

See the public API reference for constructors and fields.

Future data sources may include databases, but tool APIs should continue to accept stable core data objects rather than tool-specific containers.

Workflow

A Workflow orchestrates one scientific protocol, such as docking, MD, FEP, QM, or property prediction. Workflows are backend-agnostic and delegate execution to backends through the core job infrastructure.

Job

A Job represents one execution of a workflow. Jobs carry a unique ID, status, timestamps, backend metadata, and paths to the standardized run directory and logs.

Backend

A Backend submits, tracks, and cancels jobs. Core backends include local execution and Slurm. Workflows should not know Slurm-specific or local-process details.

Result

A Result is the canonical outcome of a job. Results include the job ID, tool name, status, metrics, and paths to important output files. Tools may store richer tool-specific data under their result directory, but the canonical result should remain loadable through the core helpers.