diff --git a/tools/augustus/.shed.yml b/deprecated/tools/augustus/.shed.yml
similarity index 100%
rename from tools/augustus/.shed.yml
rename to deprecated/tools/augustus/.shed.yml
diff --git a/tools/augustus/augustus.xml b/deprecated/tools/augustus/augustus.xml
similarity index 100%
rename from tools/augustus/augustus.xml
rename to deprecated/tools/augustus/augustus.xml
diff --git a/tools/augustus/extract_features.py b/deprecated/tools/augustus/extract_features.py
similarity index 100%
rename from tools/augustus/extract_features.py
rename to deprecated/tools/augustus/extract_features.py
diff --git a/tools/augustus/readme.rst b/deprecated/tools/augustus/readme.rst
similarity index 100%
rename from tools/augustus/readme.rst
rename to deprecated/tools/augustus/readme.rst
diff --git a/tools/augustus/test-data/arabidopsis_augustus.fa b/deprecated/tools/augustus/test-data/arabidopsis_augustus.fa
similarity index 100%
rename from tools/augustus/test-data/arabidopsis_augustus.fa
rename to deprecated/tools/augustus/test-data/arabidopsis_augustus.fa
diff --git a/tools/augustus/test-data/human_augustus.fa b/deprecated/tools/augustus/test-data/human_augustus.fa
similarity index 100%
rename from tools/augustus/test-data/human_augustus.fa
rename to deprecated/tools/augustus/test-data/human_augustus.fa
diff --git a/tools/augustus/test-data/human_augustus_protein_codingseq_introns_cds_codingseq.fasta b/deprecated/tools/augustus/test-data/human_augustus_protein_codingseq_introns_cds_codingseq.fasta
similarity index 100%
rename from tools/augustus/test-data/human_augustus_protein_codingseq_introns_cds_codingseq.fasta
rename to deprecated/tools/augustus/test-data/human_augustus_protein_codingseq_introns_cds_codingseq.fasta
diff --git a/tools/augustus/test-data/human_augustus_protein_codingseq_introns_cds_main.gtf b/deprecated/tools/augustus/test-data/human_augustus_protein_codingseq_introns_cds_main.gtf
similarity index 100%
rename from tools/augustus/test-data/human_augustus_protein_codingseq_introns_cds_main.gtf
rename to deprecated/tools/augustus/test-data/human_augustus_protein_codingseq_introns_cds_main.gtf
diff --git a/tools/augustus/test-data/human_augustus_protein_codingseq_introns_cds_protein.fasta b/deprecated/tools/augustus/test-data/human_augustus_protein_codingseq_introns_cds_protein.fasta
similarity index 100%
rename from tools/augustus/test-data/human_augustus_protein_codingseq_introns_cds_protein.fasta
rename to deprecated/tools/augustus/test-data/human_augustus_protein_codingseq_introns_cds_protein.fasta
diff --git a/tools/augustus/test-data/human_augustus_utr-on.gff b/deprecated/tools/augustus/test-data/human_augustus_utr-on.gff
similarity index 100%
rename from tools/augustus/test-data/human_augustus_utr-on.gff
rename to deprecated/tools/augustus/test-data/human_augustus_utr-on.gff
diff --git a/tools/augustus/test-data/human_augustus_utr-on.gtf b/deprecated/tools/augustus/test-data/human_augustus_utr-on.gtf
similarity index 100%
rename from tools/augustus/test-data/human_augustus_utr-on.gtf
rename to deprecated/tools/augustus/test-data/human_augustus_utr-on.gtf
diff --git a/tools/augustus/tool_dependencies.xml b/deprecated/tools/augustus/tool_dependencies.xml
similarity index 100%
rename from tools/augustus/tool_dependencies.xml
rename to deprecated/tools/augustus/tool_dependencies.xml
diff --git a/tools/blobtoolkit/blobtoolkit.xml b/tools/blobtoolkit/blobtoolkit.xml
index cf53a10272..c652155ea8 100644
--- a/tools/blobtoolkit/blobtoolkit.xml
+++ b/tools/blobtoolkit/blobtoolkit.xml
@@ -477,7 +477,7 @@
**NCBI taxdump directory**
-The taxdump database, provided by NCBI, includes the taxonomic lineage of taxa, information on type strains and material, and host information. The file **new_taxdump.tar.gz** can be downloaded from the taxonomy directory on the `FTP site `_.
+The taxdump database, provided by NCBI, includes the taxonomic lineage of taxa, information on type strains and material, and host information. The file **new_taxdump.tar.gz** can be downloaded from the taxonomy directory on the `FTP site `_.
]]>
diff --git a/tools/cellprofiler_v4/macros.xml b/tools/cellprofiler_v4/macros.xml
index fcb85e51a8..2a83527c77 100644
--- a/tools/cellprofiler_v4/macros.xml
+++ b/tools/cellprofiler_v4/macros.xml
@@ -1,5 +1,5 @@
- 4.2.7
+ 4.2.83.8jpg,png,tiff,bmp,gif,pcx,ppm,psd,pbm,pgm,eps" "
diff --git a/tools/diff/diff.xml b/tools/diff/diff.xml
index b3070c6903..3ae9bb00b9 100644
--- a/tools/diff/diff.xml
+++ b/tools/diff/diff.xml
@@ -1,7 +1,7 @@
-
+analyzes two files and generates an unidiff text file with information about the differences and an optional Html report
- 3.7
+ 3.100
@@ -13,10 +13,18 @@
'$diff_file';
- #if $generate_report:
+ diff
+ #if $report_format.report_format_select == 'txt_lines' or $report_format.report_format_select == 'html'
+ ## the -u option is needed to convert the output later to HTML
+ --unified=$report_format.unified
+ #else if $report_format.report_format_select == 'txt_columns'
+ -y
+ #end if
+ ## If the compared input files differ the diff command returns exit-code 1
+ '$input1' '$input2' > '$diff_file' || [ \$? -eq 1 ];
+ #if $report_format.report_format_select == 'html'
sed -e 's/@@title@@/Diff report for "$input1.element_identifier" and "$input2.element_identifier"/g'
- -e 's/@@outputformat@@/'$output_format'/g'
+ -e 's/@@outputformat@@/'$report_format.output_format'/g'
-e '/@@diffoutput@@/{r'$diff_file'' -e ';d}'
'$__tool_directory__/template.html' > '$html_file'
#end if
@@ -25,33 +33,50 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- generate_report is True
+ report_format['report_format_select'] == 'html'
-
+
+
+
-
+
-
+
+
+
+
\ No newline at end of file
diff --git a/tools/diff/test-data/file 3.txt b/tools/diff/test-data/file3.txt
similarity index 100%
rename from tools/diff/test-data/file 3.txt
rename to tools/diff/test-data/file3.txt
diff --git a/tools/diff/test-data/output_test4.txt b/tools/diff/test-data/output_test4.txt
new file mode 100644
index 0000000000..db4ccf3cd8
--- /dev/null
+++ b/tools/diff/test-data/output_test4.txt
@@ -0,0 +1,2 @@
+a a
+ > b
diff --git a/tools/flux/flux.py b/tools/flux/flux.py
index 4de9f03bd2..0b3e70bb18 100644
--- a/tools/flux/flux.py
+++ b/tools/flux/flux.py
@@ -12,6 +12,7 @@
prompt = f.read().strip()
elif prompt_type == "text":
prompt = sys.argv[3]
+print(f"Creating image from prompt: {prompt}")
if "dev" in model_path:
num_inference_steps = 20
diff --git a/tools/flux/flux.xml b/tools/flux/flux.xml
index da0a6c909a..2361506de3 100644
--- a/tools/flux/flux.xml
+++ b/tools/flux/flux.xml
@@ -2,22 +2,13 @@
text-to-image model2024
- 2
+ 4
- python
- pytorch
- torchvision
- pytorch-cuda
- diffusers
- transformers
- accelerate
- sentencepiece
- protobuf
- huggingface_hub
+ quay.io/galaxy/black_forest_labs_flux:2024-0
-
+
@@ -48,7 +39,7 @@ python '$__tool_directory__/flux.py'
-
+
diff --git a/tools/flye/flye.xml b/tools/flye/flye.xml
index 98ac9a2406..630745e209 100644
--- a/tools/flye/flye.xml
+++ b/tools/flye/flye.xml
@@ -105,7 +105,7 @@
-
+
generate_log
@@ -115,12 +115,14 @@
-
+
+
+
-
+
@@ -131,7 +133,9 @@
-
+
+
+
@@ -143,7 +147,7 @@
-
+
@@ -162,7 +166,7 @@
-
+
@@ -175,7 +179,7 @@
-
+
@@ -203,7 +207,7 @@
-
+
@@ -231,7 +235,7 @@
-
+
@@ -260,7 +264,7 @@
-
+
@@ -276,10 +280,9 @@
-
-
+
@@ -290,7 +293,7 @@
-
+
@@ -304,7 +307,9 @@
-
+
+
+
@@ -317,7 +322,7 @@
-
+
@@ -331,7 +336,9 @@
-
+
+
+
@@ -344,7 +351,7 @@
-
+
diff --git a/tools/flye/macros.xml b/tools/flye/macros.xml
index 8fc263d9b8..2408757ede 100644
--- a/tools/flye/macros.xml
+++ b/tools/flye/macros.xml
@@ -1,6 +1,6 @@
2.9.5
- 0
+ 1flye
diff --git a/tools/gfastats/gfastats.xml b/tools/gfastats/gfastats.xml
index 3b2e7a01b6..a9bdc2fad8 100644
--- a/tools/gfastats/gfastats.xml
+++ b/tools/gfastats/gfastats.xml
@@ -111,7 +111,7 @@
mode_condition['selector'] == 'statistics'
-
+
diff --git a/tools/gfastats/macros.xml b/tools/gfastats/macros.xml
index 7b743a0fcd..b98f082e39 100644
--- a/tools/gfastats/macros.xml
+++ b/tools/gfastats/macros.xml
@@ -1,6 +1,6 @@
1.3.9
- 0
+ 1gfastats
diff --git a/tools/jbrowse2/jbrowse2.py b/tools/jbrowse2/jbrowse2.py
index c5692a0ecc..bdaa9804b9 100644
--- a/tools/jbrowse2/jbrowse2.py
+++ b/tools/jbrowse2/jbrowse2.py
@@ -615,8 +615,10 @@ def write_config(self):
def text_index(self):
# Index tracks
- args = ["jbrowse", "text-index"]
- self.subprocess_check_call(args)
+ e = os.environ
+ e["SHELL"] = "/bin/sh"
+ cmd = ["jbrowse", "text-index"]
+ subprocess.run(cmd, env=e, shell=True)
def add_hic(self, data, trackData):
"""
@@ -1108,12 +1110,14 @@ def add_paf(self, data, trackData, pafOpts, **kwargs):
url = "%s.pif.gz" % tId
cmd = ["cp", data, fakeName]
self.subprocess_check_call(cmd)
+ e = os.environ
+ e["SHELL"] = "/bin/sh"
cmd = [
"jbrowse",
"make-pif",
fakeName,
]
- self.subprocess_check_call(cmd)
+ subprocess.run(cmd, env=e, shell=True)
usePIF = True
else:
dest = os.path.join(self.outdir, url)
@@ -1534,9 +1538,10 @@ def clone_jbrowse(self, realclone=False):
"""
dest = self.outdir
if (not os.path.exists(self.jbrowse2path)) or realclone:
- self.subprocess_check_call(
- ["jbrowse", "create", dest, "-f", "--tag", f"{JB2VER}"]
- )
+ e = os.environ
+ e["SHELL"] = "/bin/sh"
+ cmd = ["jbrowse", "create", dest, "-f", "--tag", f"{JB2VER}"]
+ subprocess.run(cmd, env=e, shell=True)
else:
shutil.copytree(self.jbrowse2path, dest, dirs_exist_ok=True)
for fn in [
diff --git a/tools/jbrowse2/jbrowse2.xml b/tools/jbrowse2/jbrowse2.xml
index fb4dd2a5d4..300e4a1a0a 100644
--- a/tools/jbrowse2/jbrowse2.xml
+++ b/tools/jbrowse2/jbrowse2.xml
@@ -539,6 +539,7 @@ export JBROWSE2_PATH=\$(realpath \$(dirname \$(which jbrowse))/../opt/jbrowse2)
+
@@ -552,6 +553,7 @@ export JBROWSE2_PATH=\$(realpath \$(dirname \$(which jbrowse))/../opt/jbrowse2)
+
@@ -614,7 +616,7 @@ export JBROWSE2_PATH=\$(realpath \$(dirname \$(which jbrowse))/../opt/jbrowse2)
-
+
@@ -676,7 +678,7 @@ export JBROWSE2_PATH=\$(realpath \$(dirname \$(which jbrowse))/../opt/jbrowse2)
-
+
diff --git a/tools/jbrowse2/macros.xml b/tools/jbrowse2/macros.xml
index 1461e90cd5..f5c94d7c50 100644
--- a/tools/jbrowse2/macros.xml
+++ b/tools/jbrowse2/macros.xml
@@ -1,5 +1,5 @@
- 2.15.4
+ 2.17.0topic_3307
@@ -25,7 +25,7 @@
\$GALAXY_JBROWSE_SHARED_DIR
- 7
+ 0
diff --git a/tools/music_deconvolution/.shed.yml b/tools/music_deconvolution/.shed.yml
index a05fe72222..1f28f3bb75 100644
--- a/tools/music_deconvolution/.shed.yml
+++ b/tools/music_deconvolution/.shed.yml
@@ -4,7 +4,7 @@ description: "Multi-subject Single Cell deconvolution (MuSiC)"
homepage_url: https://github.com/xuranw/MuSiC
long_description: |
MuSiC is a deconvolution method that utilizes cross-subject scRNA-seq to estimate cell type proportions in bulk RNA-seq data.
-remote_repository_url: https://github.com/galaxyproject/tools-iuc/tree/master/tools/music/
+remote_repository_url: https://github.com/bgruening/galaxytools/tree/master/tools/music_deconvolution
type: unrestricted
categories:
- Transcriptomics
diff --git a/tools/rna_tools/infernal/cmalign.xml b/tools/rna_tools/infernal/cmalign.xml
index 1f72febe0d..a6ecee7dfb 100644
--- a/tools/rna_tools/infernal/cmalign.xml
+++ b/tools/rna_tools/infernal/cmalign.xml
@@ -3,9 +3,9 @@
macros.xml
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -105,8 +86,11 @@
-
+
+
+
+
-
+
+
+
+
@@ -189,6 +176,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
macros.xml
+
-
align with the CYK algorithm
-
-
-
+
+
+
+
@@ -325,7 +328,7 @@
-
+
@@ -338,7 +341,7 @@
-
+
@@ -422,8 +425,7 @@ These options control how consensus columns are defined in an alignment.
cmbuild uses an ad hoc sequence weighting algorithm to downweight closely related sequences and upweight distantly related ones. This has the effect of making models less biased by uneven phylogenetic representation. For example, two identical sequences would typically each receive half the weight that one sequence would. These options control which algorithm gets used.
- - *--wgb*: Use the Henikoff position-based sequence weighting scheme [Henikoff
-and Henikoff, J. Mol. Biol. 243:574, 1994]. This is the default.
+ - *--wgb*: Use the Henikoff position-based sequence weighting scheme [Henikoff and Henikoff, J. Mol. Biol. 243:574, 1994]. This is the default.
- *--wgsc*: Use the Gerstein/Sonnhammer/Chothia weighting algorithm [Gerstein et al, J. Mol. Biol. 235:1067, 1994].
- *--wnone*: Turn sequence weighting off; e.g. explicitly set all sequence weights to 1.0.
- *--wgiven*: Use sequence weights as given in annotation in the input alignment file. If no weights were given, assume they are all 1.0. The default is to determine new sequence weights by the Gerstein/Sonnhammer/Chothia algorithm, ignoring any annotated weights.
diff --git a/tools/rna_tools/infernal/cmpress.xml b/tools/rna_tools/infernal/cmpress.xml
index e2525e490a..566d880599 100644
--- a/tools/rna_tools/infernal/cmpress.xml
+++ b/tools/rna_tools/infernal/cmpress.xml
@@ -1,47 +1,27 @@
-
+ Prepare a covariance model database for cmscanmacros.xml
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -58,7 +38,16 @@
+
+
+
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/tools/rna_tools/infernal/cmscan.xml b/tools/rna_tools/infernal/cmscan.xml
index d90f757cac..b0322c054f 100644
--- a/tools/rna_tools/infernal/cmscan.xml
+++ b/tools/rna_tools/infernal/cmscan.xml
@@ -3,19 +3,21 @@
macros.xml
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tools/rna_tools/infernal/cmsearch.xml b/tools/rna_tools/infernal/cmsearch.xml
index dce8caaf52..fafed5fbf3 100644
--- a/tools/rna_tools/infernal/cmsearch.xml
+++ b/tools/rna_tools/infernal/cmsearch.xml
@@ -4,9 +4,9 @@
macros.xml
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -241,7 +225,7 @@
-
+
@@ -249,6 +233,14 @@
+
+
+
+
+
+
+
+
diff --git a/tools/rna_tools/infernal/cmstat.xml b/tools/rna_tools/infernal/cmstat.xml
index 115f45a8fc..f946745618 100644
--- a/tools/rna_tools/infernal/cmstat.xml
+++ b/tools/rna_tools/infernal/cmstat.xml
@@ -3,9 +3,9 @@
macros.xml
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -61,6 +44,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
- infernal
- infernal
- coreutils
+ infernal
+ coreutils
- 1.1.4
+ 1.1.50infernal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tools/rna_tools/infernal/repository_dependencies.xml b/tools/rna_tools/infernal/repository_dependencies.xml
deleted file mode 100644
index 841d5ec8f0..0000000000
--- a/tools/rna_tools/infernal/repository_dependencies.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/tools/rna_tools/infernal/test-data/infernal.loc b/tools/rna_tools/infernal/test-data/infernal.loc
new file mode 100644
index 0000000000..ca529f3a7a
--- /dev/null
+++ b/tools/rna_tools/infernal/test-data/infernal.loc
@@ -0,0 +1,21 @@
+#This is a sample file distributed with Galaxy that is used to define a
+#list of infernal covariance models, using three columns tab separated
+#(longer whitespace are TAB characters):
+#
+#The entries are as follows:
+#
+#
+#
+#Your infernal.loc file should include an entry per line for each "base name"
+#you have stored. For example:
+#
+#rfam01 RFAM 4.2 08 Aug 2013 /data/0/galaxy_data/infernal/08_08_2013/rfam.cm
+#
+#...etc...
+#
+
+cmstat_input.cm Test case: cmstat_input ${__HERE__}/cmstat_input.cm
+cmsearch_input1.cm Test case: cmsearch_input1 ${__HERE__}/cmsearch_input1.cm
+minifam.cm Test case: minifam.cm ${__HERE__}/minifam.cm
+cmpress_input_minifam.cm Test case: cmpress_input_minifam.cm ${__HERE__}/cmpress_input_minifam.cm
+cmalign_input2_tRNA5.c.cm Test case: cmalign_input2_tRNA5.c.cm ${__HERE__}/cmalign_input2_tRNA5.c.cm
diff --git a/tools/rna_tools/infernal/test-data/test_cmscan.tabular b/tools/rna_tools/infernal/test-data/test_cmscan.tabular
index cfd749f2b0..c84463a9d4 100644
--- a/tools/rna_tools/infernal/test-data/test_cmscan.tabular
+++ b/tools/rna_tools/infernal/test-data/test_cmscan.tabular
@@ -5,11 +5,11 @@ tRNA5 - AAGA01015927.1 - cm 1 72 314 386 + no 1 0.59 0.0 53.5 6e-16 !
Cobalamin RF00174 AAFY01022046.1 - cm 32 191 934 832 - 5' 2 0.48 0.0 30.0 6.1e-09 ! Cobalamin riboswitch
#
# Program: cmscan
-# Version: 1.1.4 (Dec 2020)
+# Version: 1.1.5 (Sep 2023)
# Pipeline mode: SCAN
-# Query file: /tmp/tmp6jwp47cs/files/a/6/f/dataset_a6fe922b-72aa-4753-b4dd-cd3c716a4ae5.dat
+# Query file: /tmp/tmpst0r7qh9/files/7/3/7/dataset_7373cb0d-0d12-49b5-96e0-e1aabaa6db38.dat
# Target file: cmdb.cm
-# Option settings: cmscan -o /dev/null --tblout $temp_tabular_output --default --cpu 1 cmdb.cm /tmp/tmp6jwp47cs/files/a/6/f/dataset_a6fe922b-72aa-4753-b4dd-cd3c716a4ae5.dat
-# Current dir: /tmp/tmp6jwp47cs/job_working_directory/000/13/working
-# Date: Thu Sep 23 15:21:39 2021
+# Option settings: cmscan -o /dev/null --tblout $temp_tabular_output --default --cpu 1 cmdb.cm /tmp/tmpst0r7qh9/files/7/3/7/dataset_7373cb0d-0d12-49b5-96e0-e1aabaa6db38.dat
+# Current dir: /tmp/tmpst0r7qh9/job_working_directory/000/4/working
+# Date: Thu Oct 17 11:28:32 2024
# [ok]
diff --git a/tools/rna_tools/infernal/tool_data_table_conf.xml.sample b/tools/rna_tools/infernal/tool_data_table_conf.xml.sample
new file mode 100644
index 0000000000..6f694f25cf
--- /dev/null
+++ b/tools/rna_tools/infernal/tool_data_table_conf.xml.sample
@@ -0,0 +1,7 @@
+
+
+
+ value, name, path
+
+
+
\ No newline at end of file
diff --git a/tools/rna_tools/infernal/tool_data_table_conf.xml.test b/tools/rna_tools/infernal/tool_data_table_conf.xml.test
new file mode 100644
index 0000000000..5d68755faa
--- /dev/null
+++ b/tools/rna_tools/infernal/tool_data_table_conf.xml.test
@@ -0,0 +1,7 @@
+
+
+
+ value, name, path
+
+
+
\ No newline at end of file
diff --git a/tools/wordcloud/.shed.yml b/tools/wordcloud/.shed.yml
new file mode 100644
index 0000000000..2592b5c8d0
--- /dev/null
+++ b/tools/wordcloud/.shed.yml
@@ -0,0 +1,12 @@
+name: wordcloud
+owner: bgruening
+description: A little word cloud generator in Python.
+long_description: |
+ The wordcloud library allows you to create word clouds from text data.
+ It is highly customizable and can generate word clouds in various shapes and colors.
+ The wordcloud library is available as an open-source project on GitHub.
+remote_repository_url: https://github.com/bgruening/galaxytools/tree/master/tools/wordcloud
+homepage_url: https://github.com/amueller/word_cloud
+type:
+categories:
+ - Visualization
diff --git a/tools/wordcloud/test-data/font.ttf b/tools/wordcloud/test-data/font.ttf
new file mode 100644
index 0000000000..5dae166550
Binary files /dev/null and b/tools/wordcloud/test-data/font.ttf differ
diff --git a/tools/wordcloud/test-data/mask.png b/tools/wordcloud/test-data/mask.png
new file mode 100644
index 0000000000..3e152004fc
Binary files /dev/null and b/tools/wordcloud/test-data/mask.png differ
diff --git a/tools/wordcloud/test-data/output_1.png b/tools/wordcloud/test-data/output_1.png
new file mode 100644
index 0000000000..4043077fc2
Binary files /dev/null and b/tools/wordcloud/test-data/output_1.png differ
diff --git a/tools/wordcloud/test-data/output_2.png b/tools/wordcloud/test-data/output_2.png
new file mode 100644
index 0000000000..08759c1a70
Binary files /dev/null and b/tools/wordcloud/test-data/output_2.png differ
diff --git a/tools/wordcloud/test-data/stopwords.txt b/tools/wordcloud/test-data/stopwords.txt
new file mode 100644
index 0000000000..68bf081496
--- /dev/null
+++ b/tools/wordcloud/test-data/stopwords.txt
@@ -0,0 +1 @@
+an
diff --git a/tools/wordcloud/test-data/test.txt b/tools/wordcloud/test-data/test.txt
new file mode 100644
index 0000000000..d0d32f56f6
--- /dev/null
+++ b/tools/wordcloud/test-data/test.txt
@@ -0,0 +1 @@
+Galaxy is an open source, web-based platform for data intensive biomedical research.
diff --git a/tools/wordcloud/wordcloud.xml b/tools/wordcloud/wordcloud.xml
new file mode 100644
index 0000000000..bad159a9fc
--- /dev/null
+++ b/tools/wordcloud/wordcloud.xml
@@ -0,0 +1,212 @@
+
+ with highly customizable appearance
+
+ 1.9.4
+ 0
+ 23.0
+
+
+ wordcloud
+
+ wordcloud_cli --version
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [#][0-9A-Fa-f]{6}
+
+
+
+
+
+
+
+
+
+ [#][0-9A-Fa-f]{6}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [#][0-9A-Fa-f]{6}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @misc{amueller2018wordcloud,
+ title={Word Clouds with Python},
+ author={Amueller, Sebastian},
+ year={2018},
+ url={https://amueller.github.io/word_cloud/}
+ }
+
+
+