mirror of
https://github.com/deepmodeling/Uni-Lab-OS
synced 2026-03-28 03:53:10 +00:00
add unilabos/workflow and entrypoint
This commit is contained in:
24
unilabos/workflow/from_labwares_and_steps.py
Normal file
24
unilabos/workflow/from_labwares_and_steps.py
Normal file
@@ -0,0 +1,24 @@
|
||||
import json
|
||||
from os import PathLike
|
||||
|
||||
from unilabos.workflow.common import build_protocol_graph
|
||||
|
||||
|
||||
def from_labwares_and_steps(data_path: PathLike):
|
||||
with data_path.open("r", encoding="utf-8") as fp:
|
||||
d = json.load(fp)
|
||||
|
||||
if "workflow" in d and "reagent" in d:
|
||||
protocol_steps = d["workflow"]
|
||||
labware_info = d["reagent"]
|
||||
elif "steps_info" in d and "labware_info" in d:
|
||||
protocol_steps = _normalize_steps(d["steps_info"])
|
||||
labware_info = _normalize_labware(d["labware_info"])
|
||||
else:
|
||||
raise ValueError("Unsupported protocol format")
|
||||
|
||||
graph = build_protocol_graph(
|
||||
labware_info=labware_info,
|
||||
protocol_steps=protocol_steps,
|
||||
workstation_name="PRCXi",
|
||||
)
|
||||
Reference in New Issue
Block a user