From 008f51517b398379b641a7b0d50856c3f6b0b896 Mon Sep 17 00:00:00 2001 From: CI Date: Wed, 27 Aug 2025 13:46:49 +0000 Subject: [PATCH] Build branch allow-compressed-output-bundles with version allow-compressed-output-bundles (2cc934c) Build pipeline: openpipelines-bio.openpipeline-spatial.allow-compressed-ou59m5k Source commit: https://github.com/openpipelines-bio/openpipeline_spatial/commit/2cc934cef9746e6befa3e91c82080bc071294628 Source message: wip --- .../from_cells2stats_to_h5mu/script.py | 23 ++++----- src/convert/from_cells2stats_to_h5mu/test.py | 15 +++--- src/convert/from_cosmx_to_h5mu/script.py | 29 +++++++---- src/convert/from_cosmx_to_h5mu/test.py | 11 ++-- src/convert/from_xenium_to_h5mu/script.py | 19 ++++--- src/convert/from_xenium_to_h5mu/test.py | 15 +++--- .../config.vsh.yaml | 5 ++ .../from_xenium_to_spatialdata/script.py | 5 ++ .../from_xenium_to_spatialdata/test.py | 31 ++++++++++++ src/utils/unzip_archived_folder.py | 7 +-- .../from_cells2stats_to_h5mu/.config.vsh.yaml | 2 +- .../from_cells2stats_to_h5mu | 27 +++++----- .../unzip_archived_folder.py | 7 +-- .../from_cosmx_to_h5mu/.config.vsh.yaml | 2 +- .../from_cosmx_to_h5mu/from_cosmx_to_h5mu | 33 +++++++----- .../unzip_archived_folder.py | 7 +-- .../.config.vsh.yaml | 2 +- .../from_cosmx_to_spatialexperiment | 4 +- .../.config.vsh.yaml | 2 +- .../from_h5mu_to_spatialexperiment | 4 +- .../from_spatialdata_to_h5mu/.config.vsh.yaml | 2 +- .../from_spatialdata_to_h5mu | 4 +- .../from_xenium_to_h5mu/.config.vsh.yaml | 2 +- .../from_xenium_to_h5mu/from_xenium_to_h5mu | 23 +++++---- .../unzip_archived_folder.py | 7 +-- .../.config.vsh.yaml | 8 ++- .../from_xenium_to_spatialdata | 9 +++- .../unzip_archived_folder.py | 50 +++++++++++++++++++ .../.config.vsh.yaml | 2 +- .../from_xenium_to_spatialexperiment | 4 +- .../filter/subset_cosmx/.config.vsh.yaml | 2 +- .../filter/subset_cosmx/subset_cosmx | 4 +- .../spaceranger_count/.config.vsh.yaml | 2 +- .../spaceranger_count/spaceranger_count | 4 +- .../from_cells2stats_to_h5mu/.config.vsh.yaml | 2 +- .../convert/from_cells2stats_to_h5mu/main.nf | 25 +++++----- .../unzip_archived_folder.py | 7 +-- .../from_cosmx_to_h5mu/.config.vsh.yaml | 2 +- .../convert/from_cosmx_to_h5mu/main.nf | 31 ++++++++---- .../unzip_archived_folder.py | 7 +-- .../.config.vsh.yaml | 2 +- .../from_cosmx_to_spatialexperiment/main.nf | 2 +- .../.config.vsh.yaml | 2 +- .../from_h5mu_to_spatialexperiment/main.nf | 2 +- .../from_spatialdata_to_h5mu/.config.vsh.yaml | 2 +- .../convert/from_spatialdata_to_h5mu/main.nf | 2 +- .../from_xenium_to_h5mu/.config.vsh.yaml | 2 +- .../convert/from_xenium_to_h5mu/main.nf | 21 ++++---- .../unzip_archived_folder.py | 7 +-- .../.config.vsh.yaml | 8 ++- .../from_xenium_to_spatialdata/main.nf | 18 ++++++- .../unzip_archived_folder.py | 50 +++++++++++++++++++ .../.config.vsh.yaml | 2 +- .../from_xenium_to_spatialexperiment/main.nf | 2 +- .../filter/subset_cosmx/.config.vsh.yaml | 2 +- target/nextflow/filter/subset_cosmx/main.nf | 2 +- .../spaceranger_count/.config.vsh.yaml | 2 +- .../mapping/spaceranger_count/main.nf | 2 +- .../spatial_process_samples/.config.vsh.yaml | 2 +- .../spatial_process_samples/main.nf | 2 +- .../workflows/qc/spatial_qc/.config.vsh.yaml | 2 +- .../nextflow/workflows/qc/spatial_qc/main.nf | 2 +- 62 files changed, 387 insertions(+), 198 deletions(-) create mode 100644 target/executable/convert/from_xenium_to_spatialdata/unzip_archived_folder.py create mode 100644 target/nextflow/convert/from_xenium_to_spatialdata/unzip_archived_folder.py diff --git a/src/convert/from_cells2stats_to_h5mu/script.py b/src/convert/from_cells2stats_to_h5mu/script.py index 9824770..aabb9ec 100644 --- a/src/convert/from_cells2stats_to_h5mu/script.py +++ b/src/convert/from_cells2stats_to_h5mu/script.py @@ -173,23 +173,23 @@ def retrieve_input_data(cells2stats_output_bundle): # │ └── RawCellStats.parquet # └── Panel.json - required_files = [ - "Panel.json", - "Cytoprofiling/Instrument/RawCellStats.parquet" - ] + required_files = ["Panel.json", "Cytoprofiling/Instrument/RawCellStats.parquet"] if zipfile.is_zipfile(cells2stats_output_bundle): cells2stats_output_bundle = extract_selected_files_from_zip( - cells2stats_output_bundle, - members=required_files + cells2stats_output_bundle, members=required_files ) - assert os.path.isdir(cells2stats_output_bundle), "Input is expected to be a (compressed) directory." + assert os.path.isdir(cells2stats_output_bundle), ( + "Input is expected to be a (compressed) directory." + ) input_dir = Path(cells2stats_output_bundle) - input_data = dict(zip( - ["target_panel", "count_matrix"], - [input_dir / file for file in required_files] - )) + input_data = dict( + zip( + ["target_panel", "count_matrix"], + [input_dir / file for file in required_files], + ) + ) assert all([file.exists() for file in input_data.values()]), ( f"Not all required input files are found. Make sure that {par['input']} contains {input_data.values()}." @@ -199,7 +199,6 @@ def retrieve_input_data(cells2stats_output_bundle): def main(): - logger.info("Reading input data...") input_data = retrieve_input_data(par["input"]) with open(input_data["target_panel"], "r") as f: diff --git a/src/convert/from_cells2stats_to_h5mu/test.py b/src/convert/from_cells2stats_to_h5mu/test.py index 077099e..14b3a19 100644 --- a/src/convert/from_cells2stats_to_h5mu/test.py +++ b/src/convert/from_cells2stats_to_h5mu/test.py @@ -56,15 +56,18 @@ def test_compressed_input(run_component, tmp_path): output = tmp_path / "aviti.h5mu" zipped_input = tmp_path / "aviti.zip" - subprocess.run( - ["zip", "-r", str(zipped_input), "."], - cwd=input, - check=True - ) + subprocess.run(["zip", "-r", str(zipped_input), "."], cwd=input, check=True) # run component run_component( - ["--input", zipped_input, "--output", str(output), "--output_compression", "gzip"] + [ + "--input", + zipped_input, + "--output", + str(output), + "--output_compression", + "gzip", + ] ) assert output.is_file(), "output file was not created" diff --git a/src/convert/from_cosmx_to_h5mu/script.py b/src/convert/from_cosmx_to_h5mu/script.py index 60c8248..225efb7 100644 --- a/src/convert/from_cosmx_to_h5mu/script.py +++ b/src/convert/from_cosmx_to_h5mu/script.py @@ -4,7 +4,6 @@ import squidpy as sq import mudata as mu import glob import zipfile -import os ## VIASH START par = { @@ -38,19 +37,29 @@ def retrieve_input_data(cosmx_output_bundle): # ├── *_fov_positions_file.csv # └── *_metadata_file.csv - expected_file_patterns = ["exprMat_file.csv", "fov_positions_file.csv", "metadata_file.csv"] + expected_file_patterns = [ + "exprMat_file.csv", + "fov_positions_file.csv", + "metadata_file.csv", + ] if zipfile.is_zipfile(cosmx_output_bundle): cosmx_output_bundle = extract_selected_files_from_zip( - cosmx_output_bundle, - members=["*" + file for file in expected_file_patterns] + cosmx_output_bundle, members=["*" + file for file in expected_file_patterns] ) - assert os.path.isdir(cosmx_output_bundle), "Input is expected to be a (compressed) directory." + assert os.path.isdir(cosmx_output_bundle), ( + "Input is expected to be a (compressed) directory." + ) - input_data = dict(zip( - ["counts_file", "fov_file", "meta_file"], - [find_cosmx_files(cosmx_output_bundle, glob_pattern) for glob_pattern in expected_file_patterns] - )) + input_data = dict( + zip( + ["counts_file", "fov_file", "meta_file"], + [ + find_cosmx_files(cosmx_output_bundle, glob_pattern) + for glob_pattern in expected_file_patterns + ], + ) + ) return input_data @@ -63,7 +72,7 @@ def main(): path=par["input"], counts_file=input_data["counts_file"], meta_file=input_data["meta_file"], - fov_file=input_data["fov_file"] + fov_file=input_data["fov_file"], ) logger.info("Writing output MuData object...") diff --git a/src/convert/from_cosmx_to_h5mu/test.py b/src/convert/from_cosmx_to_h5mu/test.py index 272e8ac..a13d212 100644 --- a/src/convert/from_cosmx_to_h5mu/test.py +++ b/src/convert/from_cosmx_to_h5mu/test.py @@ -3,6 +3,7 @@ import sys import mudata as mu import subprocess + def test_simple_execution(run_component, tmp_path): output = tmp_path / "cosmx_tiny.h5mu" @@ -57,13 +58,9 @@ def test_compressed_input(run_component, tmp_path): output = tmp_path / "cosmx_tiny.h5mu" zipped_input = tmp_path / "xenium_tiny.zip" input = meta["resources_dir"] + "/Lung5_Rep2_tiny" - - subprocess.run( - ["zip", "-r", str(zipped_input), "."], - cwd=input, - check=True - ) - + + subprocess.run(["zip", "-r", str(zipped_input), "."], cwd=input, check=True) + run_component( [ "--input", diff --git a/src/convert/from_xenium_to_h5mu/script.py b/src/convert/from_xenium_to_h5mu/script.py index ce27189..3fe452f 100644 --- a/src/convert/from_xenium_to_h5mu/script.py +++ b/src/convert/from_xenium_to_h5mu/script.py @@ -37,22 +37,25 @@ def _retrieve_input_data(xenium_output_bundle): "cell_feature_matrix.h5", "cells.parquet", "experiment.xenium", - "metrics_summary.csv" + "metrics_summary.csv", ] if zipfile.is_zipfile(xenium_output_bundle): xenium_output_bundle = extract_selected_files_from_zip( - xenium_output_bundle, - members=required_files + xenium_output_bundle, members=required_files ) - assert os.path.isdir(xenium_output_bundle), f"Input is expected to be a (compressed) directory." + assert os.path.isdir(xenium_output_bundle), ( + "Input is expected to be a (compressed) directory." + ) input_dir = Path(xenium_output_bundle) - input_data = dict(zip( - ["count_matrix", "cells_metadata", "experiment", "metrics_summary"], - [input_dir / file for file in required_files] - )) + input_data = dict( + zip( + ["count_matrix", "cells_metadata", "experiment", "metrics_summary"], + [input_dir / file for file in required_files], + ) + ) assert all([file.exists() for file in input_data.values()]), ( f"Not all required input files are found. Make sure that {par['input']} contains {input_data.values()}." diff --git a/src/convert/from_xenium_to_h5mu/test.py b/src/convert/from_xenium_to_h5mu/test.py index 49372ca..e3c4f9a 100644 --- a/src/convert/from_xenium_to_h5mu/test.py +++ b/src/convert/from_xenium_to_h5mu/test.py @@ -67,15 +67,18 @@ def test_compressed_input(run_component, tmp_path): output = tmp_path / "xenium.h5mu" zipped_input = tmp_path / "xenium_tiny.zip" - subprocess.run( - ["zip", "-r", str(zipped_input), "."], - cwd=input, - check=True - ) + subprocess.run(["zip", "-r", str(zipped_input), "."], cwd=input, check=True) # run component run_component( - ["--input", zipped_input, "--output", str(output), "--output_compression", "gzip"] + [ + "--input", + zipped_input, + "--output", + str(output), + "--output_compression", + "gzip", + ] ) assert output.is_file(), "output file was not created" diff --git a/src/convert/from_xenium_to_spatialdata/config.vsh.yaml b/src/convert/from_xenium_to_spatialdata/config.vsh.yaml index 9160bec..2c04882 100644 --- a/src/convert/from_xenium_to_spatialdata/config.vsh.yaml +++ b/src/convert/from_xenium_to_spatialdata/config.vsh.yaml @@ -78,6 +78,7 @@ resources: - type: python_script path: script.py - path: /src/utils/setup_logger.py + - path: /src/utils/unzip_archived_folder.py test_resources: - type: python_script path: test.py @@ -91,6 +92,10 @@ engines: - procps - type: python __merge__: [ /src/base/requirements/spatialdata-io.yaml ] + test_setup: + - type: apt + packages: + - zip __merge__: [ /src/base/requirements/python_test_setup.yaml, .] runners: - type: executable diff --git a/src/convert/from_xenium_to_spatialdata/script.py b/src/convert/from_xenium_to_spatialdata/script.py index bc287b6..2dc15a8 100644 --- a/src/convert/from_xenium_to_spatialdata/script.py +++ b/src/convert/from_xenium_to_spatialdata/script.py @@ -1,5 +1,6 @@ import sys from spatialdata_io import xenium +import zipfile ## VIASH START par = { @@ -22,10 +23,14 @@ meta = {"resources_dir": "src/utils"} sys.path.append(meta["resources_dir"]) from setup_logger import setup_logger +from unzip_archived_folder import unzip_archived_folder logger = setup_logger() logger.info("Reading in Xenium data...") +if zipfile.is_zipfile(par["input"]): + par["input"] = unzip_archived_folder(par["input"]) + sdata = xenium( par["input"], cells_boundaries=par["cells_boundaries"], diff --git a/src/convert/from_xenium_to_spatialdata/test.py b/src/convert/from_xenium_to_spatialdata/test.py index c7cf3c1..9d496b4 100644 --- a/src/convert/from_xenium_to_spatialdata/test.py +++ b/src/convert/from_xenium_to_spatialdata/test.py @@ -2,6 +2,7 @@ import pytest import os import sys import spatialdata as sd +import subprocess def test_simple_execution(run_component, tmp_path): @@ -31,5 +32,35 @@ def test_simple_execution(run_component, tmp_path): assert (output_sd_path / "zmetadata").is_file(), "zmetadata file was not created" +def test_compressed_input(run_component, tmp_path): + output_sd_path = tmp_path / "sd" + input = meta["resources_dir"] + "/xenium_tiny" + zipped_input = tmp_path / "xenium_tiny.zip" + + subprocess.run(["zip", "-r", str(zipped_input), "."], cwd=input, check=True) + run_component( + [ + "--input", + zipped_input, + "--output", + output_sd_path, + ] + ) + + assert os.path.exists(output_sd_path), "Output zarr folder was not created" + + sdata = sd.read_zarr(output_sd_path) + assert isinstance(sdata, sd.SpatialData), ( + "the generated output is not a SpatialData object" + ) + + assert os.path.exists(output_sd_path / "images"), "images folder was not created" + assert os.path.exists(output_sd_path / "labels"), "labels folder was not created" + assert os.path.exists(output_sd_path / "points"), "images folder was not created" + assert os.path.exists(output_sd_path / "shapes"), "shapes folder was not created" + assert os.path.exists(output_sd_path / "tables"), "tables folder was not created" + assert (output_sd_path / "zmetadata").is_file(), "zmetadata file was not created" + + if __name__ == "__main__": sys.exit(pytest.main([__file__])) diff --git a/src/utils/unzip_archived_folder.py b/src/utils/unzip_archived_folder.py index a6ea093..db87d38 100644 --- a/src/utils/unzip_archived_folder.py +++ b/src/utils/unzip_archived_folder.py @@ -5,9 +5,7 @@ from pathlib import Path from typing import Union -def unzip_archived_folder( - archived_folder: Union[str, Path] -) -> Union[str, Path]: +def unzip_archived_folder(archived_folder: Union[str, Path]) -> Union[str, Path]: """ Extracts a ZIP archive to a temporary directory and returns the path to the extracted folder. @@ -26,8 +24,7 @@ def unzip_archived_folder( def extract_selected_files_from_zip( - zip_path: Union[str, Path], - members: list[Union[str, Path]] + zip_path: Union[str, Path], members: list[Union[str, Path]] ) -> Union[str, Path]: """ Extracts selected files (supports glob patterns) from a ZIP archive to a temporary directory. diff --git a/target/executable/convert/from_cells2stats_to_h5mu/.config.vsh.yaml b/target/executable/convert/from_cells2stats_to_h5mu/.config.vsh.yaml index 9c3b60b..2d6a232 100644 --- a/target/executable/convert/from_cells2stats_to_h5mu/.config.vsh.yaml +++ b/target/executable/convert/from_cells2stats_to_h5mu/.config.vsh.yaml @@ -296,7 +296,7 @@ build_info: output: "target/executable/convert/from_cells2stats_to_h5mu" executable: "target/executable/convert/from_cells2stats_to_h5mu/from_cells2stats_to_h5mu" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/executable/convert/from_cells2stats_to_h5mu/from_cells2stats_to_h5mu b/target/executable/convert/from_cells2stats_to_h5mu/from_cells2stats_to_h5mu index 800df36..dd8b98f 100755 --- a/target/executable/convert/from_cells2stats_to_h5mu/from_cells2stats_to_h5mu +++ b/target/executable/convert/from_cells2stats_to_h5mu/from_cells2stats_to_h5mu @@ -458,9 +458,9 @@ RUN pip install --upgrade pip && \ LABEL org.opencontainers.image.authors="Dorien Roosen" LABEL org.opencontainers.image.description="Companion container for running component convert from_cells2stats_to_h5mu" -LABEL org.opencontainers.image.created="2025-08-27T10:55:44Z" +LABEL org.opencontainers.image.created="2025-08-27T13:23:38Z" LABEL org.opencontainers.image.source="https://github.com/openpipelines-bio/openpipeline_spatial" -LABEL org.opencontainers.image.revision="b1bfccbd0edea3f1692c489d0f174f7e494a7341" +LABEL org.opencontainers.image.revision="2cc934cef9746e6befa3e91c82080bc071294628" LABEL org.opencontainers.image.version="allow-compressed-output-bundles" VIASHDOCKER @@ -1433,23 +1433,23 @@ def retrieve_input_data(cells2stats_output_bundle): # │ └── RawCellStats.parquet # └── Panel.json - required_files = [ - "Panel.json", - "Cytoprofiling/Instrument/RawCellStats.parquet" - ] + required_files = ["Panel.json", "Cytoprofiling/Instrument/RawCellStats.parquet"] if zipfile.is_zipfile(cells2stats_output_bundle): cells2stats_output_bundle = extract_selected_files_from_zip( - cells2stats_output_bundle, - members=required_files + cells2stats_output_bundle, members=required_files ) - assert os.path.isdir(cells2stats_output_bundle), "Input is expected to be a (compressed) directory." + assert os.path.isdir(cells2stats_output_bundle), ( + "Input is expected to be a (compressed) directory." + ) input_dir = Path(cells2stats_output_bundle) - input_data = dict(zip( - ["target_panel", "count_matrix"], - [input_dir / file for file in required_files] - )) + input_data = dict( + zip( + ["target_panel", "count_matrix"], + [input_dir / file for file in required_files], + ) + ) assert all([file.exists() for file in input_data.values()]), ( f"Not all required input files are found. Make sure that {par['input']} contains {input_data.values()}." @@ -1459,7 +1459,6 @@ def retrieve_input_data(cells2stats_output_bundle): def main(): - logger.info("Reading input data...") input_data = retrieve_input_data(par["input"]) with open(input_data["target_panel"], "r") as f: diff --git a/target/executable/convert/from_cells2stats_to_h5mu/unzip_archived_folder.py b/target/executable/convert/from_cells2stats_to_h5mu/unzip_archived_folder.py index a6ea093..db87d38 100644 --- a/target/executable/convert/from_cells2stats_to_h5mu/unzip_archived_folder.py +++ b/target/executable/convert/from_cells2stats_to_h5mu/unzip_archived_folder.py @@ -5,9 +5,7 @@ from pathlib import Path from typing import Union -def unzip_archived_folder( - archived_folder: Union[str, Path] -) -> Union[str, Path]: +def unzip_archived_folder(archived_folder: Union[str, Path]) -> Union[str, Path]: """ Extracts a ZIP archive to a temporary directory and returns the path to the extracted folder. @@ -26,8 +24,7 @@ def unzip_archived_folder( def extract_selected_files_from_zip( - zip_path: Union[str, Path], - members: list[Union[str, Path]] + zip_path: Union[str, Path], members: list[Union[str, Path]] ) -> Union[str, Path]: """ Extracts selected files (supports glob patterns) from a ZIP archive to a temporary directory. diff --git a/target/executable/convert/from_cosmx_to_h5mu/.config.vsh.yaml b/target/executable/convert/from_cosmx_to_h5mu/.config.vsh.yaml index b8c3696..107b11f 100644 --- a/target/executable/convert/from_cosmx_to_h5mu/.config.vsh.yaml +++ b/target/executable/convert/from_cosmx_to_h5mu/.config.vsh.yaml @@ -231,7 +231,7 @@ build_info: output: "target/executable/convert/from_cosmx_to_h5mu" executable: "target/executable/convert/from_cosmx_to_h5mu/from_cosmx_to_h5mu" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/executable/convert/from_cosmx_to_h5mu/from_cosmx_to_h5mu b/target/executable/convert/from_cosmx_to_h5mu/from_cosmx_to_h5mu index dfbb44e..a756057 100755 --- a/target/executable/convert/from_cosmx_to_h5mu/from_cosmx_to_h5mu +++ b/target/executable/convert/from_cosmx_to_h5mu/from_cosmx_to_h5mu @@ -459,9 +459,9 @@ RUN pip install --upgrade pip && \ LABEL org.opencontainers.image.authors="Dorien Roosen, Weiwei Schultz" LABEL org.opencontainers.image.description="Companion container for running component convert from_cosmx_to_h5mu" -LABEL org.opencontainers.image.created="2025-08-27T10:55:45Z" +LABEL org.opencontainers.image.created="2025-08-27T13:23:38Z" LABEL org.opencontainers.image.source="https://github.com/openpipelines-bio/openpipeline_spatial" -LABEL org.opencontainers.image.revision="b1bfccbd0edea3f1692c489d0f174f7e494a7341" +LABEL org.opencontainers.image.revision="2cc934cef9746e6befa3e91c82080bc071294628" LABEL org.opencontainers.image.version="allow-compressed-output-bundles" VIASHDOCKER @@ -1115,7 +1115,6 @@ import squidpy as sq import mudata as mu import glob import zipfile -import os ## VIASH START # The following code has been auto-generated by Viash. @@ -1173,19 +1172,29 @@ def retrieve_input_data(cosmx_output_bundle): # ├── *_fov_positions_file.csv # └── *_metadata_file.csv - expected_file_patterns = ["exprMat_file.csv", "fov_positions_file.csv", "metadata_file.csv"] + expected_file_patterns = [ + "exprMat_file.csv", + "fov_positions_file.csv", + "metadata_file.csv", + ] if zipfile.is_zipfile(cosmx_output_bundle): cosmx_output_bundle = extract_selected_files_from_zip( - cosmx_output_bundle, - members=["*" + file for file in expected_file_patterns] + cosmx_output_bundle, members=["*" + file for file in expected_file_patterns] ) - assert os.path.isdir(cosmx_output_bundle), "Input is expected to be a (compressed) directory." + assert os.path.isdir(cosmx_output_bundle), ( + "Input is expected to be a (compressed) directory." + ) - input_data = dict(zip( - ["counts_file", "fov_file", "meta_file"], - [find_cosmx_files(cosmx_output_bundle, glob_pattern) for glob_pattern in expected_file_patterns] - )) + input_data = dict( + zip( + ["counts_file", "fov_file", "meta_file"], + [ + find_cosmx_files(cosmx_output_bundle, glob_pattern) + for glob_pattern in expected_file_patterns + ], + ) + ) return input_data @@ -1198,7 +1207,7 @@ def main(): path=par["input"], counts_file=input_data["counts_file"], meta_file=input_data["meta_file"], - fov_file=input_data["fov_file"] + fov_file=input_data["fov_file"], ) logger.info("Writing output MuData object...") diff --git a/target/executable/convert/from_cosmx_to_h5mu/unzip_archived_folder.py b/target/executable/convert/from_cosmx_to_h5mu/unzip_archived_folder.py index a6ea093..db87d38 100644 --- a/target/executable/convert/from_cosmx_to_h5mu/unzip_archived_folder.py +++ b/target/executable/convert/from_cosmx_to_h5mu/unzip_archived_folder.py @@ -5,9 +5,7 @@ from pathlib import Path from typing import Union -def unzip_archived_folder( - archived_folder: Union[str, Path] -) -> Union[str, Path]: +def unzip_archived_folder(archived_folder: Union[str, Path]) -> Union[str, Path]: """ Extracts a ZIP archive to a temporary directory and returns the path to the extracted folder. @@ -26,8 +24,7 @@ def unzip_archived_folder( def extract_selected_files_from_zip( - zip_path: Union[str, Path], - members: list[Union[str, Path]] + zip_path: Union[str, Path], members: list[Union[str, Path]] ) -> Union[str, Path]: """ Extracts selected files (supports glob patterns) from a ZIP archive to a temporary directory. diff --git a/target/executable/convert/from_cosmx_to_spatialexperiment/.config.vsh.yaml b/target/executable/convert/from_cosmx_to_spatialexperiment/.config.vsh.yaml index c83ad1f..b270d10 100644 --- a/target/executable/convert/from_cosmx_to_spatialexperiment/.config.vsh.yaml +++ b/target/executable/convert/from_cosmx_to_spatialexperiment/.config.vsh.yaml @@ -232,7 +232,7 @@ build_info: output: "target/executable/convert/from_cosmx_to_spatialexperiment" executable: "target/executable/convert/from_cosmx_to_spatialexperiment/from_cosmx_to_spatialexperiment" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/executable/convert/from_cosmx_to_spatialexperiment/from_cosmx_to_spatialexperiment b/target/executable/convert/from_cosmx_to_spatialexperiment/from_cosmx_to_spatialexperiment index 37db204..84d8eac 100755 --- a/target/executable/convert/from_cosmx_to_spatialexperiment/from_cosmx_to_spatialexperiment +++ b/target/executable/convert/from_cosmx_to_spatialexperiment/from_cosmx_to_spatialexperiment @@ -457,9 +457,9 @@ RUN Rscript -e 'options(warn = 2); if (!requireNamespace("BiocManager", quietly LABEL org.opencontainers.image.authors="Dorien Roosen" LABEL org.opencontainers.image.description="Companion container for running component convert from_cosmx_to_spatialexperiment" -LABEL org.opencontainers.image.created="2025-08-27T10:55:44Z" +LABEL org.opencontainers.image.created="2025-08-27T13:23:37Z" LABEL org.opencontainers.image.source="https://github.com/openpipelines-bio/openpipeline_spatial" -LABEL org.opencontainers.image.revision="b1bfccbd0edea3f1692c489d0f174f7e494a7341" +LABEL org.opencontainers.image.revision="2cc934cef9746e6befa3e91c82080bc071294628" LABEL org.opencontainers.image.version="allow-compressed-output-bundles" VIASHDOCKER diff --git a/target/executable/convert/from_h5mu_to_spatialexperiment/.config.vsh.yaml b/target/executable/convert/from_h5mu_to_spatialexperiment/.config.vsh.yaml index 1bd0d92..b318869 100644 --- a/target/executable/convert/from_h5mu_to_spatialexperiment/.config.vsh.yaml +++ b/target/executable/convert/from_h5mu_to_spatialexperiment/.config.vsh.yaml @@ -224,7 +224,7 @@ build_info: output: "target/executable/convert/from_h5mu_to_spatialexperiment" executable: "target/executable/convert/from_h5mu_to_spatialexperiment/from_h5mu_to_spatialexperiment" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/executable/convert/from_h5mu_to_spatialexperiment/from_h5mu_to_spatialexperiment b/target/executable/convert/from_h5mu_to_spatialexperiment/from_h5mu_to_spatialexperiment index bed267b..0f70996 100755 --- a/target/executable/convert/from_h5mu_to_spatialexperiment/from_h5mu_to_spatialexperiment +++ b/target/executable/convert/from_h5mu_to_spatialexperiment/from_h5mu_to_spatialexperiment @@ -458,9 +458,9 @@ RUN Rscript -e 'options(warn = 2); if (!requireNamespace("remotes", quietly = TR LABEL org.opencontainers.image.authors="Dorien Roosen" LABEL org.opencontainers.image.description="Companion container for running component convert from_h5mu_to_spatialexperiment" -LABEL org.opencontainers.image.created="2025-08-27T10:55:44Z" +LABEL org.opencontainers.image.created="2025-08-27T13:23:38Z" LABEL org.opencontainers.image.source="https://github.com/openpipelines-bio/openpipeline_spatial" -LABEL org.opencontainers.image.revision="b1bfccbd0edea3f1692c489d0f174f7e494a7341" +LABEL org.opencontainers.image.revision="2cc934cef9746e6befa3e91c82080bc071294628" LABEL org.opencontainers.image.version="allow-compressed-output-bundles" VIASHDOCKER diff --git a/target/executable/convert/from_spatialdata_to_h5mu/.config.vsh.yaml b/target/executable/convert/from_spatialdata_to_h5mu/.config.vsh.yaml index ebdcf85..9abe0fc 100644 --- a/target/executable/convert/from_spatialdata_to_h5mu/.config.vsh.yaml +++ b/target/executable/convert/from_spatialdata_to_h5mu/.config.vsh.yaml @@ -220,7 +220,7 @@ build_info: output: "target/executable/convert/from_spatialdata_to_h5mu" executable: "target/executable/convert/from_spatialdata_to_h5mu/from_spatialdata_to_h5mu" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/executable/convert/from_spatialdata_to_h5mu/from_spatialdata_to_h5mu b/target/executable/convert/from_spatialdata_to_h5mu/from_spatialdata_to_h5mu index f40d6ad..6389f9c 100755 --- a/target/executable/convert/from_spatialdata_to_h5mu/from_spatialdata_to_h5mu +++ b/target/executable/convert/from_spatialdata_to_h5mu/from_spatialdata_to_h5mu @@ -459,9 +459,9 @@ RUN pip install --upgrade pip && \ LABEL org.opencontainers.image.authors="Dorien Roosen, Weiwei Schultz" LABEL org.opencontainers.image.description="Companion container for running component convert from_spatialdata_to_h5mu" -LABEL org.opencontainers.image.created="2025-08-27T10:55:44Z" +LABEL org.opencontainers.image.created="2025-08-27T13:23:38Z" LABEL org.opencontainers.image.source="https://github.com/openpipelines-bio/openpipeline_spatial" -LABEL org.opencontainers.image.revision="b1bfccbd0edea3f1692c489d0f174f7e494a7341" +LABEL org.opencontainers.image.revision="2cc934cef9746e6befa3e91c82080bc071294628" LABEL org.opencontainers.image.version="allow-compressed-output-bundles" VIASHDOCKER diff --git a/target/executable/convert/from_xenium_to_h5mu/.config.vsh.yaml b/target/executable/convert/from_xenium_to_h5mu/.config.vsh.yaml index 6f19a05..e321876 100644 --- a/target/executable/convert/from_xenium_to_h5mu/.config.vsh.yaml +++ b/target/executable/convert/from_xenium_to_h5mu/.config.vsh.yaml @@ -239,7 +239,7 @@ build_info: output: "target/executable/convert/from_xenium_to_h5mu" executable: "target/executable/convert/from_xenium_to_h5mu/from_xenium_to_h5mu" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/executable/convert/from_xenium_to_h5mu/from_xenium_to_h5mu b/target/executable/convert/from_xenium_to_h5mu/from_xenium_to_h5mu index ea1422d..83af172 100755 --- a/target/executable/convert/from_xenium_to_h5mu/from_xenium_to_h5mu +++ b/target/executable/convert/from_xenium_to_h5mu/from_xenium_to_h5mu @@ -458,9 +458,9 @@ RUN pip install --upgrade pip && \ LABEL org.opencontainers.image.authors="Dorien Roosen" LABEL org.opencontainers.image.description="Companion container for running component convert from_xenium_to_h5mu" -LABEL org.opencontainers.image.created="2025-08-27T10:55:44Z" +LABEL org.opencontainers.image.created="2025-08-27T13:23:37Z" LABEL org.opencontainers.image.source="https://github.com/openpipelines-bio/openpipeline_spatial" -LABEL org.opencontainers.image.revision="b1bfccbd0edea3f1692c489d0f174f7e494a7341" +LABEL org.opencontainers.image.revision="2cc934cef9746e6befa3e91c82080bc071294628" LABEL org.opencontainers.image.version="allow-compressed-output-bundles" VIASHDOCKER @@ -1212,22 +1212,25 @@ def _retrieve_input_data(xenium_output_bundle): "cell_feature_matrix.h5", "cells.parquet", "experiment.xenium", - "metrics_summary.csv" + "metrics_summary.csv", ] if zipfile.is_zipfile(xenium_output_bundle): xenium_output_bundle = extract_selected_files_from_zip( - xenium_output_bundle, - members=required_files + xenium_output_bundle, members=required_files ) - assert os.path.isdir(xenium_output_bundle), f"Input is expected to be a (compressed) directory." + assert os.path.isdir(xenium_output_bundle), ( + "Input is expected to be a (compressed) directory." + ) input_dir = Path(xenium_output_bundle) - input_data = dict(zip( - ["count_matrix", "cells_metadata", "experiment", "metrics_summary"], - [input_dir / file for file in required_files] - )) + input_data = dict( + zip( + ["count_matrix", "cells_metadata", "experiment", "metrics_summary"], + [input_dir / file for file in required_files], + ) + ) assert all([file.exists() for file in input_data.values()]), ( f"Not all required input files are found. Make sure that {par['input']} contains {input_data.values()}." diff --git a/target/executable/convert/from_xenium_to_h5mu/unzip_archived_folder.py b/target/executable/convert/from_xenium_to_h5mu/unzip_archived_folder.py index a6ea093..db87d38 100644 --- a/target/executable/convert/from_xenium_to_h5mu/unzip_archived_folder.py +++ b/target/executable/convert/from_xenium_to_h5mu/unzip_archived_folder.py @@ -5,9 +5,7 @@ from pathlib import Path from typing import Union -def unzip_archived_folder( - archived_folder: Union[str, Path] -) -> Union[str, Path]: +def unzip_archived_folder(archived_folder: Union[str, Path]) -> Union[str, Path]: """ Extracts a ZIP archive to a temporary directory and returns the path to the extracted folder. @@ -26,8 +24,7 @@ def unzip_archived_folder( def extract_selected_files_from_zip( - zip_path: Union[str, Path], - members: list[Union[str, Path]] + zip_path: Union[str, Path], members: list[Union[str, Path]] ) -> Union[str, Path]: """ Extracts selected files (supports glob patterns) from a ZIP archive to a temporary directory. diff --git a/target/executable/convert/from_xenium_to_spatialdata/.config.vsh.yaml b/target/executable/convert/from_xenium_to_spatialdata/.config.vsh.yaml index 82b126e..32bdbc1 100644 --- a/target/executable/convert/from_xenium_to_spatialdata/.config.vsh.yaml +++ b/target/executable/convert/from_xenium_to_spatialdata/.config.vsh.yaml @@ -173,6 +173,8 @@ resources: is_executable: true - type: "file" path: "setup_logger.py" +- type: "file" + path: "unzip_archived_folder.py" - type: "file" path: "nextflow_labels.config" dest: "nextflow_labels.config" @@ -303,6 +305,10 @@ engines: github: - "openpipelines-bio/core#subdirectory=packages/python/openpipeline_testutils" upgrade: true + - type: "apt" + packages: + - "zip" + interactive: false entrypoint: [] cmd: null - type: "native" @@ -314,7 +320,7 @@ build_info: output: "target/executable/convert/from_xenium_to_spatialdata" executable: "target/executable/convert/from_xenium_to_spatialdata/from_xenium_to_spatialdata" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/executable/convert/from_xenium_to_spatialdata/from_xenium_to_spatialdata b/target/executable/convert/from_xenium_to_spatialdata/from_xenium_to_spatialdata index f2a431f..ce37e3d 100755 --- a/target/executable/convert/from_xenium_to_spatialdata/from_xenium_to_spatialdata +++ b/target/executable/convert/from_xenium_to_spatialdata/from_xenium_to_spatialdata @@ -458,9 +458,9 @@ RUN pip install --upgrade pip && \ LABEL org.opencontainers.image.authors="Dorien Roosen, Weiwei Schultz" LABEL org.opencontainers.image.description="Companion container for running component convert from_xenium_to_spatialdata" -LABEL org.opencontainers.image.created="2025-08-27T10:55:44Z" +LABEL org.opencontainers.image.created="2025-08-27T13:23:38Z" LABEL org.opencontainers.image.source="https://github.com/openpipelines-bio/openpipeline_spatial" -LABEL org.opencontainers.image.revision="b1bfccbd0edea3f1692c489d0f174f7e494a7341" +LABEL org.opencontainers.image.revision="2cc934cef9746e6befa3e91c82080bc071294628" LABEL org.opencontainers.image.version="allow-compressed-output-bundles" VIASHDOCKER @@ -1340,6 +1340,7 @@ trap interrupt INT SIGINT cat > "\$tempscript" << 'VIASHMAIN' import sys from spatialdata_io import xenium +import zipfile ## VIASH START # The following code has been auto-generated by Viash. @@ -1386,10 +1387,14 @@ dep = { sys.path.append(meta["resources_dir"]) from setup_logger import setup_logger +from unzip_archived_folder import unzip_archived_folder logger = setup_logger() logger.info("Reading in Xenium data...") +if zipfile.is_zipfile(par["input"]): + par["input"] = unzip_archived_folder(par["input"]) + sdata = xenium( par["input"], cells_boundaries=par["cells_boundaries"], diff --git a/target/executable/convert/from_xenium_to_spatialdata/unzip_archived_folder.py b/target/executable/convert/from_xenium_to_spatialdata/unzip_archived_folder.py new file mode 100644 index 0000000..db87d38 --- /dev/null +++ b/target/executable/convert/from_xenium_to_spatialdata/unzip_archived_folder.py @@ -0,0 +1,50 @@ +import fnmatch +import zipfile +import tempfile +from pathlib import Path +from typing import Union + + +def unzip_archived_folder(archived_folder: Union[str, Path]) -> Union[str, Path]: + """ + Extracts a ZIP archive to a temporary directory and returns the path to the extracted folder. + + Args: + zip_path (Union[str, Path]): Path to the ZIP archive. + + Returns: + extracted_path (Union[str, Path]): Path to the extracted folder inside the temporary directory. + """ + + temp_dir = Path(tempfile.TemporaryDirectory().name) + with zipfile.ZipFile(archived_folder, "r") as archive: + archive.extractall(temp_dir) + + return temp_dir + + +def extract_selected_files_from_zip( + zip_path: Union[str, Path], members: list[Union[str, Path]] +) -> Union[str, Path]: + """ + Extracts selected files (supports glob patterns) from a ZIP archive to a temporary directory. + + Args: + zip_path (Union[str, Path]): Path to the ZIP archive. + members (list[str]): List of file paths within the archive to extract. + + Returns: + Path: Path to the extraction directory. + """ + + temp_dir = Path(tempfile.TemporaryDirectory().name) + + with zipfile.ZipFile(zip_path, "r") as archive: + all_files = archive.namelist() + selected = set() + for pattern in members: + selected.update(fnmatch.filter(all_files, str(pattern))) + for member in selected: + archive.extract(member, temp_dir) + + return temp_dir diff --git a/target/executable/convert/from_xenium_to_spatialexperiment/.config.vsh.yaml b/target/executable/convert/from_xenium_to_spatialexperiment/.config.vsh.yaml index f41d320..a90536c 100644 --- a/target/executable/convert/from_xenium_to_spatialexperiment/.config.vsh.yaml +++ b/target/executable/convert/from_xenium_to_spatialexperiment/.config.vsh.yaml @@ -222,7 +222,7 @@ build_info: output: "target/executable/convert/from_xenium_to_spatialexperiment" executable: "target/executable/convert/from_xenium_to_spatialexperiment/from_xenium_to_spatialexperiment" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/executable/convert/from_xenium_to_spatialexperiment/from_xenium_to_spatialexperiment b/target/executable/convert/from_xenium_to_spatialexperiment/from_xenium_to_spatialexperiment index df28a79..81642d3 100755 --- a/target/executable/convert/from_xenium_to_spatialexperiment/from_xenium_to_spatialexperiment +++ b/target/executable/convert/from_xenium_to_spatialexperiment/from_xenium_to_spatialexperiment @@ -457,9 +457,9 @@ RUN Rscript -e 'options(warn = 2); if (!requireNamespace("BiocManager", quietly LABEL org.opencontainers.image.authors="Dorien Roosen" LABEL org.opencontainers.image.description="Companion container for running component convert from_xenium_to_spatialexperiment" -LABEL org.opencontainers.image.created="2025-08-27T10:55:43Z" +LABEL org.opencontainers.image.created="2025-08-27T13:23:37Z" LABEL org.opencontainers.image.source="https://github.com/openpipelines-bio/openpipeline_spatial" -LABEL org.opencontainers.image.revision="b1bfccbd0edea3f1692c489d0f174f7e494a7341" +LABEL org.opencontainers.image.revision="2cc934cef9746e6befa3e91c82080bc071294628" LABEL org.opencontainers.image.version="allow-compressed-output-bundles" VIASHDOCKER diff --git a/target/executable/filter/subset_cosmx/.config.vsh.yaml b/target/executable/filter/subset_cosmx/.config.vsh.yaml index 2ebad1f..350ed0c 100644 --- a/target/executable/filter/subset_cosmx/.config.vsh.yaml +++ b/target/executable/filter/subset_cosmx/.config.vsh.yaml @@ -227,7 +227,7 @@ build_info: output: "target/executable/filter/subset_cosmx" executable: "target/executable/filter/subset_cosmx/subset_cosmx" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/executable/filter/subset_cosmx/subset_cosmx b/target/executable/filter/subset_cosmx/subset_cosmx index 547956b..a20a644 100755 --- a/target/executable/filter/subset_cosmx/subset_cosmx +++ b/target/executable/filter/subset_cosmx/subset_cosmx @@ -458,9 +458,9 @@ RUN pip install --upgrade pip && \ LABEL org.opencontainers.image.authors="Dorien Roosen, Weiwei Schultz" LABEL org.opencontainers.image.description="Companion container for running component filter subset_cosmx" -LABEL org.opencontainers.image.created="2025-08-27T10:55:43Z" +LABEL org.opencontainers.image.created="2025-08-27T13:23:37Z" LABEL org.opencontainers.image.source="https://github.com/openpipelines-bio/openpipeline_spatial" -LABEL org.opencontainers.image.revision="b1bfccbd0edea3f1692c489d0f174f7e494a7341" +LABEL org.opencontainers.image.revision="2cc934cef9746e6befa3e91c82080bc071294628" LABEL org.opencontainers.image.version="allow-compressed-output-bundles" VIASHDOCKER diff --git a/target/executable/mapping/spaceranger_count/.config.vsh.yaml b/target/executable/mapping/spaceranger_count/.config.vsh.yaml index a98519c..92b8e1c 100644 --- a/target/executable/mapping/spaceranger_count/.config.vsh.yaml +++ b/target/executable/mapping/spaceranger_count/.config.vsh.yaml @@ -426,7 +426,7 @@ build_info: output: "target/executable/mapping/spaceranger_count" executable: "target/executable/mapping/spaceranger_count/spaceranger_count" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/executable/mapping/spaceranger_count/spaceranger_count b/target/executable/mapping/spaceranger_count/spaceranger_count index 297ef72..3971e28 100755 --- a/target/executable/mapping/spaceranger_count/spaceranger_count +++ b/target/executable/mapping/spaceranger_count/spaceranger_count @@ -453,9 +453,9 @@ apt upgrade -y && apt install -y procps && rm -rf /var/lib/apt/lists/* LABEL org.opencontainers.image.authors="Jakub Majercik" LABEL org.opencontainers.image.description="Companion container for running component mapping spaceranger_count" -LABEL org.opencontainers.image.created="2025-08-27T10:55:43Z" +LABEL org.opencontainers.image.created="2025-08-27T13:23:37Z" LABEL org.opencontainers.image.source="https://github.com/openpipelines-bio/openpipeline_spatial" -LABEL org.opencontainers.image.revision="b1bfccbd0edea3f1692c489d0f174f7e494a7341" +LABEL org.opencontainers.image.revision="2cc934cef9746e6befa3e91c82080bc071294628" LABEL org.opencontainers.image.version="allow-compressed-output-bundles" VIASHDOCKER diff --git a/target/nextflow/convert/from_cells2stats_to_h5mu/.config.vsh.yaml b/target/nextflow/convert/from_cells2stats_to_h5mu/.config.vsh.yaml index ecf1b31..d1033db 100644 --- a/target/nextflow/convert/from_cells2stats_to_h5mu/.config.vsh.yaml +++ b/target/nextflow/convert/from_cells2stats_to_h5mu/.config.vsh.yaml @@ -296,7 +296,7 @@ build_info: output: "target/nextflow/convert/from_cells2stats_to_h5mu" executable: "target/nextflow/convert/from_cells2stats_to_h5mu/main.nf" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/nextflow/convert/from_cells2stats_to_h5mu/main.nf b/target/nextflow/convert/from_cells2stats_to_h5mu/main.nf index 31fb408..93dbd5a 100644 --- a/target/nextflow/convert/from_cells2stats_to_h5mu/main.nf +++ b/target/nextflow/convert/from_cells2stats_to_h5mu/main.nf @@ -3393,7 +3393,7 @@ meta = [ "engine" : "docker|native", "output" : "/workdir/root/repo/target/nextflow/convert/from_cells2stats_to_h5mu", "viash_version" : "0.9.4", - "git_commit" : "b1bfccbd0edea3f1692c489d0f174f7e494a7341", + "git_commit" : "2cc934cef9746e6befa3e91c82080bc071294628", "git_remote" : "https://github.com/openpipelines-bio/openpipeline_spatial" }, "package_config" : { @@ -3642,23 +3642,23 @@ def retrieve_input_data(cells2stats_output_bundle): # │ └── RawCellStats.parquet # └── Panel.json - required_files = [ - "Panel.json", - "Cytoprofiling/Instrument/RawCellStats.parquet" - ] + required_files = ["Panel.json", "Cytoprofiling/Instrument/RawCellStats.parquet"] if zipfile.is_zipfile(cells2stats_output_bundle): cells2stats_output_bundle = extract_selected_files_from_zip( - cells2stats_output_bundle, - members=required_files + cells2stats_output_bundle, members=required_files ) - assert os.path.isdir(cells2stats_output_bundle), "Input is expected to be a (compressed) directory." + assert os.path.isdir(cells2stats_output_bundle), ( + "Input is expected to be a (compressed) directory." + ) input_dir = Path(cells2stats_output_bundle) - input_data = dict(zip( - ["target_panel", "count_matrix"], - [input_dir / file for file in required_files] - )) + input_data = dict( + zip( + ["target_panel", "count_matrix"], + [input_dir / file for file in required_files], + ) + ) assert all([file.exists() for file in input_data.values()]), ( f"Not all required input files are found. Make sure that {par['input']} contains {input_data.values()}." @@ -3668,7 +3668,6 @@ def retrieve_input_data(cells2stats_output_bundle): def main(): - logger.info("Reading input data...") input_data = retrieve_input_data(par["input"]) with open(input_data["target_panel"], "r") as f: diff --git a/target/nextflow/convert/from_cells2stats_to_h5mu/unzip_archived_folder.py b/target/nextflow/convert/from_cells2stats_to_h5mu/unzip_archived_folder.py index a6ea093..db87d38 100644 --- a/target/nextflow/convert/from_cells2stats_to_h5mu/unzip_archived_folder.py +++ b/target/nextflow/convert/from_cells2stats_to_h5mu/unzip_archived_folder.py @@ -5,9 +5,7 @@ from pathlib import Path from typing import Union -def unzip_archived_folder( - archived_folder: Union[str, Path] -) -> Union[str, Path]: +def unzip_archived_folder(archived_folder: Union[str, Path]) -> Union[str, Path]: """ Extracts a ZIP archive to a temporary directory and returns the path to the extracted folder. @@ -26,8 +24,7 @@ def unzip_archived_folder( def extract_selected_files_from_zip( - zip_path: Union[str, Path], - members: list[Union[str, Path]] + zip_path: Union[str, Path], members: list[Union[str, Path]] ) -> Union[str, Path]: """ Extracts selected files (supports glob patterns) from a ZIP archive to a temporary directory. diff --git a/target/nextflow/convert/from_cosmx_to_h5mu/.config.vsh.yaml b/target/nextflow/convert/from_cosmx_to_h5mu/.config.vsh.yaml index 50df89b..27b96e5 100644 --- a/target/nextflow/convert/from_cosmx_to_h5mu/.config.vsh.yaml +++ b/target/nextflow/convert/from_cosmx_to_h5mu/.config.vsh.yaml @@ -231,7 +231,7 @@ build_info: output: "target/nextflow/convert/from_cosmx_to_h5mu" executable: "target/nextflow/convert/from_cosmx_to_h5mu/main.nf" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/nextflow/convert/from_cosmx_to_h5mu/main.nf b/target/nextflow/convert/from_cosmx_to_h5mu/main.nf index 5f00f47..f314778 100644 --- a/target/nextflow/convert/from_cosmx_to_h5mu/main.nf +++ b/target/nextflow/convert/from_cosmx_to_h5mu/main.nf @@ -3342,7 +3342,7 @@ meta = [ "engine" : "docker|native", "output" : "/workdir/root/repo/target/nextflow/convert/from_cosmx_to_h5mu", "viash_version" : "0.9.4", - "git_commit" : "b1bfccbd0edea3f1692c489d0f174f7e494a7341", + "git_commit" : "2cc934cef9746e6befa3e91c82080bc071294628", "git_remote" : "https://github.com/openpipelines-bio/openpipeline_spatial" }, "package_config" : { @@ -3398,7 +3398,6 @@ import squidpy as sq import mudata as mu import glob import zipfile -import os ## VIASH START # The following code has been auto-generated by Viash. @@ -3456,19 +3455,29 @@ def retrieve_input_data(cosmx_output_bundle): # ├── *_fov_positions_file.csv # └── *_metadata_file.csv - expected_file_patterns = ["exprMat_file.csv", "fov_positions_file.csv", "metadata_file.csv"] + expected_file_patterns = [ + "exprMat_file.csv", + "fov_positions_file.csv", + "metadata_file.csv", + ] if zipfile.is_zipfile(cosmx_output_bundle): cosmx_output_bundle = extract_selected_files_from_zip( - cosmx_output_bundle, - members=["*" + file for file in expected_file_patterns] + cosmx_output_bundle, members=["*" + file for file in expected_file_patterns] ) - assert os.path.isdir(cosmx_output_bundle), "Input is expected to be a (compressed) directory." + assert os.path.isdir(cosmx_output_bundle), ( + "Input is expected to be a (compressed) directory." + ) - input_data = dict(zip( - ["counts_file", "fov_file", "meta_file"], - [find_cosmx_files(cosmx_output_bundle, glob_pattern) for glob_pattern in expected_file_patterns] - )) + input_data = dict( + zip( + ["counts_file", "fov_file", "meta_file"], + [ + find_cosmx_files(cosmx_output_bundle, glob_pattern) + for glob_pattern in expected_file_patterns + ], + ) + ) return input_data @@ -3481,7 +3490,7 @@ def main(): path=par["input"], counts_file=input_data["counts_file"], meta_file=input_data["meta_file"], - fov_file=input_data["fov_file"] + fov_file=input_data["fov_file"], ) logger.info("Writing output MuData object...") diff --git a/target/nextflow/convert/from_cosmx_to_h5mu/unzip_archived_folder.py b/target/nextflow/convert/from_cosmx_to_h5mu/unzip_archived_folder.py index a6ea093..db87d38 100644 --- a/target/nextflow/convert/from_cosmx_to_h5mu/unzip_archived_folder.py +++ b/target/nextflow/convert/from_cosmx_to_h5mu/unzip_archived_folder.py @@ -5,9 +5,7 @@ from pathlib import Path from typing import Union -def unzip_archived_folder( - archived_folder: Union[str, Path] -) -> Union[str, Path]: +def unzip_archived_folder(archived_folder: Union[str, Path]) -> Union[str, Path]: """ Extracts a ZIP archive to a temporary directory and returns the path to the extracted folder. @@ -26,8 +24,7 @@ def unzip_archived_folder( def extract_selected_files_from_zip( - zip_path: Union[str, Path], - members: list[Union[str, Path]] + zip_path: Union[str, Path], members: list[Union[str, Path]] ) -> Union[str, Path]: """ Extracts selected files (supports glob patterns) from a ZIP archive to a temporary directory. diff --git a/target/nextflow/convert/from_cosmx_to_spatialexperiment/.config.vsh.yaml b/target/nextflow/convert/from_cosmx_to_spatialexperiment/.config.vsh.yaml index a0e0141..d2b75de 100644 --- a/target/nextflow/convert/from_cosmx_to_spatialexperiment/.config.vsh.yaml +++ b/target/nextflow/convert/from_cosmx_to_spatialexperiment/.config.vsh.yaml @@ -232,7 +232,7 @@ build_info: output: "target/nextflow/convert/from_cosmx_to_spatialexperiment" executable: "target/nextflow/convert/from_cosmx_to_spatialexperiment/main.nf" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/nextflow/convert/from_cosmx_to_spatialexperiment/main.nf b/target/nextflow/convert/from_cosmx_to_spatialexperiment/main.nf index b458aeb..a5499af 100644 --- a/target/nextflow/convert/from_cosmx_to_spatialexperiment/main.nf +++ b/target/nextflow/convert/from_cosmx_to_spatialexperiment/main.nf @@ -3322,7 +3322,7 @@ meta = [ "engine" : "docker|native", "output" : "/workdir/root/repo/target/nextflow/convert/from_cosmx_to_spatialexperiment", "viash_version" : "0.9.4", - "git_commit" : "b1bfccbd0edea3f1692c489d0f174f7e494a7341", + "git_commit" : "2cc934cef9746e6befa3e91c82080bc071294628", "git_remote" : "https://github.com/openpipelines-bio/openpipeline_spatial" }, "package_config" : { diff --git a/target/nextflow/convert/from_h5mu_to_spatialexperiment/.config.vsh.yaml b/target/nextflow/convert/from_h5mu_to_spatialexperiment/.config.vsh.yaml index 5f8b662..1545d6d 100644 --- a/target/nextflow/convert/from_h5mu_to_spatialexperiment/.config.vsh.yaml +++ b/target/nextflow/convert/from_h5mu_to_spatialexperiment/.config.vsh.yaml @@ -224,7 +224,7 @@ build_info: output: "target/nextflow/convert/from_h5mu_to_spatialexperiment" executable: "target/nextflow/convert/from_h5mu_to_spatialexperiment/main.nf" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/nextflow/convert/from_h5mu_to_spatialexperiment/main.nf b/target/nextflow/convert/from_h5mu_to_spatialexperiment/main.nf index 2ecbd55..56a8c86 100644 --- a/target/nextflow/convert/from_h5mu_to_spatialexperiment/main.nf +++ b/target/nextflow/convert/from_h5mu_to_spatialexperiment/main.nf @@ -3332,7 +3332,7 @@ meta = [ "engine" : "docker|native", "output" : "/workdir/root/repo/target/nextflow/convert/from_h5mu_to_spatialexperiment", "viash_version" : "0.9.4", - "git_commit" : "b1bfccbd0edea3f1692c489d0f174f7e494a7341", + "git_commit" : "2cc934cef9746e6befa3e91c82080bc071294628", "git_remote" : "https://github.com/openpipelines-bio/openpipeline_spatial" }, "package_config" : { diff --git a/target/nextflow/convert/from_spatialdata_to_h5mu/.config.vsh.yaml b/target/nextflow/convert/from_spatialdata_to_h5mu/.config.vsh.yaml index 0a43789..dbb63a0 100644 --- a/target/nextflow/convert/from_spatialdata_to_h5mu/.config.vsh.yaml +++ b/target/nextflow/convert/from_spatialdata_to_h5mu/.config.vsh.yaml @@ -220,7 +220,7 @@ build_info: output: "target/nextflow/convert/from_spatialdata_to_h5mu" executable: "target/nextflow/convert/from_spatialdata_to_h5mu/main.nf" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/nextflow/convert/from_spatialdata_to_h5mu/main.nf b/target/nextflow/convert/from_spatialdata_to_h5mu/main.nf index c3f83c2..4b3c85b 100644 --- a/target/nextflow/convert/from_spatialdata_to_h5mu/main.nf +++ b/target/nextflow/convert/from_spatialdata_to_h5mu/main.nf @@ -3330,7 +3330,7 @@ meta = [ "engine" : "docker|native", "output" : "/workdir/root/repo/target/nextflow/convert/from_spatialdata_to_h5mu", "viash_version" : "0.9.4", - "git_commit" : "b1bfccbd0edea3f1692c489d0f174f7e494a7341", + "git_commit" : "2cc934cef9746e6befa3e91c82080bc071294628", "git_remote" : "https://github.com/openpipelines-bio/openpipeline_spatial" }, "package_config" : { diff --git a/target/nextflow/convert/from_xenium_to_h5mu/.config.vsh.yaml b/target/nextflow/convert/from_xenium_to_h5mu/.config.vsh.yaml index d999b58..7b4e617 100644 --- a/target/nextflow/convert/from_xenium_to_h5mu/.config.vsh.yaml +++ b/target/nextflow/convert/from_xenium_to_h5mu/.config.vsh.yaml @@ -239,7 +239,7 @@ build_info: output: "target/nextflow/convert/from_xenium_to_h5mu" executable: "target/nextflow/convert/from_xenium_to_h5mu/main.nf" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/nextflow/convert/from_xenium_to_h5mu/main.nf b/target/nextflow/convert/from_xenium_to_h5mu/main.nf index 526ae73..bc731ea 100644 --- a/target/nextflow/convert/from_xenium_to_h5mu/main.nf +++ b/target/nextflow/convert/from_xenium_to_h5mu/main.nf @@ -3342,7 +3342,7 @@ meta = [ "engine" : "docker|native", "output" : "/workdir/root/repo/target/nextflow/convert/from_xenium_to_h5mu", "viash_version" : "0.9.4", - "git_commit" : "b1bfccbd0edea3f1692c489d0f174f7e494a7341", + "git_commit" : "2cc934cef9746e6befa3e91c82080bc071294628", "git_remote" : "https://github.com/openpipelines-bio/openpipeline_spatial" }, "package_config" : { @@ -3455,22 +3455,25 @@ def _retrieve_input_data(xenium_output_bundle): "cell_feature_matrix.h5", "cells.parquet", "experiment.xenium", - "metrics_summary.csv" + "metrics_summary.csv", ] if zipfile.is_zipfile(xenium_output_bundle): xenium_output_bundle = extract_selected_files_from_zip( - xenium_output_bundle, - members=required_files + xenium_output_bundle, members=required_files ) - assert os.path.isdir(xenium_output_bundle), f"Input is expected to be a (compressed) directory." + assert os.path.isdir(xenium_output_bundle), ( + "Input is expected to be a (compressed) directory." + ) input_dir = Path(xenium_output_bundle) - input_data = dict(zip( - ["count_matrix", "cells_metadata", "experiment", "metrics_summary"], - [input_dir / file for file in required_files] - )) + input_data = dict( + zip( + ["count_matrix", "cells_metadata", "experiment", "metrics_summary"], + [input_dir / file for file in required_files], + ) + ) assert all([file.exists() for file in input_data.values()]), ( f"Not all required input files are found. Make sure that {par['input']} contains {input_data.values()}." diff --git a/target/nextflow/convert/from_xenium_to_h5mu/unzip_archived_folder.py b/target/nextflow/convert/from_xenium_to_h5mu/unzip_archived_folder.py index a6ea093..db87d38 100644 --- a/target/nextflow/convert/from_xenium_to_h5mu/unzip_archived_folder.py +++ b/target/nextflow/convert/from_xenium_to_h5mu/unzip_archived_folder.py @@ -5,9 +5,7 @@ from pathlib import Path from typing import Union -def unzip_archived_folder( - archived_folder: Union[str, Path] -) -> Union[str, Path]: +def unzip_archived_folder(archived_folder: Union[str, Path]) -> Union[str, Path]: """ Extracts a ZIP archive to a temporary directory and returns the path to the extracted folder. @@ -26,8 +24,7 @@ def unzip_archived_folder( def extract_selected_files_from_zip( - zip_path: Union[str, Path], - members: list[Union[str, Path]] + zip_path: Union[str, Path], members: list[Union[str, Path]] ) -> Union[str, Path]: """ Extracts selected files (supports glob patterns) from a ZIP archive to a temporary directory. diff --git a/target/nextflow/convert/from_xenium_to_spatialdata/.config.vsh.yaml b/target/nextflow/convert/from_xenium_to_spatialdata/.config.vsh.yaml index 2a5c55a..991e6b0 100644 --- a/target/nextflow/convert/from_xenium_to_spatialdata/.config.vsh.yaml +++ b/target/nextflow/convert/from_xenium_to_spatialdata/.config.vsh.yaml @@ -173,6 +173,8 @@ resources: is_executable: true - type: "file" path: "setup_logger.py" +- type: "file" + path: "unzip_archived_folder.py" - type: "file" path: "nextflow_labels.config" dest: "nextflow_labels.config" @@ -303,6 +305,10 @@ engines: github: - "openpipelines-bio/core#subdirectory=packages/python/openpipeline_testutils" upgrade: true + - type: "apt" + packages: + - "zip" + interactive: false entrypoint: [] cmd: null - type: "native" @@ -314,7 +320,7 @@ build_info: output: "target/nextflow/convert/from_xenium_to_spatialdata" executable: "target/nextflow/convert/from_xenium_to_spatialdata/main.nf" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/nextflow/convert/from_xenium_to_spatialdata/main.nf b/target/nextflow/convert/from_xenium_to_spatialdata/main.nf index aadbbf7..aa98d83 100644 --- a/target/nextflow/convert/from_xenium_to_spatialdata/main.nf +++ b/target/nextflow/convert/from_xenium_to_spatialdata/main.nf @@ -3251,6 +3251,10 @@ meta = [ "type" : "file", "path" : "/src/utils/setup_logger.py" }, + { + "type" : "file", + "path" : "/src/utils/unzip_archived_folder.py" + }, { "type" : "file", "path" : "/src/workflows/utils/labels.config", @@ -3411,6 +3415,13 @@ meta = [ "openpipelines-bio/core#subdirectory=packages/python/openpipeline_testutils" ], "upgrade" : true + }, + { + "type" : "apt", + "packages" : [ + "zip" + ], + "interactive" : false } ] }, @@ -3425,7 +3436,7 @@ meta = [ "engine" : "docker|native", "output" : "/workdir/root/repo/target/nextflow/convert/from_xenium_to_spatialdata", "viash_version" : "0.9.4", - "git_commit" : "b1bfccbd0edea3f1692c489d0f174f7e494a7341", + "git_commit" : "2cc934cef9746e6befa3e91c82080bc071294628", "git_remote" : "https://github.com/openpipelines-bio/openpipeline_spatial" }, "package_config" : { @@ -3477,6 +3488,7 @@ tempscript=".viash_script.py" cat > "$tempscript" << VIASHMAIN import sys from spatialdata_io import xenium +import zipfile ## VIASH START # The following code has been auto-generated by Viash. @@ -3523,10 +3535,14 @@ dep = { sys.path.append(meta["resources_dir"]) from setup_logger import setup_logger +from unzip_archived_folder import unzip_archived_folder logger = setup_logger() logger.info("Reading in Xenium data...") +if zipfile.is_zipfile(par["input"]): + par["input"] = unzip_archived_folder(par["input"]) + sdata = xenium( par["input"], cells_boundaries=par["cells_boundaries"], diff --git a/target/nextflow/convert/from_xenium_to_spatialdata/unzip_archived_folder.py b/target/nextflow/convert/from_xenium_to_spatialdata/unzip_archived_folder.py new file mode 100644 index 0000000..db87d38 --- /dev/null +++ b/target/nextflow/convert/from_xenium_to_spatialdata/unzip_archived_folder.py @@ -0,0 +1,50 @@ +import fnmatch +import zipfile +import tempfile +from pathlib import Path +from typing import Union + + +def unzip_archived_folder(archived_folder: Union[str, Path]) -> Union[str, Path]: + """ + Extracts a ZIP archive to a temporary directory and returns the path to the extracted folder. + + Args: + zip_path (Union[str, Path]): Path to the ZIP archive. + + Returns: + extracted_path (Union[str, Path]): Path to the extracted folder inside the temporary directory. + """ + + temp_dir = Path(tempfile.TemporaryDirectory().name) + with zipfile.ZipFile(archived_folder, "r") as archive: + archive.extractall(temp_dir) + + return temp_dir + + +def extract_selected_files_from_zip( + zip_path: Union[str, Path], members: list[Union[str, Path]] +) -> Union[str, Path]: + """ + Extracts selected files (supports glob patterns) from a ZIP archive to a temporary directory. + + Args: + zip_path (Union[str, Path]): Path to the ZIP archive. + members (list[str]): List of file paths within the archive to extract. + + Returns: + Path: Path to the extraction directory. + """ + + temp_dir = Path(tempfile.TemporaryDirectory().name) + + with zipfile.ZipFile(zip_path, "r") as archive: + all_files = archive.namelist() + selected = set() + for pattern in members: + selected.update(fnmatch.filter(all_files, str(pattern))) + for member in selected: + archive.extract(member, temp_dir) + + return temp_dir diff --git a/target/nextflow/convert/from_xenium_to_spatialexperiment/.config.vsh.yaml b/target/nextflow/convert/from_xenium_to_spatialexperiment/.config.vsh.yaml index 2708dc8..c96aaf1 100644 --- a/target/nextflow/convert/from_xenium_to_spatialexperiment/.config.vsh.yaml +++ b/target/nextflow/convert/from_xenium_to_spatialexperiment/.config.vsh.yaml @@ -222,7 +222,7 @@ build_info: output: "target/nextflow/convert/from_xenium_to_spatialexperiment" executable: "target/nextflow/convert/from_xenium_to_spatialexperiment/main.nf" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/nextflow/convert/from_xenium_to_spatialexperiment/main.nf b/target/nextflow/convert/from_xenium_to_spatialexperiment/main.nf index 5f95db3..fc096ef 100644 --- a/target/nextflow/convert/from_xenium_to_spatialexperiment/main.nf +++ b/target/nextflow/convert/from_xenium_to_spatialexperiment/main.nf @@ -3311,7 +3311,7 @@ meta = [ "engine" : "docker|native", "output" : "/workdir/root/repo/target/nextflow/convert/from_xenium_to_spatialexperiment", "viash_version" : "0.9.4", - "git_commit" : "b1bfccbd0edea3f1692c489d0f174f7e494a7341", + "git_commit" : "2cc934cef9746e6befa3e91c82080bc071294628", "git_remote" : "https://github.com/openpipelines-bio/openpipeline_spatial" }, "package_config" : { diff --git a/target/nextflow/filter/subset_cosmx/.config.vsh.yaml b/target/nextflow/filter/subset_cosmx/.config.vsh.yaml index b364f21..0b79562 100644 --- a/target/nextflow/filter/subset_cosmx/.config.vsh.yaml +++ b/target/nextflow/filter/subset_cosmx/.config.vsh.yaml @@ -227,7 +227,7 @@ build_info: output: "target/nextflow/filter/subset_cosmx" executable: "target/nextflow/filter/subset_cosmx/main.nf" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/nextflow/filter/subset_cosmx/main.nf b/target/nextflow/filter/subset_cosmx/main.nf index c9fb556..84c0b57 100644 --- a/target/nextflow/filter/subset_cosmx/main.nf +++ b/target/nextflow/filter/subset_cosmx/main.nf @@ -3333,7 +3333,7 @@ meta = [ "engine" : "docker|native", "output" : "/workdir/root/repo/target/nextflow/filter/subset_cosmx", "viash_version" : "0.9.4", - "git_commit" : "b1bfccbd0edea3f1692c489d0f174f7e494a7341", + "git_commit" : "2cc934cef9746e6befa3e91c82080bc071294628", "git_remote" : "https://github.com/openpipelines-bio/openpipeline_spatial" }, "package_config" : { diff --git a/target/nextflow/mapping/spaceranger_count/.config.vsh.yaml b/target/nextflow/mapping/spaceranger_count/.config.vsh.yaml index c67b4f9..036be1e 100644 --- a/target/nextflow/mapping/spaceranger_count/.config.vsh.yaml +++ b/target/nextflow/mapping/spaceranger_count/.config.vsh.yaml @@ -426,7 +426,7 @@ build_info: output: "target/nextflow/mapping/spaceranger_count" executable: "target/nextflow/mapping/spaceranger_count/main.nf" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" package_config: name: "openpipeline_spatial" diff --git a/target/nextflow/mapping/spaceranger_count/main.nf b/target/nextflow/mapping/spaceranger_count/main.nf index 3c3999b..737b668 100644 --- a/target/nextflow/mapping/spaceranger_count/main.nf +++ b/target/nextflow/mapping/spaceranger_count/main.nf @@ -3548,7 +3548,7 @@ meta = [ "engine" : "docker|native", "output" : "/workdir/root/repo/target/nextflow/mapping/spaceranger_count", "viash_version" : "0.9.4", - "git_commit" : "b1bfccbd0edea3f1692c489d0f174f7e494a7341", + "git_commit" : "2cc934cef9746e6befa3e91c82080bc071294628", "git_remote" : "https://github.com/openpipelines-bio/openpipeline_spatial" }, "package_config" : { diff --git a/target/nextflow/workflows/multiomics/spatial_process_samples/.config.vsh.yaml b/target/nextflow/workflows/multiomics/spatial_process_samples/.config.vsh.yaml index 6bc910f..0da151a 100644 --- a/target/nextflow/workflows/multiomics/spatial_process_samples/.config.vsh.yaml +++ b/target/nextflow/workflows/multiomics/spatial_process_samples/.config.vsh.yaml @@ -640,7 +640,7 @@ build_info: output: "target/nextflow/workflows/multiomics/spatial_process_samples" executable: "target/nextflow/workflows/multiomics/spatial_process_samples/main.nf" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" dependencies: - "target/dependencies/vsh/vsh/openpipeline/v3.0.0/nextflow/workflows/multiomics/process_samples" diff --git a/target/nextflow/workflows/multiomics/spatial_process_samples/main.nf b/target/nextflow/workflows/multiomics/spatial_process_samples/main.nf index 7fc7b7f..b1f02fb 100644 --- a/target/nextflow/workflows/multiomics/spatial_process_samples/main.nf +++ b/target/nextflow/workflows/multiomics/spatial_process_samples/main.nf @@ -3807,7 +3807,7 @@ meta = [ "engine" : "native", "output" : "/workdir/root/repo/target/nextflow/workflows/multiomics/spatial_process_samples", "viash_version" : "0.9.4", - "git_commit" : "b1bfccbd0edea3f1692c489d0f174f7e494a7341", + "git_commit" : "2cc934cef9746e6befa3e91c82080bc071294628", "git_remote" : "https://github.com/openpipelines-bio/openpipeline_spatial" }, "package_config" : { diff --git a/target/nextflow/workflows/qc/spatial_qc/.config.vsh.yaml b/target/nextflow/workflows/qc/spatial_qc/.config.vsh.yaml index bc4e21b..c0e3387 100644 --- a/target/nextflow/workflows/qc/spatial_qc/.config.vsh.yaml +++ b/target/nextflow/workflows/qc/spatial_qc/.config.vsh.yaml @@ -387,7 +387,7 @@ build_info: output: "target/nextflow/workflows/qc/spatial_qc" executable: "target/nextflow/workflows/qc/spatial_qc/main.nf" viash_version: "0.9.4" - git_commit: "b1bfccbd0edea3f1692c489d0f174f7e494a7341" + git_commit: "2cc934cef9746e6befa3e91c82080bc071294628" git_remote: "https://github.com/openpipelines-bio/openpipeline_spatial" dependencies: - "target/dependencies/vsh/vsh/openpipeline/v3.0.0/nextflow/workflows/qc/qc" diff --git a/target/nextflow/workflows/qc/spatial_qc/main.nf b/target/nextflow/workflows/qc/spatial_qc/main.nf index 1eb8f42..cbe494d 100644 --- a/target/nextflow/workflows/qc/spatial_qc/main.nf +++ b/target/nextflow/workflows/qc/spatial_qc/main.nf @@ -3505,7 +3505,7 @@ meta = [ "engine" : "native", "output" : "/workdir/root/repo/target/nextflow/workflows/qc/spatial_qc", "viash_version" : "0.9.4", - "git_commit" : "b1bfccbd0edea3f1692c489d0f174f7e494a7341", + "git_commit" : "2cc934cef9746e6befa3e91c82080bc071294628", "git_remote" : "https://github.com/openpipelines-bio/openpipeline_spatial" }, "package_config" : {