diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 38c7b0d361..f068a786da 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -7,7 +7,7 @@ on:
types: [run-all-tool-tests-command]
env:
GALAXY_FORK: galaxyproject
- GALAXY_BRANCH: release_25.1
+ GALAXY_BRANCH: release_26.0
MAX_CHUNKS: 40
jobs:
setup:
@@ -105,7 +105,7 @@ jobs:
repository-list: ${{ needs.setup.outputs.repository-list }}
tool-list: ${{ needs.setup.outputs.tool-list }}
additional-planemo-options: --biocontainers --skip version_bumped
- - uses: actions/upload-artifact@v6
+ - uses: actions/upload-artifact@v7
if: ${{ failure() }}
with:
name: 'Tool linting output'
@@ -145,7 +145,7 @@ jobs:
path: ~/.cache/pip
key: pip_cache_py_${{ matrix.python-version }}_gxy_${{ needs.setup.outputs.galaxy-head-sha }}
- name: Get number of CPU cores
- uses: SimenB/github-actions-cpu-cores@v2
+ uses: SimenB/github-actions-cpu-cores@v3
id: cpu-cores
- name: Clean dotnet folder for space
run: rm -Rf /usr/share/dotnet
@@ -162,7 +162,7 @@ jobs:
galaxy-slots: ${{ steps.cpu-cores.outputs.count }}
# Limit each test to 15 minutes
test_timeout: 900
- - uses: actions/upload-artifact@v6
+ - uses: actions/upload-artifact@v7
with:
name: 'Tool test output ${{ matrix.chunk }}'
path: upload
@@ -181,7 +181,7 @@ jobs:
# This job runs on Linux
runs-on: ubuntu-latest
steps:
- - uses: actions/download-artifact@v7
+ - uses: actions/download-artifact@v8
with:
path: artifacts
- uses: actions/setup-python@v6
@@ -200,7 +200,7 @@ jobs:
mode: combine
html-report: true
markdown-report: true
- - uses: actions/upload-artifact@v6
+ - uses: actions/upload-artifact@v7
with:
name: 'All tool test results'
path: upload
diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml
index c323c233ff..1ac7fb0397 100644
--- a/.github/workflows/pr.yaml
+++ b/.github/workflows/pr.yaml
@@ -17,7 +17,7 @@ on:
- '*'
env:
GALAXY_FORK: galaxyproject
- GALAXY_BRANCH: release_25.1
+ GALAXY_BRANCH: release_26.0
MAX_CHUNKS: 4
MAX_FILE_SIZE: 1M
concurrency:
@@ -167,7 +167,7 @@ jobs:
repository-list: ${{ needs.setup.outputs.repository-list }}
tool-list: ${{ needs.setup.outputs.tool-list }}
additional-planemo-options: ${{ env.EXTRA_SKIP }}
- - uses: actions/upload-artifact@v6
+ - uses: actions/upload-artifact@v7
if: ${{ failure() }}
with:
name: 'Tool linting output'
@@ -200,7 +200,7 @@ jobs:
run: pip install flake8 flake8-import-order
- name: Flake8
run: echo '${{ needs.setup.outputs.repository-list }}' | xargs -d '\n' flake8 --output-file pylint_report.txt --tee
- - uses: actions/upload-artifact@v6
+ - uses: actions/upload-artifact@v7
if: ${{ failure() }}
with:
name: 'Python linting output'
@@ -239,7 +239,7 @@ jobs:
echo '${{ needs.setup.outputs.repository-list }}' | xargs -d '\n' -n 1 ./.github/styler.R --dry off
git status
git diff --exit-code | tee rlint_report.txt
- - uses: actions/upload-artifact@v6
+ - uses: actions/upload-artifact@v7
if: ${{ failure() }}
with:
name: 'R linting output'
@@ -267,7 +267,7 @@ jobs:
cat file_size_report.txt
exit 1
fi
- - uses: actions/upload-artifact@v6
+ - uses: actions/upload-artifact@v7
if: ${{ failure() }}
with:
name: 'File size report'
@@ -314,7 +314,7 @@ jobs:
path: ~/.planemo
key: planemo_cache_py_${{ matrix.python-version }}_gxy_${{ needs.setup.outputs.galaxy-head-sha }}
- name: Get number of CPU cores
- uses: SimenB/github-actions-cpu-cores@v2
+ uses: SimenB/github-actions-cpu-cores@v3
id: cpu-cores
- name: Clean dotnet folder for space
run: rm -Rf /usr/share/dotnet
@@ -330,8 +330,8 @@ jobs:
chunk-count: ${{ needs.setup.outputs.chunk-count }}
galaxy-slots: ${{ steps.cpu-cores.outputs.count }}
# Limit each test to 15 minutes
- test_timeout: 1800
- - uses: actions/upload-artifact@v6
+ test_timeout: 900
+ - uses: actions/upload-artifact@v7
with:
name: 'Tool test output ${{ matrix.chunk }}'
path: upload
@@ -350,7 +350,7 @@ jobs:
matrix:
python-version: ['3.11']
steps:
- - uses: actions/download-artifact@v7
+ - uses: actions/download-artifact@v8
with:
path: artifacts
- uses: actions/setup-python@v6
@@ -369,7 +369,7 @@ jobs:
mode: combine
html-report: true
markdown-report: true
- - uses: actions/upload-artifact@v6
+ - uses: actions/upload-artifact@v7
with:
name: 'All tool test results'
path: upload
@@ -393,7 +393,6 @@ jobs:
needs: [setup, lint, combine_outputs]
if: ${{ (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' ) && github.repository_owner == 'bgruening' }}
runs-on: ubuntu-latest
- environment: toolshed-deployment
strategy:
matrix:
python-version: ['3.11']
@@ -429,9 +428,8 @@ jobs:
deploy-report:
name: Report deploy status
needs: [deploy]
- if: ${{ always() && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' ) }}
+ if: ${{ always() && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' ) && github.repository_owner == 'bgruening' }}
runs-on: ubuntu-latest
- environment: toolshed-deployment
steps:
# report to the PR if deployment failed
- name: Get PR object
diff --git a/.github/workflows/pr_without_tool_change.yaml b/.github/workflows/pr_without_tool_change.yaml
index edff41005f..b2e2a5b2bb 100644
--- a/.github/workflows/pr_without_tool_change.yaml
+++ b/.github/workflows/pr_without_tool_change.yaml
@@ -4,9 +4,13 @@ name: Fallback
# see https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks
on:
pull_request:
+ paths:
+ - 'deprecated/**'
+ - 'docs/**'
+ - '.github/**'
+ - '*'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
- cancel-in-progress: true
jobs:
determine-success:
name: Check workflow success
diff --git a/tools/3dtrees_forestmamba/.shed.yml b/tools/3dtrees_forestmamba/.shed.yml
new file mode 100644
index 0000000000..285c3baab7
--- /dev/null
+++ b/tools/3dtrees_forestmamba/.shed.yml
@@ -0,0 +1,11 @@
+name: 3dtrees_forestmamba
+owner: bgruening
+description: Forest instance segmentation with ForestMamba.
+homepage_url: https://github.com/3dTrees-earth/3Dtrees_ForestMamba
+long_description: |
+ Performs forest instance and semantic segmentation on LAZ/LAS point clouds using the
+ ForestMamba model.
+remote_repository_url: https://github.com/bgruening/galaxytools/tree/master/tools/3dtrees_forestmamba
+type: unrestricted
+categories:
+- "Geo Science"
diff --git a/tools/3dtrees_forestmamba/forestmamba.xml b/tools/3dtrees_forestmamba/forestmamba.xml
new file mode 100644
index 0000000000..7acf570a9c
--- /dev/null
+++ b/tools/3dtrees_forestmamba/forestmamba.xml
@@ -0,0 +1,101 @@
+
+
+ Forest instance and semantic segmentation of point clouds using the ForestMamba model.
+
+
+ 1.0.0
+ 0
+
+
+ ghcr.io/3dtrees-earth/3dtrees_forestmamba:@TOOL_VERSION@
+
+
+
+ \$_GALAXY_JOB_TMP_DIR
+ disabled
+
+
+
+
+
+
+
+
+
+ ^[A-Za-z0-9_]+$
+
+
+ ^[A-Za-z0-9_]+$
+
+
+ ^[A-Za-z0-9_]+$
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## What it does
+
+This tool runs ForestMamba on one LAS/LAZ point cloud and writes a segmented
+LAZ output with ForestMamba prediction dimensions.
+
+## Parameters
+
+- **Input LAZ/LAS point cloud**: the point cloud to segment.
+- **Bluepoint iterations**: `0` runs the normal one-pass prediction. `2` enables
+ the dense-forest bluepoint flow: first pass, then an optional second pass on
+ points that remained unassigned.
+- **Bluepoint score threshold**: optional model confidence threshold override
+ for bluepoint runs. Leave empty to use the model/config default.
+- **Second pass threshold**: fraction of first-pass non-ground points with raw
+ `instance_pred == -1` required before the second bluepoint pass runs. The
+ default `0.01` means more than 1%.
+
+## Outputs
+
+- Segmented LAZ with `PredSemantic_FM`, `PredInstance_FM`, and `PredScore_FM`
+ by default.
+- JSON summary of the wrapper run.
+
+Valid ForestMamba instance IDs are preserved. Raw negative instance IDs are
+written as `0` in the final LAZ.
+
+
+
+
+
+ 10.48550/arXiv.2606.01549
+
+
diff --git a/tools/3dtrees_forestmamba/test-data/mikro b/tools/3dtrees_forestmamba/test-data/mikro
new file mode 100644
index 0000000000..37743aacaf
Binary files /dev/null and b/tools/3dtrees_forestmamba/test-data/mikro differ
diff --git a/tools/3dtrees_potree/3dtrees_potree.xml b/tools/3dtrees_potree/3dtrees_potree.xml
index b86d835d83..baf1c4ab7a 100644
--- a/tools/3dtrees_potree/3dtrees_potree.xml
+++ b/tools/3dtrees_potree/3dtrees_potree.xml
@@ -1,7 +1,7 @@
Convert LAS/LAZ point clouds to Potree octree format for web visualization
- 1.1.0
+ 1.2.0
0
@@ -33,7 +33,7 @@
--special-coloring-palette '$special_coloring.palette'
--special-coloring-n-colors '$special_coloring.n_colors'
--special-coloring-n-neighbors '$special_coloring.n_neighbors'
- --special-coloring-instance-attribute '$special_coloring.instance_attribute'
+ --special-coloring-instance-attributes '$special_coloring.instance_attributes'
--special-coloring-ground-id '$special_coloring.ground_id'
--special-coloring-ground-color '$special_coloring.ground_color'
$special_coloring.sidecar_json
@@ -78,7 +78,7 @@
-
+
@@ -88,8 +88,8 @@
-
- ^[A-Za-z0-9_]+$
+
+ ^[A-Za-z0-9_,]+$
@@ -112,7 +112,7 @@
-
+
@@ -153,21 +153,40 @@
-
+
-
+
+
+
+
+
+
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -196,7 +215,7 @@ This tool converts LAS/LAZ point cloud files to the Potree octree format for eff
3. **Flexible sampling methods**: Choose between Poisson, Poisson Average, or Random sampling
4. **Web-ready output**: Generates files that can be directly served for Potree viewer visualization
5. **Optional web page generation**: Can generate a ready-to-use HTML viewer page
-6. **Special instance coloring**: Optionally adds a display-only ``coloring_id`` attribute from ``PredInstance`` while preserving original RGB
+6. **Special instance coloring**: Optionally adds display-only coloring attributes from one or more instance attributes while preserving original RGB
-----
@@ -211,14 +230,14 @@ This tool converts LAS/LAZ point cloud files to the Potree octree format for eff
- **Keep Chunks**: Preserve temporary chunk files after conversion
- **No Chunking**: Disable the chunking phase
- **No Indexing**: Disable the indexing phase
-- **Special Coloring**: Add a ``coloring_id`` point attribute for neighbor-aware instance colors.
+- **Special Coloring**: Add point attributes for neighbor-aware instance colors.
- **Special Coloring Palette**: Built-in palette name (sky, sea, cozy, fairy, winter, rainbow, pastel, candy, boring) or custom comma-separated ``#RRGGBB`` colors
- **Special Coloring Color Count**: Number of non-ground coloring IDs
- **Special Coloring Neighbors**: Number of nearest instance centroids considered when avoiding nearby color reuse
-- **Special Coloring Instance Attribute**: Point attribute containing instance IDs, default ``PredInstance``
+- **Special Coloring Instance Attributes**: Comma-separated point attributes containing instance IDs, default ``PredInstance_SAT,PredInstance_FoMa``
- **Special Coloring Ground Instance ID**: Instance ID treated as ground/background, default ``0``. Negative instance IDs are also treated as background.
- **Special Coloring Ground Color**: Ground/background color as ``#RRGGBB``
-- **Write Special Coloring JSON**: Write ``special_coloring_mapping.json`` and patch generated Potree HTML viewers to use the sidecar colors.
+- **Write Special Coloring JSON**: Write ``special_coloring_mapping*.json`` files and patch generated Potree HTML viewers to use the first sidecar color mapping.
- **Generate Page**: Create a web viewer page with the specified name
- **Viewer Title**: Optional title shown in the generated viewer page
@@ -232,7 +251,7 @@ The tool produces a collection containing:
- **hierarchy** (binary): Binary file containing the octree hierarchy
- **octree** (binary): Binary file containing the point data
- **log** (text): Conversion log file
-- **special_coloring_mapping** (JSON, optional): Mapping from ``coloring_id`` to colors and from ``PredInstance`` to ``coloring_id`` when Write Special Coloring JSON is enabled
+- **special_coloring_mapping*** (JSON, optional): Mapping from coloring IDs to colors and from each instance attribute to coloring IDs when Write Special Coloring JSON is enabled
When **Generate Page** is specified (e.g., "viewer"):
diff --git a/tools/3dtrees_potree/test-data/mikro_multi_segmented.laz b/tools/3dtrees_potree/test-data/mikro_multi_segmented.laz
new file mode 100644
index 0000000000..712043643b
Binary files /dev/null and b/tools/3dtrees_potree/test-data/mikro_multi_segmented.laz differ
diff --git a/tools/instagraal/instagraal.xml b/tools/instagraal/instagraal.xml
index 7d37b3dcce..bf474fcaf9 100644
--- a/tools/instagraal/instagraal.xml
+++ b/tools/instagraal/instagraal.xml
@@ -1,15 +1,16 @@
-
+
Large genome reassembly based on Hi-C data
-
- instagraal
-
- 0.1.6
+ 0.2.0
0
+ 25.0
+
+ instagraal
+
- quay.io/galaxy/instagraal:0.1.6
+ quay.io/galaxy/instagraal:v@TOOL_VERSION@
10.0
3.0
1
@@ -42,90 +43,105 @@ ln -s '$info_contigs' hic_folder/info_contigs.txt &&
instagraal
./hic_folder
$ref_genome
- ./outputs/
-
+ -o ./outputs/
--level $level
--cycles $cycles
--coverage-std $coverage_std
--neighborhood $neighborhood
-
-$circular
-$bomb
-$pyramid_only
-$simple
+ $circular
+ $bomb
+ $pyramid_only
+ $simple
+ $save_matrix
&&
mv ./outputs/*/test_*/genome.fasta ./outputs/genome.fasta &&
-mv ./outputs/*/test_*/info_frags.txt ./outputs/info_frags.txt
+mv ./outputs/*/test_*/info_frags.txt ./outputs/info_frags.txt &&
+
+mkdir -p matrix_previews &&
+( mv ./outputs/*/test_*/matrix_cycle_*.png matrix_previews/ 2>/dev/null || true )
&&
instagraal-polish
-m polishing
-i ./outputs/info_frags.txt
-f $ref_genome
- -o ./outputs/curated.fasta
+ -o ./polish_out
-j $gap_string
-
]]>
-
-
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+ save_matrix is True
+
-
-
-
-
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -155,6 +171,8 @@ After the scaffolder is done running, whatever path you specified as output will
* genome.fasta: the scaffolded genome. Scaffolds will be ordered by increasing size in fragments, which roughly (but not always) translates into increasing size in bp.
* info_frags.txt: a file that contains, for each newly formed scaffold, the original coordinates of every single bin in that scaffold, in the format chromosome, id, orientation, start, end. Each bin has a unique ID that provides a convenient way of tracking consecutive stretches. Orientations are relative to one another, and when "-1" is supplied, it is understood that the reverse complement should be taken.
+If *Save a contact-map preview (PNG) after each cycle* is enabled, a collection of per-cycle contact-map preview images (matrix_cycle_N.png) is also produced.
+
]]>
diff --git a/tools/kat/.shed.yml b/tools/kat/.shed.yml
index 05a46ede9d..6a23a97d46 100644
--- a/tools/kat/.shed.yml
+++ b/tools/kat/.shed.yml
@@ -6,7 +6,7 @@ long_description: |
using k-mer frequency analysis. It includes tools for generating k-mer histicity plots, comparing
k-mer spectra between datasets, filtering sequences by k-mer content, and analysing GC/coverage
distributions.
-homepage_url: https://github.com/TGAC/KAT
+homepage_url: https://github.com/EarlhamInst/KAT
remote_repository_url: https://github.com/bgruening/galaxytools/tree/master/tools/kat
type: unrestricted
categories:
diff --git a/tools/kat/kat_comp.xml b/tools/kat/kat_comp.xml
new file mode 100644
index 0000000000..bfd210b4fa
--- /dev/null
+++ b/tools/kat/kat_comp.xml
@@ -0,0 +1,506 @@
+
+ compares k-mer count hashes
+
+ macros.xml
+
+
+
+
+
+
+
+
+
+ echo @TOOL_VERSION@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ^[0-9]+(,[0-9]+)*$|^$
+
+
+
+
+
+
+
+
+
+
+
+ ^[0-9]+(,[0-9]+)*$|^$
+
+
+ ^[0-9]+(,[0-9]+)*$|^$
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ output_options['output_type'] == 'png' and not output_options['density_plot']
+
+
+
+ output_options['output_type'] == 'png' and output_options['density_plot']
+
+
+
+ output_options['output_type'] == 'pdf' and not output_options['density_plot']
+
+
+
+ output_options['output_type'] == 'pdf' and output_options['density_plot']
+
+
+
+
+
+
+
+ output_options['output_hists']
+
+
+ output_options['output_hists'] and output_options['output_type'] == 'png'
+
+
+ output_options['output_hists'] and output_options['output_type'] == 'pdf'
+
+
+
+
+ output_options['output_hists']
+
+
+ output_options['output_hists'] and output_options['output_type'] == 'png'
+
+
+ output_options['output_hists'] and output_options['output_type'] == 'pdf'
+
+
+
+
+ input3['use_input3'] == 'yes'
+
+
+
+ input3['use_input3'] == 'yes'
+
+
+
+ input3['use_input3'] == 'yes'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tools/kat/kat_gcp.xml b/tools/kat/kat_gcp.xml
new file mode 100644
index 0000000000..93756c439a
--- /dev/null
+++ b/tools/kat/kat_gcp.xml
@@ -0,0 +1,261 @@
+
+ GC vs Coverage analysis of k-mers
+
+ macros.xml
+
+
+
+
+
+
+
+
+
+ echo @TOOL_VERSION@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ output_options['output_type'] == 'png'
+
+
+ output_options['output_type'] == 'pdf'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tools/kat/kat_hist.xml b/tools/kat/kat_hist.xml
new file mode 100644
index 0000000000..52254c71e0
--- /dev/null
+++ b/tools/kat/kat_hist.xml
@@ -0,0 +1,171 @@
+
+ creates a histogram of k-mer occurrences
+
+ macros.xml
+
+
+
+
+
+
+
+
+
+ echo @TOOL_VERSION@
+
+
+
+
+
+
+
+ ^[0-9]+(,[0-9]+)*$|^$
+
+
+
+
+
+
+
+ advanced_options['output_type'] == 'png'
+
+
+ advanced_options['output_type'] == 'pdf'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ = the last bucket's lower bound.
+
+This tool is similar to the `histo` command in Jellyfish, but the output includes metadata that makes the histogram easier to plot and interpret.
+
+-----
+
+**Input**
+
+- One or more **FASTA** or **FASTQ** files (gzipped accepted)
+- Or a single pre-computed **Jellyfish hash** file
+
+-----
+
+**Outputs**
+
+1. **Histogram** (tabular) - tab-separated count/frequency table with metadata header lines prefixed with `#`.
+2. **Plot** (PNG/PDF) - visual plot of the k-mer frequency histogram.
+
+-----
+
+**Tips**
+
+- The default k-mer length of **27** works well for most short-read sequencing data.
+- For diploid or polyploid genomes, distinct peaks correspond to heterozygous and homozygous k-mers.
+- If the hash size is too small, KAT will automatically double it (increasing runtime and memory). Increase it if you expect many unique k-mers.
+- For multiple input files, provide different 5' trim values as comma-separated numbers (e.g. `5,10`).
+ ]]>
+
+
+
\ No newline at end of file