From 121700e9cdc742e252d9c45c5232e3333cb535f3 Mon Sep 17 00:00:00 2001 From: planemo-autoupdate Date: Mon, 30 Mar 2026 06:05:01 +0000 Subject: [PATCH 01/36] Updating tools/rna_tools/ribotaper from version 1.3.1a to 1.3.1 --- tools/rna_tools/ribotaper/macros.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/rna_tools/ribotaper/macros.xml b/tools/rna_tools/ribotaper/macros.xml index 4ac71c28ad..2e00e4be53 100644 --- a/tools/rna_tools/ribotaper/macros.xml +++ b/tools/rna_tools/ribotaper/macros.xml @@ -1,11 +1,11 @@ - 1.3.1a - 2 + 1.3.1 + 0 ribotaper - coreutils - ghostscript + coreutils + ghostscript From 8783413e2cfefbb7880ec8459369d2fcb317e006 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Mon, 20 Apr 2026 17:49:43 +0200 Subject: [PATCH 02/36] Fix GTF format in annotation file parameters --- .../ribotaper/ribotaper_part1_create_annotation_files.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/rna_tools/ribotaper/ribotaper_part1_create_annotation_files.xml b/tools/rna_tools/ribotaper/ribotaper_part1_create_annotation_files.xml index d39ba3bbf1..4009889695 100644 --- a/tools/rna_tools/ribotaper/ribotaper_part1_create_annotation_files.xml +++ b/tools/rna_tools/ribotaper/ribotaper_part1_create_annotation_files.xml @@ -26,7 +26,7 @@ ]]> - From c0f9f3ec31bc844ff60ba63dbccf5b9cd25e0813 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Mon, 20 Apr 2026 17:50:13 +0200 Subject: [PATCH 03/36] Change BAM format from uppercase to lowercase --- tools/rna_tools/ribotaper/ribotaper_part3_main.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml index 0404c93a00..90e1a2bcd4 100644 --- a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml +++ b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml @@ -23,8 +23,8 @@ ]]> - - + + From 1c63bc5f66d02a750c2607e8cf471cfb1b66407d Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Mon, 20 Apr 2026 17:52:45 +0200 Subject: [PATCH 04/36] set annotation type to tar --- tools/rna_tools/ribotaper/ribotaper_part3_main.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml index 90e1a2bcd4..7c92514887 100644 --- a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml +++ b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml @@ -56,7 +56,7 @@ - + From 140b64dd8983ec5fb58fa5c5a55a1ba8a2176789 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Tue, 21 Apr 2026 09:38:14 +0200 Subject: [PATCH 05/36] Fix typo in annotation_path parameter attribute --- tools/rna_tools/ribotaper/ribotaper_part3_main.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml index 7c92514887..6e6823b09d 100644 --- a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml +++ b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml @@ -56,7 +56,7 @@ - + From af6fedf9b02c1649c34d4f5370e778e2dd1b3d09 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Tue, 21 Apr 2026 10:47:56 +0200 Subject: [PATCH 06/36] Rename annotation_path.tgz to annotation_path.tar --- .../{annotation_path.tgz => annotation_path.tar} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename tools/rna_tools/ribotaper/test-data/{annotation_path.tgz => annotation_path.tar} (100%) diff --git a/tools/rna_tools/ribotaper/test-data/annotation_path.tgz b/tools/rna_tools/ribotaper/test-data/annotation_path.tar similarity index 100% rename from tools/rna_tools/ribotaper/test-data/annotation_path.tgz rename to tools/rna_tools/ribotaper/test-data/annotation_path.tar From 5f6894486d18807671db045e2119efd1f8d1439d Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Tue, 21 Apr 2026 10:48:26 +0200 Subject: [PATCH 07/36] Fix annotation path in ribotaper_part3_main.xml --- tools/rna_tools/ribotaper/ribotaper_part3_main.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml index 6e6823b09d..440e00f0af 100644 --- a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml +++ b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml @@ -56,7 +56,7 @@ - + From 62c72d921e353b8929d4948e3d4634f8083b234a Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Tue, 21 Apr 2026 17:27:25 +0200 Subject: [PATCH 08/36] Rename annotation_path.tar to annotation_path.tgz --- .../{annotation_path.tar => annotation_path.tgz} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename tools/rna_tools/ribotaper/test-data/{annotation_path.tar => annotation_path.tgz} (100%) diff --git a/tools/rna_tools/ribotaper/test-data/annotation_path.tar b/tools/rna_tools/ribotaper/test-data/annotation_path.tgz similarity index 100% rename from tools/rna_tools/ribotaper/test-data/annotation_path.tar rename to tools/rna_tools/ribotaper/test-data/annotation_path.tgz From 75d41eb70a565ed00253fe00f9789183aa84fec1 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Tue, 21 Apr 2026 17:28:13 +0200 Subject: [PATCH 09/36] revert ftype to tgz --- tools/rna_tools/ribotaper/ribotaper_part3_main.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml index 440e00f0af..4882f2e39d 100644 --- a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml +++ b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml @@ -56,7 +56,7 @@ - + From 495616b598023189cbdb7ea8c47d34573dd3b6b7 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Tue, 21 Apr 2026 17:29:13 +0200 Subject: [PATCH 10/36] revert annotation path file extension --- tools/rna_tools/ribotaper/ribotaper_part3_main.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml index 4882f2e39d..7ca8293691 100644 --- a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml +++ b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml @@ -56,7 +56,7 @@ - + From 20ae929567553870ba5c6367a3e804818d4d0272 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 23 Apr 2026 21:44:13 +0200 Subject: [PATCH 11/36] Update tar command for handling tgz files --- tools/rna_tools/ribotaper/ribotaper_part3_main.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml index 7ca8293691..a76ab128c3 100644 --- a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml +++ b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml @@ -9,7 +9,7 @@ Date: Fri, 24 Apr 2026 09:44:36 +0200 Subject: [PATCH 12/36] Change annotation path format from tgz to tar.gz --- tools/rna_tools/ribotaper/ribotaper_part3_main.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml index a76ab128c3..4614a5c22a 100644 --- a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml +++ b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml @@ -8,8 +8,8 @@ - + - + From 706d988d30cc0346119e475bd95cb4c710376fcf Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Fri, 24 Apr 2026 12:15:41 +0200 Subject: [PATCH 13/36] add && --- tools/rna_tools/ribotaper/ribotaper_part3_main.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml index 4614a5c22a..22f42ec071 100644 --- a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml +++ b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml @@ -9,7 +9,7 @@ Date: Fri, 24 Apr 2026 12:59:54 +0200 Subject: [PATCH 14/36] add another test to see if it runs tar -xvf instead of tar - xvzf Updated the annotation_path parameter to include 'tgz' format. --- tools/rna_tools/ribotaper/ribotaper_part3_main.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml index 22f42ec071..d37285c24b 100644 --- a/tools/rna_tools/ribotaper/ribotaper_part3_main.xml +++ b/tools/rna_tools/ribotaper/ribotaper_part3_main.xml @@ -22,7 +22,7 @@ \${GALAXY_SLOTS:-12} ]]> - + + + + + + + Date: Tue, 28 Apr 2026 09:21:30 +0200 Subject: [PATCH 15/36] Fix `no_interp` parameter in Cellpose-SAM wrapper Updated version suffix and modified interpolation parameter settings. --- tools/cellpose_v4/cellpose.xml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tools/cellpose_v4/cellpose.xml b/tools/cellpose_v4/cellpose.xml index 486f90e91c..e0dc341eea 100644 --- a/tools/cellpose_v4/cellpose.xml +++ b/tools/cellpose_v4/cellpose.xml @@ -2,7 +2,7 @@ with Cellpose-SAM 4.0.8 - 0 + 1 cellpose @@ -97,7 +97,7 @@ - + +
+ +
@@ -159,6 +162,9 @@ +
+ +
@@ -177,6 +183,7 @@
+ From d39c4770c8c476771191e8187d7a543586e12cef Mon Sep 17 00:00:00 2001 From: Leonid Kostrykin Date: Tue, 28 Apr 2026 09:41:12 +0200 Subject: [PATCH 16/36] Fix `remote_repository_url` --- tools/cellpose_v4/.shed.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/cellpose_v4/.shed.yml b/tools/cellpose_v4/.shed.yml index 6155d660fc..c7d59e4332 100644 --- a/tools/cellpose_v4/.shed.yml +++ b/tools/cellpose_v4/.shed.yml @@ -2,8 +2,8 @@ name: cellposesam owner: bgruening categories: - Imaging -description: CellPose SAM -remote_repository_url: https://github.com/bgruening/galaxytools/tree/master/tools +description: Cellpose-SAM +remote_repository_url: https://github.com/bgruening/galaxytools/tree/master/tools/cellpose_v4 type: unrestricted homepage_url: https://cellpose.org long_description: | @@ -11,4 +11,3 @@ long_description: | auto_tool_repositories: name_template: "{{ tool_id }}" description_template: "Wrapper for CellPoseSAM {{ tool_name }}." - From c90b17006cc5543eb2c89b56d9292f07d148013c Mon Sep 17 00:00:00 2001 From: Hannah Greven <36483428+hagreven@users.noreply.github.com> Date: Thu, 30 Apr 2026 10:18:01 +0200 Subject: [PATCH 17/36] Update 3Dtrees: RayCloudTools v1.2.0 (#1855) * Update 3dtrees_raycloudtools to version 1.2.0 * Update test data --- tools/3dtrees_raycloudtools/raycloudtools.xml | 4 ++-- .../test-data/Example_Tree_RCT_mesh.ply | Bin 111383 -> 111275 bytes .../test-data/Example_Tree_RCT_segmented.laz | Bin 20737 -> 20734 bytes .../test-data/Example_Tree_RCT_trees.txt | 2 +- .../test-data/Example_Tree_RCT_trees_info.txt | 2 +- .../test-data/Example_Tree_RCT_trees_mesh.ply | Bin 38582 -> 43318 bytes 6 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/3dtrees_raycloudtools/raycloudtools.xml b/tools/3dtrees_raycloudtools/raycloudtools.xml index b5df74a042..4d1ee48ba2 100644 --- a/tools/3dtrees_raycloudtools/raycloudtools.xml +++ b/tools/3dtrees_raycloudtools/raycloudtools.xml @@ -1,8 +1,8 @@ Tree instance segmentation - 1.1.1 - 1 + 1.2.0 + 0 diff --git a/tools/3dtrees_raycloudtools/test-data/Example_Tree_RCT_mesh.ply b/tools/3dtrees_raycloudtools/test-data/Example_Tree_RCT_mesh.ply index 6e1465409e1b9a03dd2a5a1ba3320ccb1beec732..5c82310e83fb28ce184a66fa77a94a5c855d7fa1 100644 GIT binary patch literal 111275 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 literal 111383 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 S00000009610C^un0000T+Q;eu delta 18934 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 literal 38582 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 br|j3JbCR(QEo0wo8T&@d*qbe5Z^~Z*eS+o= From 7cd4a3e69b2da3e062b241cb9bbc54d92ec265de Mon Sep 17 00:00:00 2001 From: Arash Kadkhodaei Date: Thu, 30 Apr 2026 12:14:33 +0200 Subject: [PATCH 18/36] Update RAG embedding model filter tag to 'vector-rag' (#1854) * Update RAG embedding model filter tag from 'embedding' to 'vector-rag' * Update huggingface.loc.sample: use 'vector-rag' free_tag for RAG embedding models --- tools/rag/rag_retriever.xml | 2 +- tools/rag/tool-data/huggingface.loc.sample | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/rag/rag_retriever.xml b/tools/rag/rag_retriever.xml index e39f118ee9..107df8e0bf 100644 --- a/tools/rag/rag_retriever.xml +++ b/tools/rag/rag_retriever.xml @@ -58,7 +58,7 @@ python '$__tool_directory__/rag_retriever.py' '$context_files' '$question' '$MOD - + # # For this tool, embedding models can be registered here and selected via the existing -# Galaxy "huggingface" data table. +# Galaxy "huggingface" data table. Use free_tag=vector-rag to make models visible to +# the RAG retriever tool. # # Example entries for embedding models: # -# sentence-transformers/all-MiniLM-L6-v2 all-MiniLM-L6-v2 feature-extraction text embedding 1 /path/to/huggingface_models/sentence-transformers/all-MiniLM-L6-v2 -# BAAI/bge-small-en BAAI bge-small-en feature-extraction text embedding 1 /path/to/huggingface_models/BAAI/bge-small-en \ No newline at end of file +# sentence-transformers/all-MiniLM-L6-v2 all-MiniLM-L6-v2 feature-extraction text vector-rag 1 /path/to/huggingface_models/sentence-transformers/all-MiniLM-L6-v2 +# BAAI/bge-small-en BAAI bge-small-en feature-extraction text vector-rag 1 /path/to/huggingface_models/BAAI/bge-small-en \ No newline at end of file From e160e1cea4d7d996d9d90428d859150a1872589f Mon Sep 17 00:00:00 2001 From: gxydevbot <72021197+gxydevbot@users.noreply.github.com> Date: Mon, 4 May 2026 09:18:56 -0400 Subject: [PATCH 19/36] Updating tools/llm_hub from version 2.32.0 to 2.33.0 (#1856) Co-authored-by: planemo-autoupdate --- tools/llm_hub/macros.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/llm_hub/macros.xml b/tools/llm_hub/macros.xml index 8e26221bea..1a01b38347 100644 --- a/tools/llm_hub/macros.xml +++ b/tools/llm_hub/macros.xml @@ -1,3 +1,3 @@ - 2.32.0 + 2.33.0 From 820df141eb08e7aafdea9c785533c596cdd3312b Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Mon, 4 May 2026 15:47:34 +0200 Subject: [PATCH 20/36] Apply suggestion from @pavanvidem --- tools/cellpose_v4/.shed.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/cellpose_v4/.shed.yml b/tools/cellpose_v4/.shed.yml index c7d59e4332..5e59a1b8c6 100644 --- a/tools/cellpose_v4/.shed.yml +++ b/tools/cellpose_v4/.shed.yml @@ -10,4 +10,4 @@ long_description: | Cellpose-SAM: cell and nucleus segmentation with superhuman generalization. It can be optimized for your own data, applied in 3D, works on images with shot noise, (an)isotropic blur, undersampling, contrast inversions, regardless of channel order and object sizes. auto_tool_repositories: name_template: "{{ tool_id }}" - description_template: "Wrapper for CellPoseSAM {{ tool_name }}." + description_template: "Wrapper for CellPose-SAM {{ tool_name }}." From 18f46def6b192a31c1f718f2cf27b71734884728 Mon Sep 17 00:00:00 2001 From: Leonid Kostrykin Date: Mon, 4 May 2026 16:13:59 +0200 Subject: [PATCH 21/36] Update tools/cellpose_v4/.shed.yml --- tools/cellpose_v4/.shed.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/cellpose_v4/.shed.yml b/tools/cellpose_v4/.shed.yml index 5e59a1b8c6..785113ced1 100644 --- a/tools/cellpose_v4/.shed.yml +++ b/tools/cellpose_v4/.shed.yml @@ -10,4 +10,4 @@ long_description: | Cellpose-SAM: cell and nucleus segmentation with superhuman generalization. It can be optimized for your own data, applied in 3D, works on images with shot noise, (an)isotropic blur, undersampling, contrast inversions, regardless of channel order and object sizes. auto_tool_repositories: name_template: "{{ tool_id }}" - description_template: "Wrapper for CellPose-SAM {{ tool_name }}." + description_template: "Wrapper for Cellpose-SAM {{ tool_name }}." From 52a7de624e5acb20be0b3c9e9ae1e67ed5013e88 Mon Sep 17 00:00:00 2001 From: Arash Kadkhodaei Date: Wed, 6 May 2026 19:43:39 +0200 Subject: [PATCH 22/36] Fix RAG Retriever crash on markdown files (#1859) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The XML declares format="markdown" but valid_file_types checked for "md", causing "Unsupported file type: markdown" when selecting markdown datasets. Align the Python check with the Galaxy format name. Bump galaxy version suffix 0 → 1. --- tools/rag/rag_retriever.py | 2 +- tools/rag/rag_retriever.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/rag/rag_retriever.py b/tools/rag/rag_retriever.py index ced73a6bb2..a666f26bf5 100644 --- a/tools/rag/rag_retriever.py +++ b/tools/rag/rag_retriever.py @@ -33,7 +33,7 @@ def main(): docs: list[Document] = [] - valid_file_types = ["pdf", "json", "txt", "csv", "md"] + valid_file_types = ["pdf", "json", "txt", "csv", "markdown"] for file_path, file_type in context_files: if file_type not in valid_file_types: diff --git a/tools/rag/rag_retriever.xml b/tools/rag/rag_retriever.xml index 107df8e0bf..d3eb090133 100644 --- a/tools/rag/rag_retriever.xml +++ b/tools/rag/rag_retriever.xml @@ -4,7 +4,7 @@ 1.0.0 - 0 + 1 0.14.18 From b09539518785d4cdc16a648d64e3f3ce27db6ab0 Mon Sep 17 00:00:00 2001 From: Arash Kadkhodaei Date: Thu, 7 May 2026 15:36:41 +0200 Subject: [PATCH 23/36] Use snapshot_download instead of SentenceTransformer.save() in download_embeddings.py (#1858) SentenceTransformer.save() rewrites modules.json with deep class paths (e.g. sentence_transformers.base.modules.transformer.Transformer) that don't exist in older ST versions. The Galaxy container has ST 5.3.0 which cannot import sentence_transformers.base, causing ModuleNotFoundError. snapshot_download preserves the HF Hub files byte-for-byte, keeping the stable sentence_transformers.models.* paths that work across all ST 5.x. Also adds PEP 723 inline script metadata so uv run resolves deps without --with flags, shrinking the dependency from sentence-transformers (50+ packages including torch) to just huggingface_hub. --- tools/rag/download_embeddings.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tools/rag/download_embeddings.py b/tools/rag/download_embeddings.py index c307ded6ad..2c0302a9c5 100644 --- a/tools/rag/download_embeddings.py +++ b/tools/rag/download_embeddings.py @@ -1,9 +1,13 @@ +# /// script +# requires-python = ">=3.9" +# dependencies = ["huggingface_hub"] +# /// import argparse import os import sys from pathlib import Path -from sentence_transformers import SentenceTransformer +from huggingface_hub import snapshot_download def main(): @@ -34,8 +38,7 @@ def main(): print(f"[PATH] Destination: {out_dir}") try: - model = SentenceTransformer(model_id) - model.save(str(out_dir)) + snapshot_download(repo_id=model_id, local_dir=str(out_dir)) print(f"[SUCCESS] Saved {model_id}") except Exception as e: print(f"[ERROR] Could not download {model_id}: {e}") From cc25c4de1c8fd10d3b38c212f9a299ab2d5493fd Mon Sep 17 00:00:00 2001 From: gxydevbot <72021197+gxydevbot@users.noreply.github.com> Date: Fri, 8 May 2026 05:28:29 -0400 Subject: [PATCH 24/36] Updating tools/rna_tools/sortmerna from version 4.4.0 to 5.0.0 (#1857) Co-authored-by: planemo-autoupdate --- tools/rna_tools/sortmerna/macros.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/rna_tools/sortmerna/macros.xml b/tools/rna_tools/sortmerna/macros.xml index cb8a3d2173..2e1ecac083 100644 --- a/tools/rna_tools/sortmerna/macros.xml +++ b/tools/rna_tools/sortmerna/macros.xml @@ -1,5 +1,5 @@ - 4.4.0 + 5.0.0 0 From a7773140500d704c19e17d1b89ac19c541141896 Mon Sep 17 00:00:00 2001 From: Danny Spadaro <77001379+dannyspadaro@users.noreply.github.com> Date: Fri, 8 May 2026 14:50:15 +0200 Subject: [PATCH 25/36] add WebAtlas pipeline 0.5.3 (#1794) --- tools/webatlas/.shed.yml | 16 + tools/webatlas/build_config.xml | 449 +++++++++++++++++++++++++++ tools/webatlas/consolidate_md.xml | 98 ++++++ tools/webatlas/generate_image.xml | 317 +++++++++++++++++++ tools/webatlas/macros.xml | 189 +++++++++++ tools/webatlas/ome_zarr_metadata.xml | 79 +++++ tools/webatlas/router.xml | 421 +++++++++++++++++++++++++ tools/webatlas/write_spatialdata.xml | 133 ++++++++ 8 files changed, 1702 insertions(+) create mode 100644 tools/webatlas/.shed.yml create mode 100644 tools/webatlas/build_config.xml create mode 100644 tools/webatlas/consolidate_md.xml create mode 100644 tools/webatlas/generate_image.xml create mode 100644 tools/webatlas/macros.xml create mode 100644 tools/webatlas/ome_zarr_metadata.xml create mode 100644 tools/webatlas/router.xml create mode 100644 tools/webatlas/write_spatialdata.xml diff --git a/tools/webatlas/.shed.yml b/tools/webatlas/.shed.yml new file mode 100644 index 0000000000..dca0dc92c2 --- /dev/null +++ b/tools/webatlas/.shed.yml @@ -0,0 +1,16 @@ +name: webatlas +owner: iuc +description: The Galaxy WebAtlas tools to process spatial and single-cell experiment data for visualisation in a web browser using Vitessce. +homepage_url: https://github.com/haniffalab/webatlas-pipeline +long_description: The Galaxy WebAtlas tools provide a framework for processing spatial and single-cell experiment data, enabling visualisation with Vitessce. +remote_repository_url: https://github.com/bgruening/galaxytools/tree/master/tools/webatlas +categories: +- Spatial Omics +- Single Cell +auto_tool_repositories: + name_template: "{{ tool_id }}" + description_template: "Wrapper for {{ tool_name }}." +suite: + name: "suite_webatlas" + description: "A suite of Galaxy tools to process single-cell and spatial experiment data for visualisation using Vitessce." + type: repository_suite_definition \ No newline at end of file diff --git a/tools/webatlas/build_config.xml b/tools/webatlas/build_config.xml new file mode 100644 index 0000000000..303573d80a --- /dev/null +++ b/tools/webatlas/build_config.xml @@ -0,0 +1,449 @@ + + from AnnData and image Zarr inputs + + macros.xml + + + + + + + + + + + +
+ + + + + +
+
+ + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
+
+ + + + + + + + +
+ + + +
+
+ + + +
+ +
+ + +
+ + + + + + + + + + + + + + + +
+ + + + + +
+ + + +
+
+ + +
+ + + + + + + + + + + + + + +
+ + + + + +
+ + + +
+ +
+ + +
+ + + + + + + + + + + + + + +
+
+ + +
\ No newline at end of file diff --git a/tools/webatlas/consolidate_md.xml b/tools/webatlas/consolidate_md.xml new file mode 100644 index 0000000000..1618c7e01b --- /dev/null +++ b/tools/webatlas/consolidate_md.xml @@ -0,0 +1,98 @@ + + Converts an image to Zarr and consolidates metadata + + macros.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tools/webatlas/generate_image.xml b/tools/webatlas/generate_image.xml new file mode 100644 index 0000000000..0fb625dbb3 --- /dev/null +++ b/tools/webatlas/generate_image.xml @@ -0,0 +1,317 @@ + + Generate label/raw TIFF image from spatial metadata + + macros.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+
+ + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+ + + + + +
+ + + + + + + + + + + +
+ + + + + +
+
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
\ No newline at end of file diff --git a/tools/webatlas/macros.xml b/tools/webatlas/macros.xml new file mode 100644 index 0000000000..edc145341c --- /dev/null +++ b/tools/webatlas/macros.xml @@ -0,0 +1,189 @@ + + 0.5.3 + 0 + 25.1 + + + quay.io/bgruening/galaxy-webatlas:v0.5.3-1 + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://doi.org/10.1038/s41592-024-02371-x + + + +
diff --git a/tools/webatlas/ome_zarr_metadata.xml b/tools/webatlas/ome_zarr_metadata.xml new file mode 100644 index 0000000000..e97e86916b --- /dev/null +++ b/tools/webatlas/ome_zarr_metadata.xml @@ -0,0 +1,79 @@ + + extraction as JSON + + macros.xml + + + output.json + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tools/webatlas/router.xml b/tools/webatlas/router.xml new file mode 100644 index 0000000000..89a5204e84 --- /dev/null +++ b/tools/webatlas/router.xml @@ -0,0 +1,421 @@ + + into AnnData-Zarr + + macros.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 'h5ad' not in input_type['input_type_selector'] and input_type['save_h5ad'] + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+ + + + + + + + +
+ + + + + + +
+ + + + + +
+
+ + + + + + + + + +
+ + + + + + +
+ + + + + + + + + + +
+
+ + + + + + + + + +
+ + + + + + +
+ + + + +
+
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
\ No newline at end of file diff --git a/tools/webatlas/write_spatialdata.xml b/tools/webatlas/write_spatialdata.xml new file mode 100644 index 0000000000..955913849f --- /dev/null +++ b/tools/webatlas/write_spatialdata.xml @@ -0,0 +1,133 @@ + + AnnData and images into SpatialData Zarr + + macros.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 990b3344b39656596efee1852dff6f2eafa13180 Mon Sep 17 00:00:00 2001 From: Mina Hojat Ansari <73378149+Minamehr@users.noreply.github.com> Date: Sun, 10 May 2026 21:51:37 +0200 Subject: [PATCH 26/36] Fix Tiara wrapper when outputs are missing (#1846) * Fix Tiara wrapper when outputs are missing * Address the comments * edited the framework and test * tiara wrapper fixes --- tools/tiara/macros.xml | 4 +- tools/tiara/tiara.xml | 99 +++++++++++++++++++++++++++--------------- 2 files changed, 66 insertions(+), 37 deletions(-) diff --git a/tools/tiara/macros.xml b/tools/tiara/macros.xml index ced8daa721..bc0eed5e16 100644 --- a/tools/tiara/macros.xml +++ b/tools/tiara/macros.xml @@ -1,10 +1,10 @@ 1.0.3 - galaxy0 + 2 + 25.1 tiara - python diff --git a/tools/tiara/tiara.xml b/tools/tiara/tiara.xml index d272929edb..e942a7f01c 100644 --- a/tools/tiara/tiara.xml +++ b/tools/tiara/tiara.xml @@ -1,4 +1,4 @@ - + Deep-learning-based approach for identification of eukaryotic sequences in the metagenomic data macros.xml @@ -6,11 +6,12 @@ - - - - - - - + + + + + + + + + + + + + + + + + + @@ -78,40 +86,61 @@
- - + + fasta_output['produce_fasta'] == 'yes' + + + - + - - - - + + + + + + + + + + - + - - - - - - + + + + + + + + + + + + - + - + + - - - + + + + + + + + Date: Tue, 12 May 2026 02:59:42 -0400 Subject: [PATCH 27/36] Updating tools/llm_hub from version 2.33.0 to 2.36.0 (#1861) Co-authored-by: planemo-autoupdate --- tools/llm_hub/macros.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/llm_hub/macros.xml b/tools/llm_hub/macros.xml index 1a01b38347..23b484328c 100644 --- a/tools/llm_hub/macros.xml +++ b/tools/llm_hub/macros.xml @@ -1,3 +1,3 @@ - 2.33.0 + 2.36.0 From 68a35aab273370c2f8bdf21bd8685e855ede2cfa Mon Sep 17 00:00:00 2001 From: Saim Momin <64724322+SaimMomin12@users.noreply.github.com> Date: Tue, 12 May 2026 10:31:44 +0200 Subject: [PATCH 28/36] Logan Proteins minor fix (#1860) --- tools/logan_proteins/.shed.yml | 2 +- tools/logan_proteins/embed_query.xml | 8 +++----- tools/logan_proteins/macros.xml | 4 ++-- tools/logan_proteins/search_database.xml | 8 +++++++- tools/logan_proteins/test-data/faiss_database.loc | 2 +- tools/logan_proteins/tool-data/faiss_database.loc.sample | 2 +- 6 files changed, 15 insertions(+), 11 deletions(-) diff --git a/tools/logan_proteins/.shed.yml b/tools/logan_proteins/.shed.yml index f6e1e85566..8feec5dcda 100644 --- a/tools/logan_proteins/.shed.yml +++ b/tools/logan_proteins/.shed.yml @@ -13,7 +13,7 @@ long_description: | are validated and aligned with MMseqs2. The approach scales sub-linearly with the number of queries, making it practical for large-scale metagenomic and comparative-proteomics workflows. -remote_repository_url: https://github.com/bgruening/galaxytools/tree/master/tools/search_proteins +remote_repository_url: https://github.com/bgruening/galaxytools/tree/master/tools/logan_proteins type: unrestricted auto_tool_repositories: name_template: "{{ tool_id }}" diff --git a/tools/logan_proteins/embed_query.xml b/tools/logan_proteins/embed_query.xml index 4954a1ac87..81e666eae0 100644 --- a/tools/logan_proteins/embed_query.xml +++ b/tools/logan_proteins/embed_query.xml @@ -9,10 +9,11 @@ FORCE_CPU="--force_cpu" else FORCE_CPU=""; - fi && + fi && + ln -s '$query_sequences' query_sequences.fasta && mkdir -p results && python /app/embed_query.py - --query_sequences '$query_sequences' + --query_sequences query_sequences.fasta --output results -F \$FORCE_CPU @@ -50,9 +51,6 @@ This is the first step in a two-step protein search pipeline: - **Query sequences**: A FASTA file containing protein sequences to be embedded -**Parameters** - -- **Force CPU usage**: By default, CPU will be used. Disable this option to use GPU instead if available. **Outputs** diff --git a/tools/logan_proteins/macros.xml b/tools/logan_proteins/macros.xml index 813e50fe8e..d791d85d73 100644 --- a/tools/logan_proteins/macros.xml +++ b/tools/logan_proteins/macros.xml @@ -1,10 +1,10 @@ - 1.2.0 + 1.2.2 0 25.0 - quay.io/bgruening/logan-protein:1.2.0 + quay.io/bgruening/logan-protein:1.2.2 diff --git a/tools/logan_proteins/search_database.xml b/tools/logan_proteins/search_database.xml index b6e1057c05..6da9dc36b0 100644 --- a/tools/logan_proteins/search_database.xml +++ b/tools/logan_proteins/search_database.xml @@ -9,11 +9,14 @@ mkdir -p results/intermediate_files && ln -s '$query_embeddings_npy' results/intermediate_files/query_embeddings.npy && ln -s '$query_embeddings_names' results/intermediate_files/query_embeddings.names.txt && + ln -s '$query_sequences' query_sequences.fasta && python /app/search_database.py --database '$database.fields.path' + $deep_search --output results/ - --query_sequences '$query_sequences' + --query_sequences query_sequences.fasta --num_threads \${GALAXY_SLOTS:-8} + --memory \${GALAXY_MEMORY_MB:-16000} #if $outfmt: --outfmt '$outfmt' #end if @@ -36,6 +39,7 @@ +
@@ -49,6 +53,7 @@ + @@ -74,6 +79,7 @@ with MMseqs2. It is the second step in the protein search pipeline. - **Original query sequences**: The same FASTA file used for embedding (required for MMseqs2 alignment) - **Query embeddings (npy)**: Output from the Embed Query tool - **Query embedding names**: Text file with sequence names from the Embed Query tool +- **Deep search mode**: Optional flag to enable deep search, which extracts proteins from all search results instead of only aligned centroids, then aligns everything with MMseqs2 **Parameters** diff --git a/tools/logan_proteins/test-data/faiss_database.loc b/tools/logan_proteins/test-data/faiss_database.loc index 2394f5c94b..a226d158fe 100644 --- a/tools/logan_proteins/test-data/faiss_database.loc +++ b/tools/logan_proteins/test-data/faiss_database.loc @@ -3,4 +3,4 @@ # - db-name # - version # - /path/to/data -faiss-demo-db-20260203 FAISS Test Database 1.2.0 ${__HERE__}/test-db/ \ No newline at end of file +faiss-demo-db-20260203 FAISS Test Database 1.2.2 ${__HERE__}/test-db/ \ No newline at end of file diff --git a/tools/logan_proteins/tool-data/faiss_database.loc.sample b/tools/logan_proteins/tool-data/faiss_database.loc.sample index 058761bcac..05be18eaa6 100644 --- a/tools/logan_proteins/tool-data/faiss_database.loc.sample +++ b/tools/logan_proteins/tool-data/faiss_database.loc.sample @@ -1,5 +1,5 @@ #This is a sample file distributed with Galaxy that enables tools -#to use a directory of metagenomics files. +#to use a directory of FAISS database files. #file has this format (white space characters are TAB characters) # - db-build-version-date # - db-name From 31675610bb11b421229026f9c52276d4900a1b75 Mon Sep 17 00:00:00 2001 From: SirKekstington <77531284+SirKekstington@users.noreply.github.com> Date: Tue, 12 May 2026 10:58:29 +0200 Subject: [PATCH 29/36] Update mafft.xml (#1863) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update mafft.xml * Update VERSION_SUFFIX token to 3 --------- Co-authored-by: Björn Grüning --- tools/mafft/macros.xml | 2 +- tools/mafft/mafft.xml | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/tools/mafft/macros.xml b/tools/mafft/macros.xml index 3c9a44134b..cad96e4be7 100644 --- a/tools/mafft/macros.xml +++ b/tools/mafft/macros.xml @@ -1,6 +1,6 @@ 7.526 - 2 + 3 22.01 diff --git a/tools/mafft/mafft.xml b/tools/mafft/mafft.xml index bb990c102c..b8c142b3fa 100644 --- a/tools/mafft/mafft.xml +++ b/tools/mafft/mafft.xml @@ -54,6 +54,7 @@ ## run MAFFT with predefined MSA flavours or custom settings #if $flavour.type == "custom" mafft + $preservecase #if $flavour.guidetree.guidetree_generation == "original" #if $flavour.guidetree.dist_flavour.distance_method == "--6merpair" --6merpair @@ -97,6 +98,7 @@ $flavour.progressive_alignment_calculation.noscore #else $flavour.type + $preservecase #if $flavour.type == "mafft-ginsi" or "--globalpair" in str($flavour.type) #if $flavour.treat_unrelated_segments.unalignlevel > 0 --allowshift --unalignlevel $flavour.treat_unrelated_segments.unalignlevel @@ -325,6 +327,14 @@ cat $dataset >> input.fa + From 431176baee61307a91ba0e3023410fcf4e114f4b Mon Sep 17 00:00:00 2001 From: Helge Hecht Date: Wed, 13 May 2026 22:06:14 +0000 Subject: [PATCH 30/36] updated opsin and added shed.yml file (#1866) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * updated opsin and added shed.yml file * fixed url * Update chemicaltoolbox/opsin/opsin.xml Co-authored-by: Björn Grüning --------- Co-authored-by: Björn Grüning --- chemicaltoolbox/opsin/.shed.yml | 16 ++++++++++++++++ chemicaltoolbox/opsin/opsin.xml | 21 ++++++++++++--------- 2 files changed, 28 insertions(+), 9 deletions(-) create mode 100644 chemicaltoolbox/opsin/.shed.yml diff --git a/chemicaltoolbox/opsin/.shed.yml b/chemicaltoolbox/opsin/.shed.yml new file mode 100644 index 0000000000..18e1f73aa1 --- /dev/null +++ b/chemicaltoolbox/opsin/.shed.yml @@ -0,0 +1,16 @@ +categories: + - Computational chemistry +homepage_url: https://github.com/dan2097/opsin +name: opsin +owner: bgruening +remote_repository_url: https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/opsin +type: unrestricted +repositories: + opsin: + description: OPSIN (Open Parser for Systematic IUPAC Nomenclature) IUPAC name-to-structure conversion + long_description: | + OPSIN is an Open Parser for Systematic IUPAC Nomenclature. + This suite provides tools to convert IUPAC chemical names into machine-readable structures, + including SMILES, CML, and InChI formats. + include: + - opsin.xml \ No newline at end of file diff --git a/chemicaltoolbox/opsin/opsin.xml b/chemicaltoolbox/opsin/opsin.xml index 39f184bbb1..452bf938a2 100644 --- a/chemicaltoolbox/opsin/opsin.xml +++ b/chemicaltoolbox/opsin/opsin.xml @@ -1,8 +1,11 @@ - - converter (OPSIN) + + IUPAC name-to-structure + + 2.9.0 + - opsin + opsin @@ -13,15 +16,15 @@ "${outfile}" + < '${infile}' + > '${outfile}' ]]> - + @@ -53,7 +56,7 @@ OPSIN_ is a IUPAC name-to-structure conversion tool offering high recall and precision on organic chemical nomenclature. -.. _OPSIN: https://bitbucket.org/dan2097/opsin/overview +.. _OPSIN: https://github.com/dan2097/opsin ]]> From 1acb0d4df53acd4d992e45c20ab6dd51982866cd Mon Sep 17 00:00:00 2001 From: kgerb Date: Sat, 16 May 2026 00:16:12 +0200 Subject: [PATCH 31/36] tools: add 3dtrees metadata wrapper --- tools/3dtrees_metadata/.shed.yml | 12 ++ tools/3dtrees_metadata/metadata.xml | 141 ++++++++++++++++++ .../test-data/collection_summary.json | 8 + .../test-data/gadm_fixture.geojson | 35 +++++ .../test-data/wwf_ecoregions_fixture.geojson | 34 +++++ 5 files changed, 230 insertions(+) create mode 100644 tools/3dtrees_metadata/.shed.yml create mode 100644 tools/3dtrees_metadata/metadata.xml create mode 100644 tools/3dtrees_metadata/test-data/collection_summary.json create mode 100644 tools/3dtrees_metadata/test-data/gadm_fixture.geojson create mode 100644 tools/3dtrees_metadata/test-data/wwf_ecoregions_fixture.geojson diff --git a/tools/3dtrees_metadata/.shed.yml b/tools/3dtrees_metadata/.shed.yml new file mode 100644 index 0000000000..24eac2fc91 --- /dev/null +++ b/tools/3dtrees_metadata/.shed.yml @@ -0,0 +1,12 @@ +name: 3dtrees_metadata +owner: bgruening +description: Extract administrative metadata for 3Dtrees collections from GADM boundaries. +homepage_url: https://github.com/3dTrees-earth/tool_metadata +long_description: | + Extracts administrative context for a 3Dtrees collection summary by computing + the collection centroid from collection_summary.json and intersecting it with a + supplied GADM vector dataset. +remote_repository_url: https://github.com/bgruening/galaxytools/tree/master/tools/3dtrees_metadata +type: unrestricted +categories: +- "Geo Science" diff --git a/tools/3dtrees_metadata/metadata.xml b/tools/3dtrees_metadata/metadata.xml new file mode 100644 index 0000000000..d419dd9aa8 --- /dev/null +++ b/tools/3dtrees_metadata/metadata.xml @@ -0,0 +1,141 @@ + + Extract administrative and ecoregion metadata for a point-cloud collection + + 1.0.0 + 0 + + + ghcr.io/3dtrees-earth/tool_metadata:@TOOL_VERSION@ + + &1 + ]]> + + + + + + + + + ^[A-Za-z0-9._-]*$ + + + + ^[A-Za-z0-9._-]*$ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @misc{3dtrees_metadata, title = {3Dtrees: Metadata}, author = {3Dtrees Project}, year = {2026}} + + + diff --git a/tools/3dtrees_metadata/test-data/collection_summary.json b/tools/3dtrees_metadata/test-data/collection_summary.json new file mode 100644 index 0000000000..d3db2a25a9 --- /dev/null +++ b/tools/3dtrees_metadata/test-data/collection_summary.json @@ -0,0 +1,8 @@ +{ + "collection": { + "multipolygon_wkt": "MULTIPOLYGON(((7.84 47.98, 7.86 47.98, 7.86 48.00, 7.84 48.00, 7.84 47.98)))" + }, + "n_tiles": 2, + "homogeneous_crs": true, + "homogeneous_attribute_names": true +} diff --git a/tools/3dtrees_metadata/test-data/gadm_fixture.geojson b/tools/3dtrees_metadata/test-data/gadm_fixture.geojson new file mode 100644 index 0000000000..80656cdc6b --- /dev/null +++ b/tools/3dtrees_metadata/test-data/gadm_fixture.geojson @@ -0,0 +1,35 @@ +{ + "type": "FeatureCollection", + "name": "gadm_fixture", + "crs": { + "type": "name", + "properties": { + "name": "urn:ogc:def:crs:OGC:1.3:CRS84" + } + }, + "features": [ + { + "type": "Feature", + "properties": { + "GID_0": "DEU", + "COUNTRY": "Germany", + "GID_1": "DEU.1_1", + "NAME_1": "Baden-Wuerttemberg", + "TYPE_1": "Land", + "ENGTYPE_1": "State" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [7.70, 47.80], + [8.00, 47.80], + [8.00, 48.20], + [7.70, 48.20], + [7.70, 47.80] + ] + ] + } + } + ] +} diff --git a/tools/3dtrees_metadata/test-data/wwf_ecoregions_fixture.geojson b/tools/3dtrees_metadata/test-data/wwf_ecoregions_fixture.geojson new file mode 100644 index 0000000000..0c4b464112 --- /dev/null +++ b/tools/3dtrees_metadata/test-data/wwf_ecoregions_fixture.geojson @@ -0,0 +1,34 @@ +{ + "type": "FeatureCollection", + "name": "wwf_ecoregions_fixture", + "crs": { + "type": "name", + "properties": { + "name": "urn:ogc:def:crs:OGC:1.3:CRS84" + } + }, + "features": [ + { + "type": "Feature", + "properties": { + "ECO_NAME": "Black Forest", + "ECO_ID": "PA0414", + "REALM": "PA", + "BIOME": 4, + "BIOME_DESC": "Temperate Broadleaf & Mixed Forests" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [7.70, 47.80], + [8.00, 47.80], + [8.00, 48.20], + [7.70, 48.20], + [7.70, 47.80] + ] + ] + } + } + ] +} From 7052b633caace76c9b017def1ee1db15d0f85c85 Mon Sep 17 00:00:00 2001 From: kgerb Date: Sat, 16 May 2026 00:23:30 +0200 Subject: [PATCH 32/36] tools: rename 3dtrees metadata wrapper XML --- tools/3dtrees_metadata/.shed.yml | 11 ++++++----- .../{metadata.xml => 3dtrees_metadata.xml} | 0 2 files changed, 6 insertions(+), 5 deletions(-) rename tools/3dtrees_metadata/{metadata.xml => 3dtrees_metadata.xml} (100%) diff --git a/tools/3dtrees_metadata/.shed.yml b/tools/3dtrees_metadata/.shed.yml index 24eac2fc91..d25107b342 100644 --- a/tools/3dtrees_metadata/.shed.yml +++ b/tools/3dtrees_metadata/.shed.yml @@ -1,12 +1,13 @@ name: 3dtrees_metadata owner: bgruening -description: Extract administrative metadata for 3Dtrees collections from GADM boundaries. +description: Extract administrative and ecoregion metadata for 3Dtrees collections. homepage_url: https://github.com/3dTrees-earth/tool_metadata long_description: | - Extracts administrative context for a 3Dtrees collection summary by computing - the collection centroid from collection_summary.json and intersecting it with a - supplied GADM vector dataset. -remote_repository_url: https://github.com/bgruening/galaxytools/tree/master/tools/3dtrees_metadata + Extracts administrative and ecoregion context for a 3Dtrees collection summary + by computing the collection centroid from collection_summary.json and + intersecting it with selected GADM and WWF Terrestrial Ecoregions v2.0 vector + datasets. +remote_repository_url: https://github.com/3dTrees-earth/galaxytools/tree/3dtrees_metadata_v1_0_0/tools/3dtrees_metadata type: unrestricted categories: - "Geo Science" diff --git a/tools/3dtrees_metadata/metadata.xml b/tools/3dtrees_metadata/3dtrees_metadata.xml similarity index 100% rename from tools/3dtrees_metadata/metadata.xml rename to tools/3dtrees_metadata/3dtrees_metadata.xml From 949196c776a89c13e21d61b689aa321a2ff4ff25 Mon Sep 17 00:00:00 2001 From: kgerb Date: Sat, 16 May 2026 09:51:04 +0200 Subject: [PATCH 33/36] tools: update metadata tool repository URL --- tools/3dtrees_metadata/.shed.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/3dtrees_metadata/.shed.yml b/tools/3dtrees_metadata/.shed.yml index d25107b342..b644d6ea25 100644 --- a/tools/3dtrees_metadata/.shed.yml +++ b/tools/3dtrees_metadata/.shed.yml @@ -1,7 +1,7 @@ name: 3dtrees_metadata owner: bgruening description: Extract administrative and ecoregion metadata for 3Dtrees collections. -homepage_url: https://github.com/3dTrees-earth/tool_metadata +homepage_url: https://github.com/3dTrees-earth/3dtrees_metadata long_description: | Extracts administrative and ecoregion context for a 3Dtrees collection summary by computing the collection centroid from collection_summary.json and From fe7c5cede3402aa394950534f01bb71069f8bdae Mon Sep 17 00:00:00 2001 From: kgerb Date: Sat, 16 May 2026 10:04:44 +0200 Subject: [PATCH 34/36] tools: use 3dtrees metadata container --- tools/3dtrees_metadata/3dtrees_metadata.xml | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/tools/3dtrees_metadata/3dtrees_metadata.xml b/tools/3dtrees_metadata/3dtrees_metadata.xml index d419dd9aa8..3681aa060b 100644 --- a/tools/3dtrees_metadata/3dtrees_metadata.xml +++ b/tools/3dtrees_metadata/3dtrees_metadata.xml @@ -5,28 +5,20 @@ 0 - ghcr.io/3dtrees-earth/tool_metadata:@TOOL_VERSION@ + ghcr.io/3dtrees-earth/3dtrees_metadata:@TOOL_VERSION@ Date: Sat, 16 May 2026 10:24:36 +0200 Subject: [PATCH 35/36] Update metadata tool to use internal reference layers --- tools/3dtrees_metadata/3dtrees_metadata.xml | 39 ++++----------------- 1 file changed, 6 insertions(+), 33 deletions(-) diff --git a/tools/3dtrees_metadata/3dtrees_metadata.xml b/tools/3dtrees_metadata/3dtrees_metadata.xml index 3681aa060b..696bbb0e20 100644 --- a/tools/3dtrees_metadata/3dtrees_metadata.xml +++ b/tools/3dtrees_metadata/3dtrees_metadata.xml @@ -11,18 +11,7 @@ ln -s '$collection_summary' collection_summary.json && python -u /src/run.py --collection-summary collection_summary.json - #if str($metadata_layers).find('gadm') != -1: - --gadm-path '$gadm_path' - #if $gadm_layer: - --gadm-layer '$gadm_layer' - #end if - #end if - #if str($metadata_layers).find('ecoregion') != -1: - --wwf-ecoregions-path '$wwf_ecoregions_path' - #if $wwf_ecoregions_layer: - --wwf-ecoregions-layer '$wwf_ecoregions_layer' - #end if - #end if + --metadata-layers '$metadata_layers' --output-file additional_metadata.json 2>&1 ]]> @@ -32,14 +21,6 @@ - - - ^[A-Za-z0-9._-]*$ - - - - ^[A-Za-z0-9._-]*$ - @@ -48,8 +29,6 @@ - - @@ -64,7 +43,6 @@ - @@ -77,7 +55,6 @@ - @@ -91,9 +68,9 @@ **What it does** This tool reads a 3Dtrees `collection_summary.json`, computes the WGS84 centroid -from `collection.multipolygon_wkt`, and intersects that point with supplied -reference vector datasets. GADM provides administrative context; optional WWF -Terrestrial Ecoregions v2.0 data provides ecoregion, realm, and biome context. +from `collection.multipolygon_wkt`, and intersects that point with the selected +reference layers. GADM provides administrative context; WWF Terrestrial +Ecoregions v2.0 data provides ecoregion, realm, and biome context. ----- @@ -101,12 +78,8 @@ Terrestrial Ecoregions v2.0 data provides ecoregion, realm, and biome context. - **Collection summary**: `collection_summary.json` produced by the 3Dtrees standardization tool in collection mode. -- **GADM vector dataset**: A GADM boundary file supplied at runtime. GeoPackage - and GeoJSON inputs are the intended formats. -- **GADM layer**: Optional layer name. If omitted, the tool checks all available - layers and selects the deepest matching administrative level. -- **WWF Terrestrial Ecoregions v2.0 dataset**: Optional ecoregions vector file. -- **WWF ecoregions layer**: Optional layer name for the WWF dataset. +- **Metadata layers to extract**: one or more internal reference layers. The tool + reads the selected reference datasets from the Docker image. ----- From 8634afdbfc808fc877c8f2d95243d3f80e423760 Mon Sep 17 00:00:00 2001 From: kgerb Date: Sat, 16 May 2026 12:12:23 +0200 Subject: [PATCH 36/36] tools: align metadata layer argument --- tools/3dtrees_metadata/3dtrees_metadata.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/3dtrees_metadata/3dtrees_metadata.xml b/tools/3dtrees_metadata/3dtrees_metadata.xml index 696bbb0e20..4236516eff 100644 --- a/tools/3dtrees_metadata/3dtrees_metadata.xml +++ b/tools/3dtrees_metadata/3dtrees_metadata.xml @@ -17,7 +17,7 @@ ]]> - +