@@ -74,7 +74,7 @@ class PanDDA_PostParameters(pydantic.BaseModel):
7474
7575
7676class DLSTriggerXChem (CommonService ):
77- """A service that creates and runs downstream processing jobs."""
77+ """A service that creates and runs downstream processing jobs for XChem ."""
7878
7979 # Human readable service name
8080 _service_name = "DLS TriggerXChem"
@@ -701,14 +701,22 @@ def trigger_pandda_xchem(
701701 )
702702 return {"success" : True }
703703
704- # 3. Create the dataset directory
704+ # 3. Create dataset directory structure
705705 analysis_dir = processed_dir / "analysis"
706706 pandda_dir = analysis_dir / "pandda2"
707707 model_dir = pandda_dir / "model_building"
708708 dataset_dir = model_dir / dtag
709709 compound_dir = dataset_dir / "compound"
710+
710711 self .log .info (f"Creating directory { dataset_dir } " )
711- pathlib .Path (compound_dir ).mkdir (parents = True , exist_ok = True )
712+ try :
713+ compound_dir .mkdir (parents = True , exist_ok = False )
714+ except FileExistsError :
715+ self .log .info (
716+ f"Exiting PanDDA2/Pipedream trigger: directory already exists for { dtag } "
717+ )
718+ return {"success" : True }
719+
712720 dataset_list = sorted ([p .parts [- 1 ] for p in model_dir .iterdir () if p .is_dir ()])
713721 dataset_count = sum (1 for p in model_dir .iterdir () if p .is_dir ())
714722 self .log .info (f"Dataset count is: { dataset_count } " )
0 commit comments