Skip to content

add WebAtlas pipeline 0.5.3#1794

Open
dannyspadaro wants to merge 32 commits intobgruening:masterfrom
dannyspadaro:webatlas
Open

add WebAtlas pipeline 0.5.3#1794
dannyspadaro wants to merge 32 commits intobgruening:masterfrom
dannyspadaro:webatlas

Conversation

@dannyspadaro
Copy link
Copy Markdown

FOR CONTRIBUTOR:

  • I have read the CONTRIBUTING.md document and this tool is appropriate for the tools-iuc repo.
  • License permits unrestricted use (educational + commercial)
  • This PR adds a new tool or tool collection
  • This PR updates an existing tool or tool collection
  • This PR does something else (explain below)

There are two labels that allow to ignore specific (false positive) tool linter errors:

  • skip-version-check: Use it if only a subset of the tools has been updated in a suite.
  • skip-url-check: Use it if github CI sees 403 errors, but the URLs work.

@dannyspadaro
Copy link
Copy Markdown
Author

I have 2 docker containers containing the dependencies and python scripts of webatlas (1 container specifically for build_config and 1 container for all other tools). Where should I put/upload them?

@nilchia
Copy link
Copy Markdown
Collaborator

nilchia commented Apr 7, 2026

Hi, please add a .shed.yml file here. You can find examples in other tools in this repo.

Copy link
Copy Markdown
Collaborator

@pavanvidem pavanvidem left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will review the remaining tools later.

Comment thread tools/webatlas/macros.xml Outdated
Comment thread tools/webatlas/build_config.xml Outdated
Comment thread tools/webatlas/build_config.xml Outdated
Comment thread tools/webatlas/build_config.xml Outdated
Comment thread tools/webatlas/build_config.xml
Comment thread tools/webatlas/build_config.xml Outdated
Comment thread tools/webatlas/build_config.xml Outdated
Comment thread tools/webatlas/build_config.xml Outdated
Comment thread tools/webatlas/build_config.xml Outdated
Comment thread tools/webatlas/build_config.xml Outdated
Copy link
Copy Markdown
Collaborator

@nilchia nilchia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work! @dannyspadaro

Comment thread tools/webatlas/build_config.xml Outdated
<import>macros.xml</import>
</macros>
<requirements>
<container type="docker">dannyspadaro/webatlas-pipeline-build-config:0.5.3-galaxy</container>
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a link to the DockerFile?
Maybe you can add a comment to the repo.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently you can find the Dockerfile here: https://github.com/dannyspadaro/webatlas-pipeline/tree/update_dependencies
You can build it by running /envs/build-docker-imgs.sh
I will replace the container once PR usegalaxy-eu/docker-webatlas#1 is done

Comment thread tools/webatlas/build_config.xml Outdated
Comment thread tools/webatlas/router.xml
Comment on lines +77 to +79
<option value="spaceranger">SpaceRanger output archive (ZIP)</option>
<option value="xenium">Xenium output archive (ZIP)</option>
<option value="merscope">MERSCOPE output archive (ZIP)</option>
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ZIP files will be error-prone and will fail if an specific input is not in the ZIP.

Alternatively, Maybe you can use and SpatialData object (output of spatialdata_io tool) which is already a ZARR file and extract the AnnData ZARR from it?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would users necessarily (want to) run spatialdata_io beforehand?
Trying/implementing this now would complicate the work on my thesis a lot I think, so I'd like to postpone it if that's okay.

Comment thread tools/webatlas/build_config.xml Outdated
Comment thread tools/webatlas/build_config.xml
Comment thread tools/webatlas/ome_zarr_metadata.xml Outdated
Comment thread tools/webatlas/router.xml Outdated
Comment thread tools/webatlas/router.xml
<option value="spaceranger">SpaceRanger output archive (ZIP)</option>
<option value="xenium">Xenium output archive (ZIP)</option>
<option value="merscope">MERSCOPE output archive (ZIP)</option>
<!-- Currently there is no usecase for this option. It can be implemented on request -->
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ZIP files will be error-prone and will fail if an specific input is not in the ZIP.

Alternatively, Maybe you can use and SpatialData object (output of spatialdata_io tool) which is already a ZARR file and extract the AnnData ZARR from it?

same for generate_image.xml

<param name="input_label_img" type="data" format="tif,tiff" optional="true" label="Label image TIFF" help="Optional label TIFF image to include in the SpatialData Zarr."/>
</inputs>
<outputs>
<data name="output_zarr" format="zarr.zip" label="${tool.name} on ${on_string}: ZIP-compressed SpatialData Zarr output"/>
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<data name="output_zarr" format="zarr.zip" label="${tool.name} on ${on_string}: ZIP-compressed SpatialData Zarr output"/>
<data name="output_zarr" format="spatialdata.zip" label="${tool.name} on ${on_string}: ZIP-compressed SpatialData Zarr output"/>

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The output of write_spatialdata.py is actually a Zarr, so this should also be Zarr I think?

Comment thread tools/webatlas/write_spatialdata.xml Outdated
<param name="input_label_img" location="https://zenodo.org/records/19053876/files/visium-breast-cancer-label.tif"/>
<output name="output_zarr">
<assert_contents>
<has_archive_member path="visium-breast-cancer-spatialdata.zarr/.zgroup"/>
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can also assert the file contents. You can take a look at spatialdata too suite on tools IUC repo

@nilchia
Copy link
Copy Markdown
Collaborator

nilchia commented Apr 8, 2026

Hi @dannyspadaro, Thanks for the great work!

Two other points from my side:

  1. Some parts can be replaced by spatialdata tool suite, for example, write_spatialdata.xml. You can also make the tool accept spatialdata.zip and then parse the info you need for webatlas from there.
  2. If possible, please combine the different tools here into one. It looks like you have only one main tool, and the rest are for preparing the input for that tool.

One minor point: pleasae add "webatlas_" to the xml files here. please check the best practive here: https://galaxy-iuc-standards.readthedocs.io/en/latest/best_practices/tool_xml.html#tool-ids

@nilchia
Copy link
Copy Markdown
Collaborator

nilchia commented Apr 8, 2026

Please also run planemo l in your local tool directory to see other linting errors

Comment thread tools/webatlas/consolidate_md.xml Outdated
<param name="stem" value="visium-breast-cancer"/>
<param name="image_type" value="label"/>
<output name="output_zarr">
<extra_files type="file" name="visium-breast-cancer-label.zarr/OME/METADATA.ome.xml" location="https://zenodo.org/records/19461849/files/consolidate_expected_ome_label_metadata_contains.txt" compare="contains"/>
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure whether compare="contains" works for extra_files. Here anyways you want to check the file in the zarr is same as the file you provided. Please use compare="sim_size" with a small delta.

Comment thread tools/webatlas/consolidate_md.xml Outdated
<param name="stem" value="visium-breast-cancer"/>
<param name="image_type" value="raw"/>
<output name="output_zarr">
<extra_files type="file" name="visium-breast-cancer-raw.zarr/OME/METADATA.ome.xml" location="https://zenodo.org/records/19461849/files/consolidate_expected_ome_raw_metadata_contains.txt" compare="contains"/>
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as above, use compare="sim_size"

Comment thread tools/webatlas/generate_image.xml Outdated
Comment thread tools/webatlas/consolidate_md.xml Outdated
Comment thread tools/webatlas/consolidate_md.xml Outdated
Comment thread tools/webatlas/router.xml Outdated
Comment thread tools/webatlas/router.xml Outdated
Comment thread tools/webatlas/router.xml Outdated
</section>
</conditional>
<output name="output_zarr">
<extra_files type="file" name="h5ad-anndata.zarr/.zmetadata" location="https://zenodo.org/records/19461849/files/h5ad_var_subset_expected_zmetadata_contains.txt" compare="contains"/>
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please replace the contains with sim_size. Also for all extra_files comparison in other tests too

Comment thread tools/webatlas/write_spatialdata.xml Outdated
Comment thread tools/webatlas/write_spatialdata.xml Outdated
dannyspadaro and others added 3 commits April 12, 2026 18:12
Co-authored-by: Pavankumar Videm <pavanvidem@gmail.com>
@pavanvidem pavanvidem marked this pull request as ready for review April 30, 2026 12:30
@bgruening
Copy link
Copy Markdown
Owner

Tests are not running, the shed.yml file is missing.

@pavanvidem
Copy link
Copy Markdown
Collaborator

Added shed.yml. The tests still might fail because there is no required Docker container. Please review it here: usegalaxy-eu/docker-webatlas#2

@bgruening
Copy link
Copy Markdown
Owner

Commented, in the Docker one. You need to create a tagged release to get a new contianer.

Comment thread tools/webatlas/build_config.xml Outdated
Comment thread tools/webatlas/consolidate_md.xml Outdated
</macros>
<expand macro="requirements"/>
<command detect_errors="exit_code"><![CDATA[
if tiffinfo $input_image | grep "Compression Scheme:" | grep -wq "JPEG";
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

single quotes

Comment thread tools/webatlas/consolidate_md.xml Outdated
</macros>
<expand macro="requirements"/>
<command detect_errors="exit_code"><![CDATA[
if tiffinfo $input_image | grep "Compression Scheme:" | grep -wq "JPEG";
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this doing? Can we not make decisions based on Galaxy metadata of those datasets?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

checks if it is a JPEG compressed TIFF image. I don't think this information is stored in the metadata.

pavanvidem and others added 2 commits May 4, 2026 23:49
Co-authored-by: Björn Grüning <bjoern@gruenings.eu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants