Repository navigation
Add Kraken2 2.17.2 and prebuilt Kraken2 databases - #194
Merged
Merged
Conversation
Upstream dropped the "v" prefix from the release tag, so the archive URL differs from earlier versions. install_kraken2.sh is unchanged, so the existing task builds it as-is. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GttZpVB7Vniruv7g6F6jjU
Downloads Standard, Viral, MinusB, EuPathDB48 and the four 16S indexes to /software/data/bio/kraken2/<name>, skipping any with an INSTALLED.ansible marker. Upstream md5s are used where published; EuPathDB and 16S sha256s were computed from complete downloads. The module now sets KRAKEN2_DB_PATH so databases resolve by name. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GttZpVB7Vniruv7g6F6jjU
MikeCTZA
approved these changes
Oct 7, 2026
get_url defaults its temporary file to remote_tmp (~/.ansible/tmp), which would put the ~80 GB Standard archive in a quota-limited home directory and then copy it across filesystems. Staging in the database root makes the final move a rename. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GttZpVB7Vniruv7g6F6jjU
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GttZpVB7Vniruv7g6F6jjU
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Adds Kraken2 2.17.2 (bio, compiled) alongside the existing 2.1.3, and adds prebuilt Kraken2 databases at
/software/data/bio/kraken2.install_kraken2.shas before. The newk2wrapper uses only the Python 3 standard library, so the systempython3is enough.-t kraken2,kraken2-db): Standard, Viral and MinusB (2026-06-26), EuPathDB48 (2023-04-07), and the four 16S sets (Greengenes 13.5, RDP 11.5, Silva 132, Silva 138). Each one is extracted to<name>_<date>/, gets anINSTALLED.ansiblemarker, and is skipped on later runs. The archive is deleted after extraction.kraken2.luanow setsKRAKEN2_DB_PATH, sokraken2 --db standard_20260626finds the database by name.Checklist
Linters pass locally:
cd ansible && uv run yamllint . && uv run ansible-lint(Profile 'production' ... passed);ansible-playbook site.yaml --syntax-checkalso passes.CI is green on this PR.
Double tag wired up:
kraken2on the include;kraken2-2.17.2/kraken2-dbon the leaf blocks (both withnever). The hyphenated version tag matches the existingkraken2-2.1.3.Checksum set on every download. 2.17.2 uses sha512. Standard, Viral and MinusB use upstream's md5, taken from their published
<collection>.md5files. EuPathDB48 and the 16S sets publish no checksums, so their sha256 was computed from complete downloads, each size-checked against S3'sContent-Length.Module template: updated
kraken2.lua.Symbolic file modes.
Uses the path variables (
bio_data_dir,bio_dir,bio_modules).README software tables: Kraken2 isn't listed there today, so they're unchanged.
Notes for the maintainer
ansible-playbook site.yaml -t kraken2,kraken2-2.17.2for the software.ansible-playbook site.yaml -t kraken2,kraken2-dbfor the databases./softwareat the peak. Downloads are staged in/software/data/bio/kraken2(tmp_dest), not~/.ansible/tmp, so the home directory isn't used. Databases are listed smallest first, so the small ones finish before Standard starts. If a download is interrupted, a partial temp file may be left in that directory to delete by hand./software/data/bio/kraken2/<basename>and its checksum matches,get_urlskips the download. EuPathDB48 was pre-placed this way. Run as the user that owns these files, because the tasks set modes, extract into the directory and delete the archive.taris used instead ofansible.builtin.unarchive, which would decompress the ~80 GB archive twice. There's a# NOTE:at the task.kraken2_dir's existingg=rxmode, and undatedstandard → standard_<date>symlinks.vprefix)🤖 Generated with Claude Code
https://claude.ai/code/session_01GttZpVB7Vniruv7g6F6jjU