From 4b7e3ee445dace3f35f82513fa6b74221bf078b4 Mon Sep 17 00:00:00 2001 From: Eu Pin Tien Date: Tue, 22 Sep 2026 13:47:45 +0100 Subject: [PATCH 1/2] CLEM tags will have their parts separated by '/' instead of '--' --- src/murfey/client/contexts/clem.py | 4 ++-- src/murfey/workflows/clem/register_preprocessing_results.py | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/murfey/client/contexts/clem.py b/src/murfey/client/contexts/clem.py index 73f670751..69263a247 100644 --- a/src/murfey/client/contexts/clem.py +++ b/src/murfey/client/contexts/clem.py @@ -121,7 +121,7 @@ def post_transfer( ) # Create a unique name for the series - series_name = "--".join( + series_name = "/".join( [ *destination_file.parent.parts[ -2: @@ -167,7 +167,7 @@ def post_transfer( # Create series name for XLIF file # XLIF files don't have the "--ZXX--CXX" additions in the file name # But they have "/Metadata/" as the immediate parent - series_name = "--".join( + series_name = "/".join( [ *destination_file.parent.parent.parts[-2:], destination_file.stem.replace(" ", "_"), diff --git a/src/murfey/workflows/clem/register_preprocessing_results.py b/src/murfey/workflows/clem/register_preprocessing_results.py index 5d8d96ff6..d1e4049f6 100644 --- a/src/murfey/workflows/clem/register_preprocessing_results.py +++ b/src/murfey/workflows/clem/register_preprocessing_results.py @@ -257,9 +257,7 @@ def _register_dcg_and_atlas( visit_number = visit_name.split("-")[-1] # Generate name/tag for data colleciton group based on series name - dcg_name = imaging_site.site_name.split("--")[0] - if imaging_site.site_name.split("--")[1].isdigit(): - dcg_name += f"--{imaging_site.site_name.split('--')[1]}" + dcg_name = imaging_site.site_name.split("/")[0] # Determine values for atlas if is_atlas := imaging_site.data_type == "atlas": From 4e6665c95117f11a9c30c2db91c50a1f9c3b5521 Mon Sep 17 00:00:00 2001 From: Eu Pin Tien Date: Tue, 22 Sep 2026 13:54:34 +0100 Subject: [PATCH 2/2] Updated tests to use new CLEM series name/tag format --- .../workflows/clem/test_register_align_and_merge_results.py | 4 ++-- tests/workflows/clem/test_register_preprocessing_results.py | 6 +----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/tests/workflows/clem/test_register_align_and_merge_results.py b/tests/workflows/clem/test_register_align_and_merge_results.py index 618b34fe3..77259dc2e 100644 --- a/tests/workflows/clem/test_register_align_and_merge_results.py +++ b/tests/workflows/clem/test_register_align_and_merge_results.py @@ -51,7 +51,7 @@ def test_run( / registered_position_name / "*.tiff" ) - registered_series_name = f"{project_name}--TileScan_1--{registered_position_name}" + registered_series_name = f"{project_name}/TileScan_1/{registered_position_name}" site_name = registered_series_name.rstrip(registered_type) get_or_create_db_entry( murfey_db_session, @@ -65,7 +65,7 @@ def test_run( # Create the incoming message incoming_position_name = "Position_1" + incoming_type - incoming_series_name = f"{project_name}--TileScan_1--{incoming_position_name}" + incoming_series_name = f"{project_name}/TileScan_1/{incoming_position_name}" # The site names should match assert site_name == incoming_series_name.rstrip(incoming_type) diff --git a/tests/workflows/clem/test_register_preprocessing_results.py b/tests/workflows/clem/test_register_preprocessing_results.py index 6a091d10d..f2b6057bc 100644 --- a/tests/workflows/clem/test_register_preprocessing_results.py +++ b/tests/workflows/clem/test_register_preprocessing_results.py @@ -101,11 +101,7 @@ def generate_preprocessing_messages( messages: list[dict[str, Any]] = [] for series_path, is_stack, is_montage, shape, pixel_size, extent in datasets: # Unpack items from list of dataset parameters - series_name = ( - str(series_path.relative_to(processed_dir)) - .replace("/", "--") - .replace(" ", "_") - ) + series_name = str(series_path.relative_to(processed_dir)).replace(" ", "_") metadata = series_path / "metadata" / f"{series_path.stem}.xml" metadata.parent.mkdir(parents=True, exist_ok=True) metadata.touch(exist_ok=True)