diff --git a/CHANGELOG.md b/CHANGELOG.md index c3b6bb6c4..35003d853 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,12 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Added` -- [965](https://github.com/nf-core/mag/pull/965) - Add support for the generation of custom contig to bin map files for all bins and refined bins (by @jfy133, @prototaxites) -- [965](https://github.com/nf-core/mag/pull/965) - Add support for optional saving of DAS Tool inpout `contig2bin` map files via `--refine_bins_dastool_savecontig2bin`, with now singular generation process (by @jfy133, @prototaxites) +- [#965](https://github.com/nf-core/mag/pull/965) - Add support for the generation of custom contig to bin map files for all bins and refined bins (by @jfy133, @prototaxites) +- [#965](https://github.com/nf-core/mag/pull/965) - Add support for optional saving of DAS Tool inpout `contig2bin` map files via `--refine_bins_dastool_savecontig2bin`, with now singular generation process (by @jfy133, @prototaxites) - [#963](https://github.com/nf-core/mag/pull/963) - Add support for outputting and median summarising pyDamage results at bin level when running in ancient DNA mode (by @jfy133) ### `Changed` +- [#966](https://github.com/nf-core/mag/pull/966) - Replace aria2c downloading of CheckM2 database with native Nextflow downloading due to Zenodo issues (by @jfy133, @dialvarezs) + ### `Fixed` ### `Dependencies` diff --git a/modules.json b/modules.json index 270ef1307..dd8853ae8 100644 --- a/modules.json +++ b/modules.json @@ -88,7 +88,7 @@ }, "checkm2/predict": { "branch": "master", - "git_sha": "e753770db613ce014b3c4bc94f6cba443427b726", + "git_sha": "92c71995da96e0e01946156302997cc86f9324c6", "installed_by": ["modules"] }, "chopper": { diff --git a/modules/nf-core/checkm2/predict/main.nf b/modules/nf-core/checkm2/predict/main.nf index f6821a079..dda172f92 100644 --- a/modules/nf-core/checkm2/predict/main.nf +++ b/modules/nf-core/checkm2/predict/main.nf @@ -3,18 +3,18 @@ process CHECKM2_PREDICT { label 'process_medium' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/0a/0af812c983aeffc99c0fca9ed2c910816b2ddb9a9d0dcad7b87dab0c9c08a16f/data': - 'community.wave.seqera.io/library/checkm2:1.1.0--60f287bc25d7a10d' }" + container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/0a/0af812c983aeffc99c0fca9ed2c910816b2ddb9a9d0dcad7b87dab0c9c08a16f/data' + : 'community.wave.seqera.io/library/checkm2:1.1.0--60f287bc25d7a10d'}" input: tuple val(meta), path(fasta, stageAs: "input_bins/*") tuple val(dbmeta), path(db) output: - tuple val(meta), path("${prefix}") , emit: checkm2_output + tuple val(meta), path("${prefix}"), emit: checkm2_output tuple val(meta), path("${prefix}_checkm2_report.tsv"), emit: checkm2_tsv - path("versions.yml") , emit: versions + path ("versions.yml"), emit: versions when: task.ext.when == null || task.ext.when @@ -23,12 +23,14 @@ process CHECKM2_PREDICT { def args = task.ext.args ?: '' prefix = task.ext.prefix ?: "${meta.id}" """ + export DB=\$(find -L . -name "*.dmnd" -type f) + checkm2 \\ predict \\ --input ${fasta} \\ --output-directory ${prefix} \\ --threads ${task.cpus} \\ - --database_path ${db} \\ + --database_path \$DB \\ ${args} cp ${prefix}/quality_report.tsv ${prefix}_checkm2_report.tsv diff --git a/modules/nf-core/checkm2/predict/tests/main.nf.test b/modules/nf-core/checkm2/predict/tests/main.nf.test index 673a10c4b..eeaa79934 100644 --- a/modules/nf-core/checkm2/predict/tests/main.nf.test +++ b/modules/nf-core/checkm2/predict/tests/main.nf.test @@ -5,16 +5,18 @@ nextflow_process { tag "modules" tag "checkm2" tag "checkm2/predict" - tag "checkm2/databasedownload" + tag "untar" script "modules/nf-core/checkm2/predict/main.nf" process "CHECKM2_PREDICT" setup { - run("CHECKM2_DATABASEDOWNLOAD") { - script "../../databasedownload/main.nf" + run("UNTAR") { + script "../../../untar/main.nf" process { """ - input[0] = [] + input[0] = channel + .fromPath("https://zenodo.org/records/14897628/files/checkm2_database.tar.gz", checkIfExists: true) + .map { dbfile -> [ [id: 'checkm2db'], dbfile ] } """ } } @@ -29,7 +31,7 @@ nextflow_process { process { """ input[0] = [ [id: 'test'], [file(params.modules_testdata_base_path + 'genomics/prokaryotes/escherichia_coli/genome/genome.fa', checkIfExists: true)] ] - input[1] = CHECKM2_DATABASEDOWNLOAD.out.database + input[1] = UNTAR.out.untar """ } } @@ -53,7 +55,7 @@ nextflow_process { process { """ input[0] = [ [id: 'test'], [file(params.modules_testdata_base_path + 'genomics/prokaryotes/escherichia_coli/genome/genome.fa', checkIfExists: true)] ] - input[1] = CHECKM2_DATABASEDOWNLOAD.out.database + input[1] = UNTAR.out.untar """ } } diff --git a/subworkflows/local/bin_qc/main.nf b/subworkflows/local/bin_qc/main.nf index 926fd51fe..0d759088d 100644 --- a/subworkflows/local/bin_qc/main.nf +++ b/subworkflows/local/bin_qc/main.nf @@ -3,7 +3,8 @@ */ include { BUSCO_BUSCO } from '../../../modules/nf-core/busco/busco/main' -include { CHECKM2_DATABASEDOWNLOAD } from '../../../modules/nf-core/checkm2/databasedownload/main' +// 2016-01-19: Temporarily diabling Checkm2 database downloading due to Zenodo blocking Aria2 downloads +//include { CHECKM2_DATABASEDOWNLOAD } from '../../../modules/nf-core/checkm2/databasedownload/main' include { CHECKM_QA } from '../../../modules/nf-core/checkm/qa/main' include { CHECKM_LINEAGEWF } from '../../../modules/nf-core/checkm/lineagewf/main' include { CHECKM2_PREDICT } from '../../../modules/nf-core/checkm2/predict/main' @@ -15,6 +16,7 @@ include { GUNC_RUN } from '../../../modules/nf-core/gunc/ru include { GUNC_MERGECHECKM } from '../../../modules/nf-core/gunc/mergecheckm/main' include { UNTAR as BUSCO_UNTAR } from '../../../modules/nf-core/untar/main' include { UNTAR as CHECKM_UNTAR } from '../../../modules/nf-core/untar/main' +include { UNTAR as CHECKM2_UNTAR } from '../../../modules/nf-core/untar/main' workflow BIN_QC { @@ -63,9 +65,14 @@ workflow BIN_QC { ch_checkm2_db = [[:], file(params.checkm2_db, checkIfExists: true)] } else if (params.run_checkm2) { - CHECKM2_DATABASEDOWNLOAD(params.checkm2_db_version) - ch_versions = ch_versions.mix(CHECKM2_DATABASEDOWNLOAD.out.versions) - ch_checkm2_db = CHECKM2_DATABASEDOWNLOAD.out.database + // 2016-01-19: Temporarily diabling Checkm2 database downloading due to Zenodo blocking Aria2 downloads + //CHECKM2_DATABASEDOWNLOAD(params.checkm2_db_version) + //ch_versions = ch_versions.mix(CHECKM2_DATABASEDOWNLOAD.out.versions) + ch_checkm2_tar = channel.fromPath("https://zenodo.org/records/${params.checkm2_db_version}/files/checkm2_database.tar.gz", checkIfExists: true) + .map { db_tar -> [[id: 'checkm2_db', version: params.checkm2_db_version], db_tar] } + CHECKM2_UNTAR(ch_checkm2_tar) + ch_checkm2_db = CHECKM2_UNTAR.out.untar + ch_versions = ch_versions.mix(CHECKM2_UNTAR.out.versions) } else { ch_checkm2_db = [] diff --git a/tests/test_alternatives.nf.test.snap b/tests/test_alternatives.nf.test.snap index 22385f790..96fe03aea 100644 --- a/tests/test_alternatives.nf.test.snap +++ b/tests/test_alternatives.nf.test.snap @@ -36,12 +36,12 @@ "BUSCO_BUSCO": { "busco": "6.0.0" }, - "CHECKM2_DATABASEDOWNLOAD": { - "aria2": "1.37.0" - }, "CHECKM2_PREDICT": { "checkm2": "1.1.0" }, + "CHECKM2_UNTAR": { + "untar": 1.34 + }, "CONCAT_BUSCO_TSV": { "qsv": "5.1.0" }, @@ -115,10 +115,10 @@ } ], "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.0" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2025-11-27T11:32:28.488502608" + "timestamp": "2026-01-20T09:09:31.254713942" }, "qc": { "content": [ @@ -222,6 +222,7 @@ "GenomeBinning/QC/checkm2_summary.tsv", "GenomeBinning/Tiara/tiara_summary.tsv", "GenomeBinning/bin_summary.tsv", + "GenomeBinning/contig_to_bin/contig_to_bin_map.tsv", "GenomeBinning/depths/bins/MEGAHIT-MetaBAT2-group-0-binDepths.heatmap.png", "GenomeBinning/depths/bins/bin_depths_summary.tsv", "GenomeBinning/depths/contigs/MEGAHIT-group-0-depth.txt.gz" @@ -241,14 +242,15 @@ "checkm2_summary.tsv:md5,ec01903b7f8a7203856a35a7bd2d4c34", "tiara_summary.tsv:md5,4cbfb0fd90ba48dc33d75d10c1eddb17", "bin_summary.tsv:md5,cf879345b96d29b5b8584795504b81cf", + "contig_to_bin_map.tsv:md5,2bea485185ed808e9b5568438f603e2a", "bin_depths_summary.tsv:md5,a73f2fc180a2c52038c88fbbfa6a95c3" ] ], "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.0" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2025-11-28T14:15:43.756748108" + "timestamp": "2026-01-20T09:09:31.818727636" }, "multiqc": { "content": [