comparison data_manager/kraken2_build_database.xml @ 13:150ea60a4ebc draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_build_kraken2_database commit a108f20aebc04574a8bd0a90b955064439a50852
author iuc
date Wed, 05 Nov 2025 13:31:52 +0000
parents bf7f964a12b7
children
comparison
equal deleted inserted replaced
12:bf7f964a12b7 13:150ea60a4ebc
1 <tool id="kraken2_build_database" name="Kraken2" tool_type="manage_data" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@"> 1 <tool id="kraken2_build_database" name="Kraken2" tool_type="manage_data" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
2 <description>database builder</description> 2 <description>database builder</description>
3 <macros> 3 <macros>
4 <token name="@TOOL_VERSION@">2.1.3</token> 4 <token name="@TOOL_VERSION@">2.1.6</token>
5 <token name="@VERSION_SUFFIX@">6</token> 5 <token name="@VERSION_SUFFIX@">0</token>
6 <token name="@PROFILE@">22.01</token> 6 <token name="@PROFILE@">24.0</token>
7 <xml name="common_params"> 7 <xml name="common_params">
8 <param name="kmer_len" type="integer" value="35" label="K-mer length in BP" /> 8 <param name="kmer_len" type="integer" value="35" label="K-mer length in BP" />
9 <param name="minimizer_len" type="integer" value="31" label="Minimizer length" /> 9 <param name="minimizer_len" type="integer" value="31" label="Minimizer length" />
10 <param name="minimizer_spaces" type="integer" value="7" label="Minimizer spaces" /> 10 <param name="minimizer_spaces" type="integer" value="7" label="Minimizer spaces" />
11 <param name="load_factor" type="float" value="0.7" min="0" max="1" label="Load factor" help="Proportion of the hash table to be populated" /> 11 <param name="load_factor" type="float" value="0.7" min="0" max="1" label="Load factor" help="Proportion of the hash table to be populated" />
12 <param name="clean" type="boolean" truevalue="--clean" falsevalue="" checked="true" label="Clean up extra files" /> 12 <param name="clean" type="boolean" truevalue="--clean" falsevalue="" checked="false" label="Clean up extra files. Note: If the extra files are removed this DB cannot be used to build a bracken DB!" />
13 </xml> 13 </xml>
14 <xml name="viral"> 14 <xml name="viral">
15 <option value="viral">Viral (viral; ~0.5 GB)</option> 15 <option value="viral">Viral (viral; ~0.5 GB)</option>
16 </xml> 16 </xml>
17 <xml name="minusb"> 17 <xml name="minusb">
41 <xml name="pluspfp_08gb"> 41 <xml name="pluspfp_08gb">
42 <option value="pluspfp_08gb">PlusPFP-8 (PlusPFP with DB capped at 8 GB; ~7.5 GB)</option> 42 <option value="pluspfp_08gb">PlusPFP-8 (PlusPFP with DB capped at 8 GB; ~7.5 GB)</option>
43 </xml> 43 </xml>
44 <xml name="pluspfp_16gb"> 44 <xml name="pluspfp_16gb">
45 <option value="pluspfp_16gb">PlusPFP-16 (PlusPFP with DB capped at 16 GB; ~15 GB)</option> 45 <option value="pluspfp_16gb">PlusPFP-16 (PlusPFP with DB capped at 16 GB; ~15 GB)</option>
46 </xml>
47 <xml name="core_nt">
48 <option value="core_nt">core_nt (Very large collection, inclusive of GenBank, RefSeq, TPA and PDB; ~182 GB)</option>
49 </xml> 46 </xml>
50 </macros> 47 </macros>
51 <xrefs> 48 <xrefs>
52 <xref type="bio.tools">kraken2</xref> 49 <xref type="bio.tools">kraken2</xref>
53 </xrefs> 50 </xrefs>
54 <requirements> 51 <requirements>
55 <requirement type="package" version="@TOOL_VERSION@">kraken2</requirement> 52 <requirement type="package" version="@TOOL_VERSION@">kraken2</requirement>
56 <requirement type="package" version="3.13">python</requirement>
57 </requirements> 53 </requirements>
58 <version_command>kraken2 -version | head -n 1 | awk '{print $NF}'</version_command> 54 <version_command>kraken2 -version | head -n 1 | awk '{print $NF}'</version_command>
59 <command detect_errors="exit_code"><![CDATA[ 55 <command detect_errors="exit_code"><![CDATA[
60 python '$__tool_directory__/kraken2_build_database.py' 56 #import datetime
61 '$out_file' 57 #import re
62 --database-type '$database_type.database_type' 58
63 #if $database_type.database_type == "standard_local_build" 59 #set now = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H%M%SZ")
64 --threads \${GALAXY_SLOTS:-1} 60 #set commands = []
65 --kmer-len $database_type.kmer_len 61 mkdir '$out_file.extra_files_path' &&
66 --minimizer-len $database_type.minimizer_len 62
67 --minimizer-spaces $database_type.minimizer_spaces 63 #if $database_type.database_type == "standard_prebuilt" or $database_type.database_type == "special_prebuilt" or $database_type.database_type == "amplicon_prebuilt"
68 --load-factor $database_type.load_factor 64 #set prebuilt_name = {
69 $database_type.clean 65 'viral': "Viral",
70 #else if $database_type.database_type == "standard_prebuilt" 66 'minusb': "MinusB (archaea, viral, plasmid, human, UniVec_Core)",
71 --prebuilt-db '$database_type.prebuild.prebuilt_db' 67 'standard': "Standard-Full (archaea, bacteria, viral, plasmid, human,UniVec_Core)",
72 --prebuilt-date '$database_type.prebuild.prebuilt_date' 68 'standard_08gb': "Standard-8 (Standard with DB capped at 8 GB)",
69 'standard_16gb': "Standard-16 (Standard with DB capped at 16 GB)",
70 'pluspf': "PlusPF (Standard plus protozoa and fungi)",
71 'pluspf_08gb': "PlusPF-8 (PlusPF with DB capped at 8 GB)",
72 'pluspf_16gb': "PlusPF-16 (PlusPF with DB capped at 16 GB)",
73 'pluspfp': "PlusPFP (Standard plus protozoa, fungi and plant)",
74 'pluspfp_08gb': "PlusPFP-8 (PlusPFP with DB capped at 8 GB)",
75 'pluspfp_16gb': "PlusPFP-16 (PlusPFP with DB capped at 16 GB)",
76 }
77 #set special_name = {
78 "core_nt_20250609": "Very large collection, inclusive of GenBank, RefSeq, TPA and PDB (July, 2025)",
79 "core_nt_20241228": "Very large collection, inclusive of GenBank, RefSeq, TPA and PDB (December, 2024)",
80 "core_nt_20240904": "Very large collection, inclusive of GenBank, RefSeq, TPA and PDB (September, 2024)",
81 "gtdb_genome_reps_20250609": "GTDB v226 (Bacterial and archaeal)",
82 "gtdb_genome_reps_20241109": "GTDB v220 (Bacterial and archaeal)",
83 "eupathdb48_20230407": "EuPathDB-46 (April 18, 2023)",
84 "eupathdb48_20201113": "EuPathDB-46 (November 13, 2020)"
85 }
86 #set amplicon_name = {
87 "16S_Greengenes13.5_20200326": "Greengenes 13.5",
88 "16S_RDP11.5_20200326": "RDP 11.5",
89 "16S_Silva132_20200326": "Silva 132",
90 "16S_Silva138_20200326": "Silva 138"
91 }
92
93 #set date_url_str = str($database_type.prebuilt.prebuilt_date).replace('-', '')
94 #set display_name = prebuilt_name.get(str($database_type.prebuilt.prebuilt_db))
95 #if not display_name
96 #set display_name = special_name.get(str($database_type.prebuilt.prebuilt_db)+"_"+date_url_str)
97 #end if
98 #if not display_name
99 #set display_name = amplicon_name.get(str($database_type.prebuilt.prebuilt_db)+"_"+date_url_str)
100 #end if
101
102 #set database_value = "_".join([now, "standard_prebuilt", str($database_type.prebuilt.prebuilt_db), str($database_type.prebuilt.prebuilt_date)])
103 #set database_name = " ".join(["Prebuilt Refseq indexes: ", display_name, "(Version: ", str($database_type.prebuilt.prebuilt_date), "- Downloaded:", now + ")"])
104
105 ## the 16S dbs have a different link and file name
106 ## and are stored in a subfolder
107 #if $database_type.database_type == "amplicon_prebuilt"
108 #silent commands.append("wget https://genome-idx.s3.amazonaws.com/kraken/" + str($database_type.prebuilt.prebuilt_db) + "_" + date_url_str + ".tgz")
109 #silent commands.append("mkdir -p '" + $out_file.extra_files_path + "/" + database_value + "'/tmp_extract")
110 #silent commands.append("tar -xzf " + str($database_type.prebuilt.prebuilt_db) + "_" + date_url_str + ".tgz -C '" + $out_file.extra_files_path + "/" + database_value + "'/tmp_extract")
111 #silent commands.append("topdir=$(find '" + $out_file.extra_files_path + "/" + database_value + "/tmp_extract' -mindepth 1 -maxdepth 1 -type d | head -n 1)")
112 #silent commands.append("if [ -n \"$topdir\" ]")
113 #silent commands.append("then")
114 #silent commands.append(" mv \"$topdir\"/* '" + $out_file.extra_files_path + "/" + database_value + "/'")
115 #silent commands.append("fi")
116 #silent commands.append("rm -rf '" + $out_file.extra_files_path + "/" + database_value + "/tmp_extract'")
117 #else
118 #silent commands.append("wget https://genome-idx.s3.amazonaws.com/kraken/k2_" + str($database_type.prebuilt.prebuilt_db) + "_" + date_url_str + ".tar.gz")
119 #silent commands.append("mkdir -p '" + $out_file.extra_files_path + "/" + database_value + "'")
120 #silent commands.append("tar -xzf k2_" + str($database_type.prebuilt.prebuilt_db) + "_" + date_url_str + ".tar.gz -C '" + $out_file.extra_files_path + "/" + database_value + "'")
121 #end if
122
73 #else if $database_type.database_type == "minikraken" 123 #else if $database_type.database_type == "minikraken"
74 --minikraken2-version '$database_type.minikraken2_version' 124 #set database_value = "_".join([now, "minikraken2", str($database_type.minikraken2_version), "8GB"])
75 #else if $database_type.database_type == "special_prebuilt" 125 #set database_name = " ".join(["Minikraken2", str($database_type.minikraken2_version), "(Created:", now + ")"])
76 --prebuilt-db '$database_type.special_prebuild.prebuilt_db' 126
77 --prebuilt-date '$database_type.special_prebuild.prebuilt_date' 127 #silent commands.append("wget 'https://genome-idx.s3.amazonaws.com/kraken/minikraken2_" + str($database_type.minikraken2_version) + "_8GB_201904.tgz'")
78 #else if $database_type.database_type == "special" 128 #silent commands.append("mkdir -p '" + $out_file.extra_files_path + "'/'" + database_value + "'")
79 --threads \${GALAXY_SLOTS:-1} 129 #silent commands.append("tar -xzf 'minikraken2_" + str($database_type.minikraken2_version) + "_8GB_201904.tgz' -C '" + $out_file.extra_files_path + "'/'" + database_value + "'")
80 --special-database-type '$database_type.special_database_type' 130 #else
81 --kmer-len $database_type.kmer_len 131 #if $database_type.database_type == "standard_local_build"
82 --minimizer-len $database_type.minimizer_len 132 #set database_value = "_".join([now, "standard", "kmer-len", str($database_type.kmer_len), "minimizer-len", str($database_type.minimizer_len), "minimizer-spaces", str($database_type.minimizer_spaces), "load-factor", str($database_type.load_factor)])
83 --minimizer-spaces $database_type.minimizer_spaces 133 #set database_name = " ".join(["Standard (Local Build)", "Created:", now + ",", "kmer-len=" + str($database_type.kmer_len) + ",", "minimizer-len=" + str($database_type.minimizer_len) + ",", "minimizer-spaces=" + str($database_type.minimizer_spaces) + ",", "load-factor=" + str($database_type.load_factor) + ")"])
84 --load-factor $database_type.load_factor 134 #else if $database_type.database_type == "special"
85 $database_type.clean 135 #set special_database_names = {"rdp": "RDP", "greengenes": "Greengenes", "silva": "Silva"}
86 #else if $database_type.database_type == "custom" 136 #set database_value = "_".join([now, str($database_type.special_database_type), "kmer-len", str($database_type.kmer_len), "minimizer-len", str($database_type.minimizer_len), "minimizer-spaces", str($database_type.minimizer_spaces), "load-factor", str($database_type.load_factor)])
87 --threads \${GALAXY_SLOTS:-1} 137 #set database_name = " ".join([special_database_names[str($database_type.special_database_type)], "(Created:", now + ",", "kmer-len=" + str($database_type.kmer_len) + ",", "minimizer-len=" + str($database_type.minimizer_len) + ",", "minimizer-spaces=" + str($database_type.minimizer_spaces) + ",", "load-factor=" + str($database_type.load_factor) + ")"])
88 --custom-fasta '$database_type.custom_fasta' 138 #else if $database_type.database_type == "custom"
89 --custom-database-name '$database_type.custom_database_name' 139 #set custom_database_name = re.sub(r'[^\w_.-]+', '_', str($database_type.custom_database_name)).strip('_')
90 --custom-source-info '$database_type.custom_source_info' 140 #set database_name = " ".join([custom_database_name, "(" + str($database_type.custom_source_info) + ",", "kmer-len=" + str($database_type.kmer_len) + ",", "minimizer-len=" + str($database_type.minimizer_len) + ",", "minimizer-spaces=" + str($database_type.minimizer_spaces) + ",", "load-factor=" + str($database_type.load_factor) + ")"])
91 $database_type.skip_maps 141 #set database_value = "_".join([now, custom_database_name, "kmer-len", str($database_type.kmer_len), "minimizer-len", str($database_type.minimizer_len), "minimizer-spaces", str($database_type.minimizer_spaces), "load-factor", str($database_type.load_factor)])
92 --kmer-len $database_type.kmer_len 142 #else
93 --minimizer-len $database_type.minimizer_len 143 >&2 echo "invalid database_type: $database_type.database_type"
94 --minimizer-spaces $database_type.minimizer_spaces 144 #end if
95 --load-factor $database_type.load_factor 145
96 $database_type.clean 146 #if $database_type.database_type == "custom"
147 #silent command = ["kraken2-build", "--threads", '"${GALAXY_SLOTS:-1}"',
148 "--download-taxonomy",
149 "--db", "'" + $out_file.extra_files_path + "'/'" + database_value + "'",
150 str($database_type.skip_maps)]
151 #silent commands.append(" ".join(command))
152 #silent command = ["kraken2-build", "--threads", '"${GALAXY_SLOTS:-1}"',
153 "--add-to-library", "'" + str($database_type.custom_fasta) + "'",
154 "--db", "'" + $out_file.extra_files_path + "'/'" + database_value + "'"]
155 #silent commands.append(" ".join(command))
156 #end if
157
158 #silent command = ["kraken2-build", "--threads", '"${GALAXY_SLOTS:-1}"']
159 #if $database_type.database_type == "standard_local_build"
160 #silent command.append("--standard")
161 #else if $database_type.database_type == "special"
162 #silent command.extend(["--special", str($database_type.special_database_type)])
163 #else if $database_type.database_type == "custom"
164 #silent command.append("--build")
165 #end if
166 #silent command.extend([
167 "--kmer-len", str($database_type.kmer_len),
168 "--minimizer-len", str($database_type.minimizer_len),
169 "--minimizer-spaces", str($database_type.minimizer_spaces),
170 "--load-factor", str($database_type.load_factor),
171 "--db", "'" + $out_file.extra_files_path + "'/'" + database_value + "'"])
172 #silent commands.append(" ".join(command))
173
174 #if $database_type.clean
175 #silent command = ["kraken2-build", "--threads", '"${GALAXY_SLOTS:-1}"',
176 "--clean",
177 "--db", "'" + $out_file.extra_files_path + "'/'" + database_value + "'"]
178 #silent commands.append(" ".join(command))
179 #end if
97 #end if 180 #end if
181
182 #for command in commands
183 ## In test mode the tool executes `echo COMMAND` instead of `COMMAND`
184 #if $run_test_command == "false"
185 echo
186 #end if
187 #echo command
188 &&
189 #end for
190
191 echo '{"data_tables": {"kraken2_databases": [{"value": "$database_value", "name": "$database_name", "path": "$database_value"}]}}' > '$out_file'
98 ]]> 192 ]]>
99 </command> 193 </command>
100 <inputs> 194 <inputs>
101 <conditional name="database_type"> 195 <conditional name="database_type">
102 <param name="database_type" type="select" multiple="false" label="Database Type"> 196 <param name="database_type" type="select" multiple="false" label="Database Type">
103 <option value="standard_local_build">Standard, Local Build</option> 197 <option value="standard_local_build">Standard, Local Build</option>
104 <option value="standard_prebuilt">Pre-Built Refseq indexes</option> 198 <option value="standard_prebuilt">Pre-Built Refseq indexes</option>
105 <option value="minikraken">MiniKraken</option> 199 <option value="minikraken">MiniKraken</option>
106 <option value="special_prebuilt">Special Pre-Built indexes</option> 200 <option value="special_prebuilt">Special Pre-Built indexes</option>
201 <option value="amplicon_prebuilt">16S Pre-Built indexes</option>
107 <option value="special">Special</option> 202 <option value="special">Special</option>
108 <option value="custom">Custom</option> 203 <option value="custom">Custom</option>
109 </param> 204 </param>
110 <when value="standard_local_build"> 205 <when value="standard_local_build">
111 <expand macro="common_params" /> 206 <expand macro="common_params" />
112 </when> 207 </when>
113 <when value="standard_prebuilt"> 208 <when value="standard_prebuilt">
114 <conditional name="prebuild"> 209 <conditional name="prebuilt">
115 <param name="prebuilt_date" type="select" label="Select index build date"> 210 <param name="prebuilt_date" type="select" label="Select index build date">
211 <option value="2025-07-14">July 14, 2025</option>
116 <option value="2024-12-28">December 28, 2024</option> 212 <option value="2024-12-28">December 28, 2024</option>
117 <option value="2024-09-04">September 4, 2024</option> 213 <option value="2024-09-04">September 4, 2024</option>
118 <option value="2024-06-05">June 5, 2024</option> 214 <option value="2024-06-05">June 5, 2024</option>
119 <option value="2024-01-12">January 12, 2024</option> 215 <option value="2024-01-12">January 12, 2024</option>
120 <option value="2023-06-05">June 5, 2023</option> 216 <option value="2023-06-05">June 5, 2023</option>
122 <option value="2021-05-17">May 17, 2021</option> 218 <option value="2021-05-17">May 17, 2021</option>
123 <option value="2021-01-27">January 27, 2021</option> 219 <option value="2021-01-27">January 27, 2021</option>
124 <option value="2020-12-02">December 2, 2020</option> 220 <option value="2020-12-02">December 2, 2020</option>
125 <option value="2020-09-19">September 19, 2020</option> 221 <option value="2020-09-19">September 19, 2020</option>
126 </param> 222 </param>
223 <when value="2025-07-14">
224 <param name="prebuilt_db" type="select" label="Select a prebuilt Refseq index to download">
225 <expand macro="viral"/>
226 <expand macro="minusb"/>
227 <expand macro="standard"/>
228 <expand macro="standard_08gb"/>
229 <expand macro="standard_16gb"/>
230 <expand macro="pluspf"/>
231 <expand macro="pluspf_08gb"/>
232 <expand macro="pluspf_16gb"/>
233 <expand macro="pluspfp"/>
234 <expand macro="pluspfp_08gb"/>
235 <expand macro="pluspfp_16gb"/>
236 </param>
237 </when>
127 <when value="2024-12-28"> 238 <when value="2024-12-28">
128 <param name="prebuilt_db" type="select" label="Select a prebuilt Refseq index to download"> 239 <param name="prebuilt_db" type="select" label="Select a prebuilt Refseq index to download">
129 <expand macro="viral"/> 240 <expand macro="viral"/>
130 <expand macro="minusb"/> 241 <expand macro="minusb"/>
131 <expand macro="standard"/> 242 <expand macro="standard"/>
135 <expand macro="pluspf_08gb"/> 246 <expand macro="pluspf_08gb"/>
136 <expand macro="pluspf_16gb"/> 247 <expand macro="pluspf_16gb"/>
137 <expand macro="pluspfp"/> 248 <expand macro="pluspfp"/>
138 <expand macro="pluspfp_08gb"/> 249 <expand macro="pluspfp_08gb"/>
139 <expand macro="pluspfp_16gb"/> 250 <expand macro="pluspfp_16gb"/>
140 <expand macro="core_nt"/>
141 </param> 251 </param>
142 </when> 252 </when>
143 <when value="2024-09-04"> 253 <when value="2024-09-04">
144 <param name="prebuilt_db" type="select" label="Select a prebuilt Refseq index to download"> 254 <param name="prebuilt_db" type="select" label="Select a prebuilt Refseq index to download">
145 <expand macro="viral"/> 255 <expand macro="viral"/>
150 <expand macro="pluspf"/> 260 <expand macro="pluspf"/>
151 <expand macro="pluspf_08gb"/> 261 <expand macro="pluspf_08gb"/>
152 <expand macro="pluspf_16gb"/> 262 <expand macro="pluspf_16gb"/>
153 <expand macro="pluspfp"/> 263 <expand macro="pluspfp"/>
154 <expand macro="pluspfp_08gb"/> 264 <expand macro="pluspfp_08gb"/>
155 <expand macro="core_nt"/>
156 </param> 265 </param>
157 </when> 266 </when>
158 <when value="2024-06-05"> 267 <when value="2024-06-05">
159 <param name="prebuilt_db" type="select" label="Select a prebuilt Refseq index to download"> 268 <param name="prebuilt_db" type="select" label="Select a prebuilt Refseq index to download">
160 <expand macro="viral"/> 269 <expand macro="viral"/>
261 </param> 370 </param>
262 </when> 371 </when>
263 </conditional> 372 </conditional>
264 </when> 373 </when>
265 <when value="special_prebuilt"> 374 <when value="special_prebuilt">
266 <conditional name="special_prebuild"> 375 <conditional name="prebuilt">
267 <param name="special_prebuilt_db" type="select" multiple="false" label="Select pre-built database to download"> 376 <param name="xyz" type="select" multiple="false" label="Select pre-built database to download">
268 <option value="gtdb_genome_reps_20241109">GTDB v220 (Bacterial and archaeal; ~497 GB) (December 13, 2024)</option> 377 <option value="core_nt_20250609">Very large collection, inclusive of GenBank, RefSeq, TPA and PDB (July, 2025)</option>
378 <option value="core_nt_20241228">Very large collection, inclusive of GenBank, RefSeq, TPA and PDB (December, 2024)</option>
379 <option value="core_nt_20240904">Very large collection, inclusive of GenBank, RefSeq, TPA and PDB (September, 2024)</option>
380 <option value="gtdb_genome_reps_20250609">GTDB v226 (Bacterial and archaeal; ~497 GB) (July, 2025)</option>
381 <option value="gtdb_genome_reps_20241109">GTDB v220 (Bacterial and archaeal; ~644 GB) (December 13, 2024)</option>
269 <option value="eupathdb48_20230407">EuPathDB-46 (April 18, 2023)</option> 382 <option value="eupathdb48_20230407">EuPathDB-46 (April 18, 2023)</option>
270 <option value="eupathdb48_20201113">EuPathDB-46 (November 13, 2020)</option> 383 <option value="eupathdb48_20201113">EuPathDB-46 (November 13, 2020)</option>
271 </param> 384 </param>
385 <when value="core_nt_20250609">
386 <param name="prebuilt_db" type="hidden" value="core_nt"/>
387 <param name="prebuilt_date" type="hidden" value="20250609"/>
388 </when>
389 <when value="core_nt_20241228">
390 <param name="prebuilt_db" type="hidden" value="core_nt"/>
391 <param name="prebuilt_date" type="hidden" value="20241228"/>
392 </when>
393 <when value="core_nt_20240904">
394 <param name="prebuilt_db" type="hidden" value="core_nt"/>
395 <param name="prebuilt_date" type="hidden" value="20240904"/>
396 </when>
397 <when value="gtdb_genome_reps_20250609">
398 <param name="prebuilt_db" type="hidden" value="gtdb_genome_reps"/>
399 <param name="prebuilt_date" type="hidden" value="2025-06-09"/>
400 </when>
272 <when value="gtdb_genome_reps_20241109"> 401 <when value="gtdb_genome_reps_20241109">
273 <param name="prebuilt_db" type="hidden" value="gtdb_genome_reps"/> 402 <param name="prebuilt_db" type="hidden" value="gtdb_genome_reps"/>
274 <param name="prebuilt_date" type="hidden" value="2024-11-09"/> 403 <param name="prebuilt_date" type="hidden" value="2024-11-09"/>
275 </when> 404 </when>
276 <when value="eupathdb48_20230407"> 405 <when value="eupathdb48_20230407">
278 <param name="prebuilt_date" type="hidden" value="2023-04-07"/> 407 <param name="prebuilt_date" type="hidden" value="2023-04-07"/>
279 </when> 408 </when>
280 <when value="eupathdb48_20201113"> 409 <when value="eupathdb48_20201113">
281 <param name="prebuilt_db" type="hidden" value="eupathdb48"/> 410 <param name="prebuilt_db" type="hidden" value="eupathdb48"/>
282 <param name="prebuilt_date" type="hidden" value="2020-11-13"/> 411 <param name="prebuilt_date" type="hidden" value="2020-11-13"/>
412 </when>
413 </conditional>
414 </when>
415 <when value="amplicon_prebuilt">
416 <conditional name="prebuilt">
417 <param name="xyz" type="select" multiple="false" label="Select pre-built database to download">
418 <option value="16S_Greengenes13.5_20200326">Greengenes 13.5</option>
419 <option value="16S_RDP11.5_20200326">RDP 11.5</option>
420 <option value="16S_Silva132_20200326">Silva 132</option>
421 <option value="16S_Silva138_20200326">Silva 138</option>
422 </param>
423 <when value="16S_Greengenes13.5_20200326">
424 <param name="prebuilt_db" type="hidden" value="16S_Greengenes13.5"/>
425 <param name="prebuilt_date" type="hidden" value="20200326"/>
426 </when>
427 <when value="16S_RDP11.5_20200326">
428 <param name="prebuilt_db" type="hidden" value="16S_RDP11.5"/>
429 <param name="prebuilt_date" type="hidden" value="20200326"/>
430 </when>
431 <when value="16S_Silva132_20200326">
432 <param name="prebuilt_db" type="hidden" value="16S_Silva132"/>
433 <param name="prebuilt_date" type="hidden" value="20200326"/>
434 </when>
435 <when value="16S_Silva138_20200326">
436 <param name="prebuilt_db" type="hidden" value="16S_Silva138"/>
437 <param name="prebuilt_date" type="hidden" value="20200326"/>
283 </when> 438 </when>
284 </conditional> 439 </conditional>
285 </when> 440 </when>
286 <when value="minikraken"> 441 <when value="minikraken">
287 <param name="minikraken2_version" type="select" multiple="false" label="Select MiniKraken2 database version to download"> 442 <param name="minikraken2_version" type="select" multiple="false" label="Select MiniKraken2 database version to download">
291 </when> 446 </when>
292 <when value="special"> 447 <when value="special">
293 <param name="special_database_type" type="select" multiple="false" label="Select database to build"> 448 <param name="special_database_type" type="select" multiple="false" label="Select database to build">
294 <option value="greengenes">Greengenes</option> 449 <option value="greengenes">Greengenes</option>
295 <option value="silva">Silva</option> 450 <option value="silva">Silva</option>
296 <option value="rdp">RDP</option> 451 <!-- <option value="rdp">RDP</option> https://github.com/DerrickWood/kraken2/issues/736 -->
297 </param> 452 </param>
298 <expand macro="common_params" /> 453 <expand macro="common_params" />
299 </when> 454 </when>
300 <when value="custom"> 455 <when value="custom">
301 <param name="custom_fasta" type="data" format="fasta" multiple="False" label="Select history item" /> 456 <param name="custom_fasta" type="data" format="fasta" multiple="False" label="Select history item" />
303 <param name="custom_source_info" type="text" label="Database source info" help="Concise description of how this build has been sourced. This description will be appended (in parentheses) to the user-facing name of the build. Example: https://doi.org/10.5281/zenodo.8339822, from v1 assembly_summary.txt sequences" /> 458 <param name="custom_source_info" type="text" label="Database source info" help="Concise description of how this build has been sourced. This description will be appended (in parentheses) to the user-facing name of the build. Example: https://doi.org/10.5281/zenodo.8339822, from v1 assembly_summary.txt sequences" />
304 <param name="skip_maps" type="boolean" truevalue="--skip-maps" falsevalue="" label="Skip downloading accession number to taxid maps during taxonomy download." /> 459 <param name="skip_maps" type="boolean" truevalue="--skip-maps" falsevalue="" label="Skip downloading accession number to taxid maps during taxonomy download." />
305 <expand macro="common_params" /> 460 <expand macro="common_params" />
306 </when> 461 </when>
307 </conditional> 462 </conditional>
463 <param name="run_test_command" type="hidden"/>
308 </inputs> 464 </inputs>
309 <outputs> 465 <outputs>
310 <data name="out_file" format="data_manager_json" /> 466 <data name="out_file" format="data_manager_json" />
311 </outputs> 467 </outputs>
312 <tests> 468 <tests>
469 <!-- standard_local_build -->
470
471 <test expect_num_outputs="1">
472 <conditional name="database_type">
473 <param name="database_type" value="standard_local_build" />
474 <param name="kmer_len" value="35" />
475 <param name="minimizer_spaces" value="6"/>
476 <param name="load_factor" value="0.7" />
477 <param name="clean" value="true"/>
478 </conditional>
479 <param name="run_test_command" value="false"/>
480 <output name="out_file">
481 <assert_contents>
482 <has_text text="kraken2_databases"/>
483 <has_text text="path"/>
484 <has_text text="Standard (Local Build)"/>
485 <has_text text="kmer-len=35, minimizer-len=31, minimizer-spaces=6, load-factor=0.7"/>
486 </assert_contents>
487 </output>
488 </test>
489
490 <!-- standard_prebuilt -->
491 <test>
492 <conditional name="database_type">
493 <param name="database_type" value="standard_prebuilt" />
494 <conditional name="prebuilt">
495 <param name="prebuilt_date" value="2022-06-07"/>
496 <param name="prebuilt_db" value="viral"/>
497 </conditional>
498 </conditional>
499 <param name="run_test_command" value="true"/>
500 <output name="out_file">
501 <assert_contents>
502 <has_text text="kraken2_databases"/>
503 <has_text text="path"/>
504 <has_text text="Viral"/>
505 <has_text text="_standard_prebuilt_viral_2022-06-07"/>
506 <has_text text="Version"/>
507 <has_text text="Downloaded"/>
508 </assert_contents>
509 </output>
510 </test>
511 <!-- test with latest version -->
512 <test>
513 <conditional name="database_type">
514 <param name="database_type" value="standard_prebuilt" />
515 <conditional name="prebuilt">
516 <param name="prebuilt_date" value="2024-01-12"/>
517 <param name="prebuilt_db" value="viral"/>
518 </conditional>
519 </conditional>
520 <param name="run_test_command" value="true"/>
521 <output name="out_file">
522 <assert_contents>
523 <has_text text="kraken2_databases"/>
524 <has_text text="path"/>
525 <has_text text="Viral"/>
526 <has_text text="_standard_prebuilt_viral_2024-01-12"/>
527 <has_text text="Version"/>
528 <has_text text="Downloaded"/>
529 </assert_contents>
530 </output>
531 </test>
532 <!-- test with first 2024 version -->
533 <test>
534 <conditional name="database_type">
535 <param name="database_type" value="standard_prebuilt" />
536 <conditional name="prebuilt">
537 <param name="prebuilt_date" value="2024-06-05"/>
538 <param name="prebuilt_db" value="viral"/>
539 </conditional>
540 </conditional>
541 <param name="run_test_command" value="true"/>
542 <output name="out_file">
543 <assert_contents>
544 <has_text text="kraken2_databases"/>
545 <has_text text="path"/>
546 <has_text text="Viral"/>
547 <has_text text="_standard_prebuilt_viral_2024-06-05"/>
548 <has_text text="Version"/>
549 <has_text text="Downloaded"/>
550 </assert_contents>
551 </output>
552 </test>
553
554 <!-- minikraken -->
555
556 <test>
557 <conditional name="database_type">
558 <param name="database_type" value="minikraken" />
559 <param name="minikraken2_version" value="v1"/>
560 </conditional>
561 <param name="run_test_command" value="false"/>
562 <output name="out_file">
563 <assert_contents>
564 <has_text text="kraken2_databases"/>
565 <has_text text="path"/>
566 <has_text text="Minikraken2"/>
567 <has_text text="v1"/>
568 <has_text text="Created"/>
569 </assert_contents>
570 </output>
571 </test>
572
573 <!-- special_prebuilt -->
574
575 <test>
576 <conditional name="database_type">
577 <param name="database_type" value="special_prebuilt" />
578 <conditional name="prebuilt">
579 <param name="xyz" value="eupathdb48_20201113"/>
580 <param name="prebuilt_date" value="2020-11-13"/>
581 <param name="prebuilt_db" value="eupathdb48"/>
582 </conditional>
583 </conditional>
584 <param name="run_test_command" value="false"/>
585 <output name="out_file">
586 <assert_contents>
587 <has_text text="kraken2_databases"/>
588 <has_text text="path"/>
589 <has_text text="Prebuilt Refseq indexes: EuPathDB-46"/>
590 <has_text text="standard_prebuilt_eupathdb48_2020-11-13"/>
591 <has_text text="Prebuilt Refseq indexes"/>
592 <has_text text="Downloaded"/>
593 </assert_contents>
594 </output>
595 </test>
596
597 <!-- amplicon_prebuilt -->
598
599 <test>
600 <conditional name="database_type">
601 <param name="database_type" value="amplicon_prebuilt" />
602 <conditional name="prebuilt">
603 <param name="xyz" value="16S_Greengenes13.5_20200326"/>
604 <param name="prebuilt_date" value="20200326"/>
605 <param name="prebuilt_db" value="16S_Greengenes13.5"/>
606 </conditional>
607 </conditional>
608 <param name="run_test_command" value="false"/>
609 <output name="out_file">
610 <assert_contents>
611 <has_text text="kraken2_databases"/>
612 <has_text text="path"/>
613 <has_text text="16S_Greengenes13.5"/>
614 </assert_contents>
615 </output>
616 </test>
617
618 <!-- special -->
619
620 <test expect_num_outputs="1">
621 <conditional name="database_type">
622 <param name="database_type" value="special" />
623 <param name="special_database_type" value="greengenes" />
624 <param name="kmer_len" value="35" />
625 <param name="minimizer_spaces" value="6"/>
626 <param name="load_factor" value="0.7" />
627 <param name="clean" value="true"/>
628 </conditional>
629 <param name="run_test_command" value="true"/>
630 <output name="out_file">
631 <assert_contents>
632 <has_text text="kraken2_databases"/>
633 <has_text text="path"/>
634 <has_text text="Greengenes"/>
635 <has_text text="kmer-len=35, minimizer-len=31, minimizer-spaces=6, load-factor=0.7"/>
636 </assert_contents>
637 </output>
638 </test>
639 <test expect_num_outputs="1">
640 <conditional name="database_type">
641 <param name="database_type" value="special" />
642 <param name="special_database_type" value="silva" />
643 <param name="kmer_len" value="35" />
644 <param name="minimizer_spaces" value="6"/>
645 <param name="load_factor" value="0.7" />
646 <param name="clean" value="true"/>
647 </conditional>
648 <param name="run_test_command" value="true"/>
649 <output name="out_file">
650 <assert_contents>
651 <has_text text="kraken2_databases"/>
652 <has_text text="path"/>
653 <has_text text="Silva"/>
654 <has_text text="kmer-len=35, minimizer-len=31, minimizer-spaces=6, load-factor=0.7"/>
655 </assert_contents>
656 </output>
657 </test>
658
659 <!-- custom -->
660
313 <test expect_num_outputs="1"> 661 <test expect_num_outputs="1">
314 <conditional name="database_type"> 662 <conditional name="database_type">
315 <param name="database_type" value="custom" /> 663 <param name="database_type" value="custom" />
316 <param name="custom_fasta" value="adapter.fa" /> 664 <param name="custom_fasta" value="adapter.fa" />
317 <param name="custom_database_name" value="custom_database" /> 665 <param name="custom_database_name" value="custom_database" />
320 <param name="kmer_len" value="35" /> 668 <param name="kmer_len" value="35" />
321 <param name="minimizer_spaces" value="6"/> 669 <param name="minimizer_spaces" value="6"/>
322 <param name="load_factor" value="0.7" /> 670 <param name="load_factor" value="0.7" />
323 <param name="clean" value="true"/> 671 <param name="clean" value="true"/>
324 </conditional> 672 </conditional>
673 <param name="run_test_command" value="true"/>
325 <output name="out_file"> 674 <output name="out_file">
326 <assert_contents> 675 <assert_contents>
327 <has_text text="kraken2_databases"/> 676 <has_text text="kraken2_databases"/>
328 <has_text text="path"/> 677 <has_text text="path"/>
329 <has_text text="custom_database (from adapter.fa test data, kmer-len=35, minimizer-len=31, minimizer-spaces=6, load-factor=0.7)"/> 678 <has_text text="custom_database (from adapter.fa test data, kmer-len=35, minimizer-len=31, minimizer-spaces=6, load-factor=0.7)"/>
330 </assert_contents> 679 </assert_contents>
331 </output> 680 </output>
332 </test> 681 </test>
333 <test> 682
334 <conditional name="database_type"> 683
335 <param name="database_type" value="standard_prebuilt" />
336 <conditional name="prebuild">
337 <param name="prebuilt_date" value="2022-06-07"/>
338 <param name="prebuilt_db" value="viral"/>
339 </conditional>
340 </conditional>
341 <output name="out_file">
342 <assert_contents>
343 <has_text text="kraken2_databases"/>
344 <has_text text="path"/>
345 <has_text text="Viral"/>
346 <has_text text="_standard_prebuilt_viral_2022-06-07"/>
347 <has_text text="Version"/>
348 <has_text text="Downloaded"/>
349 </assert_contents>
350 </output>
351 </test>
352 <!-- test with latest version -->
353 <test>
354 <conditional name="database_type">
355 <param name="database_type" value="standard_prebuilt" />
356 <conditional name="prebuild">
357 <param name="prebuilt_date" value="2024-01-12"/>
358 <param name="prebuilt_db" value="viral"/>
359 </conditional>
360 </conditional>
361 <output name="out_file">
362 <assert_contents>
363 <has_text text="kraken2_databases"/>
364 <has_text text="path"/>
365 <has_text text="Viral"/>
366 <has_text text="_standard_prebuilt_viral_2024-01-12"/>
367 <has_text text="Version"/>
368 <has_text text="Downloaded"/>
369 </assert_contents>
370 </output>
371 </test>
372 <!-- test with first 2024 version -->
373 <test>
374 <conditional name="database_type">
375 <param name="database_type" value="standard_prebuilt" />
376 <conditional name="prebuild">
377 <param name="prebuilt_date" value="2024-06-05"/>
378 <param name="prebuilt_db" value="viral"/>
379 </conditional>
380 </conditional>
381 <output name="out_file">
382 <assert_contents>
383 <has_text text="kraken2_databases"/>
384 <has_text text="path"/>
385 <has_text text="Viral"/>
386 <has_text text="_standard_prebuilt_viral_2024-06-05"/>
387 <has_text text="Version"/>
388 <has_text text="Downloaded"/>
389 </assert_contents>
390 </output>
391 </test>
392 </tests> 684 </tests>
393 <help><![CDATA[ 685 <help><![CDATA[
394 Build Kraken2 databases or download `prebuilt Kraken2 RefSeq indexes <https://benlangmead.github.io/aws-indexes/k2>`__ 686 Build Kraken2 databases or download `prebuilt Kraken2 RefSeq indexes <https://benlangmead.github.io/aws-indexes/k2>`__
395 ]]></help> 687 ]]></help>
396 <citations> 688 <citations>