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.