diff --git a/CHANGELOG.md b/CHANGELOG.md index a9be1839..c41f659c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#431](https://github.com/nf-core/funcscan/pull/431) Updated AMPcombi, Macrel, all MMseqs2 modules, MultiQC, Pyrodigal, and seqkit, added `--taxa_classification_mmseqs_compressed` parameter. (by @jasmezz) - [#438](https://github.com/nf-core/funcscan/pull/438) Updated to nf-core template 3.1.2. (by @jfy133) - [#441](https://github.com/nf-core/funcscan/pull/441) Updated to nf-core template 3.2.0, updated MultiQC. (by @jasmezz and @jfy133) +- [#440](https://github.com/nf-core/funcscan/pull/440) Updated Bakta and introduced new parameter `--annotation_bakta_hmms`. (by @jasmezz) ### `Fixed` @@ -27,6 +28,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | Tool | Previous version | New version | | --------- | ---------------- | ----------- | | AMPcombi | 0.2.2 | 2.0.1 | +| Bakta | 1.9.3 | 1.10.4 | | Macrel | 1.2.0 | 1.4.0 | | MMseqs2 | 15.6f452 | 17.b804f | | MultiQC | 1.24.0 | 1.27 | diff --git a/conf/modules.config b/conf/modules.config index adb8869c..5684b042 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -168,6 +168,7 @@ process { params.annotation_bakta_gap ? '' : '--skip-gap', params.annotation_bakta_ori ? '' : '--skip-ori', params.annotation_bakta_activate_plot ? '' : '--skip-plot', + params.annotation_bakta_hmms ? '--hmms ${params.annotation_bakta_hmms}' : '', ].join(' ').trim() } diff --git a/modules.json b/modules.json index 4f7b9698..b36e35c0 100644 --- a/modules.json +++ b/modules.json @@ -62,12 +62,12 @@ }, "bakta/bakta": { "branch": "master", - "git_sha": "0e9cb409c32d3ec4f0d3804588e4778971c09b7e", + "git_sha": "4f0998ebd8f65961cfef0b810f008be3bc477132", "installed_by": ["modules"] }, "bakta/baktadbdownload": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "4f0998ebd8f65961cfef0b810f008be3bc477132", "installed_by": ["modules"] }, "deeparg/downloaddata": { diff --git a/modules/nf-core/bakta/bakta/environment.yml b/modules/nf-core/bakta/bakta/environment.yml index b3c302f0..a2d0ff72 100644 --- a/modules/nf-core/bakta/bakta/environment.yml +++ b/modules/nf-core/bakta/bakta/environment.yml @@ -2,4 +2,4 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::bakta=1.9.3 + - bioconda::bakta=1.10.4 diff --git a/modules/nf-core/bakta/bakta/main.nf b/modules/nf-core/bakta/bakta/main.nf index 9a32c3da..4d192e45 100644 --- a/modules/nf-core/bakta/bakta/main.nf +++ b/modules/nf-core/bakta/bakta/main.nf @@ -4,8 +4,8 @@ process BAKTA_BAKTA { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/bakta:1.9.3--pyhdfd78af_0' : - 'biocontainers/bakta:1.9.3--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/bakta:1.10.4--pyhdfd78af_0' : + 'biocontainers/bakta:1.10.4--pyhdfd78af_0' }" input: tuple val(meta), path(fasta) diff --git a/modules/nf-core/bakta/bakta/tests/main.nf.test.snap b/modules/nf-core/bakta/bakta/tests/main.nf.test.snap index 40e30c36..cee06343 100644 --- a/modules/nf-core/bakta/bakta/tests/main.nf.test.snap +++ b/modules/nf-core/bakta/bakta/tests/main.nf.test.snap @@ -2,14 +2,14 @@ "versions": { "content": [ [ - "versions.yml:md5,f8b70ceb2a328c25a190699384e6152d" + "versions.yml:md5,c40bd66294f6eb4520f194325ef24f24" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "24.10.4" }, - "timestamp": "2024-03-14T09:11:06.657602394" + "timestamp": "2025-01-25T11:59:09.981137" }, "Bakta - stub": { "content": [ @@ -31,7 +31,7 @@ ] ], "10": [ - "versions.yml:md5,f8b70ceb2a328c25a190699384e6152d" + "versions.yml:md5,c40bd66294f6eb4520f194325ef24f24" ], "2": [ [ @@ -178,14 +178,14 @@ ] ], "versions": [ - "versions.yml:md5,f8b70ceb2a328c25a190699384e6152d" + "versions.yml:md5,c40bd66294f6eb4520f194325ef24f24" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "24.10.4" }, - "timestamp": "2024-03-14T09:11:15.532858932" + "timestamp": "2025-01-25T11:09:05.864545" } } \ No newline at end of file diff --git a/modules/nf-core/bakta/baktadbdownload/environment.yml b/modules/nf-core/bakta/baktadbdownload/environment.yml index b3c302f0..a2d0ff72 100644 --- a/modules/nf-core/bakta/baktadbdownload/environment.yml +++ b/modules/nf-core/bakta/baktadbdownload/environment.yml @@ -2,4 +2,4 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::bakta=1.9.3 + - bioconda::bakta=1.10.4 diff --git a/modules/nf-core/bakta/baktadbdownload/main.nf b/modules/nf-core/bakta/baktadbdownload/main.nf index e512d77d..cc2f445e 100644 --- a/modules/nf-core/bakta/baktadbdownload/main.nf +++ b/modules/nf-core/bakta/baktadbdownload/main.nf @@ -3,8 +3,8 @@ process BAKTA_BAKTADBDOWNLOAD { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/bakta:1.9.3--pyhdfd78af_0' : - 'biocontainers/bakta:1.9.3--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/bakta:1.10.4--pyhdfd78af_0' : + 'biocontainers/bakta:1.10.4--pyhdfd78af_0' }" output: path "db*" , emit: db diff --git a/modules/nf-core/bakta/baktadbdownload/tests/main.nf.test.snap b/modules/nf-core/bakta/baktadbdownload/tests/main.nf.test.snap index b1c82267..ef6aabe7 100644 --- a/modules/nf-core/bakta/baktadbdownload/tests/main.nf.test.snap +++ b/modules/nf-core/bakta/baktadbdownload/tests/main.nf.test.snap @@ -2,14 +2,14 @@ "Bakta database download": { "content": [ [ - "versions.yml:md5,df9b091b08a41b7d5eef95727b7eac29" + "versions.yml:md5,29d6ec77dc88492b2c53141e6541c289" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "24.10.4" }, - "timestamp": "2024-03-19T11:34:41.812416438" + "timestamp": "2025-01-25T12:30:51.853371" }, "Bakta database download - stub": { "content": [ @@ -17,13 +17,13 @@ [ ], - "versions.yml:md5,df9b091b08a41b7d5eef95727b7eac29" + "versions.yml:md5,29d6ec77dc88492b2c53141e6541c289" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "24.10.4" }, - "timestamp": "2024-03-19T11:35:01.082923401" + "timestamp": "2025-01-25T12:31:08.390845" } } \ No newline at end of file diff --git a/nextflow.config b/nextflow.config index d5d79f28..12283ffd 100644 --- a/nextflow.config +++ b/nextflow.config @@ -88,6 +88,7 @@ params { annotation_bakta_gap = false annotation_bakta_ori = false annotation_bakta_activate_plot = false + annotation_bakta_hmms = null annotation_prokka_singlemode = false annotation_prokka_rawproduct = false diff --git a/nextflow_schema.json b/nextflow_schema.json index c19b4ae2..46323109 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -352,6 +352,12 @@ "fa_icon": "fas fa-chart-pie", "description": "Activate generation of circular genome plots.", "help_text": "Activate this flag to generate genome plots (might be memory-intensive).\n\n> Modifies tool parameter(s):\n> - BAKTA: `--skip-plot`" + }, + "annotation_bakta_hmms": { + "type": "string", + "description": "Supply a path of an HMM file of trusted hidden markov models in HMMER format for CDS annotation", + "help_text": "Bakta accepts user-provided trusted HMMs via `--hmms` in HMMER's text format. If set, Bakta will adhere to the *trusted cutoff* specified in the HMM header. In addition, a max. evalue threshold of 1e-6 is applied. For more info please refer to the BAKTA [documentation](https://github.com/oschwengers/bakta).\n\n> Modifies tool parameter(s):\n> - BAKTA: `--hmms`", + "fa_icon": "fa-regular fa-square-check" } }, "fa_icon": "fas fa-file-signature" diff --git a/tests/test_bakta.nf.test b/tests/test_bakta.nf.test index c040b2ab..1349d8a2 100644 --- a/tests/test_bakta.nf.test +++ b/tests/test_bakta.nf.test @@ -53,7 +53,7 @@ nextflow_pipeline { ).match("macrel") }, // AMPcombi - { assert path("$outputDir/reports/ampcombi2/Ampcombi_summary.tsv").text.contains("KKEJHB_00100") }, + { assert path("$outputDir/reports/ampcombi2/Ampcombi_summary.tsv").text.contains("KDEMFK_0115") }, { assert snapshot( path("$outputDir/reports/ampcombi2/Ampcombi_cluster.log"), path("$outputDir/reports/ampcombi2/Ampcombi_complete.log"), diff --git a/tests/test_bakta.nf.test.snap b/tests/test_bakta.nf.test.snap index 2a81f001..062161d5 100644 --- a/tests/test_bakta.nf.test.snap +++ b/tests/test_bakta.nf.test.snap @@ -47,7 +47,7 @@ "deeparg_tsv_ARG": { "content": [ "sample_1.align.daa.tsv:md5,d41d8cd98f00b204e9800998ecf8427e", - "sample_2.align.daa.tsv:md5,4a86ca69defa4c861fabf236609afe8a", + "sample_2.align.daa.tsv:md5,4557fadca3f90ccb037b59558dddd528", "sample_1.mapping.ARG:md5,0e049e99eab4c55666062df21707d5b9", "sample_2.mapping.ARG:md5,0e049e99eab4c55666062df21707d5b9" ], diff --git a/tests/test_taxonomy_bakta.nf.test b/tests/test_taxonomy_bakta.nf.test index 5f076d29..8e8a14ec 100644 --- a/tests/test_taxonomy_bakta.nf.test +++ b/tests/test_taxonomy_bakta.nf.test @@ -23,16 +23,16 @@ nextflow_pipeline { // ampir { assert snapshot( - file("$outputDir/amp/ampir/sample_1/sample_1.ampir.tsv").text.contains("KKEJHB_00005"), - file("$outputDir/amp/ampir/sample_1/sample_1.ampir.faa").text.contains("KKEJHB_00005"), - file("$outputDir/amp/ampir/sample_2/sample_2.ampir.tsv").text.contains("KDEMFK_00005"), - file("$outputDir/amp/ampir/sample_2/sample_2.ampir.faa").text.contains("KDEMFK_00005") + file("$outputDir/amp/ampir/sample_1/sample_1.ampir.tsv").text.contains("KKEJHB_005"), + file("$outputDir/amp/ampir/sample_1/sample_1.ampir.faa").text.contains("KKEJHB_005"), + file("$outputDir/amp/ampir/sample_2/sample_2.ampir.tsv").text.contains("KDEMFK_0005"), + file("$outputDir/amp/ampir/sample_2/sample_2.ampir.faa").text.contains("KDEMFK_0005") ).match("ampir") }, // AMPlify { assert snapshot( - file("$outputDir/amp/amplify/sample_1/sample_1.amplify.tsv").text.contains("KKEJHB_00005"), - file("$outputDir/amp/amplify/sample_2/sample_2.amplify.tsv").text.contains("KDEMFK_00005") + file("$outputDir/amp/amplify/sample_1/sample_1.amplify.tsv").text.contains("KKEJHB_005"), + file("$outputDir/amp/amplify/sample_2/sample_2.amplify.tsv").text.contains("KDEMFK_0005") ).match("amplify") }, // Macrel @@ -55,7 +55,7 @@ nextflow_pipeline { // AMPcombi { assert snapshot ( - file("$outputDir/reports/ampcombi2/sample_2/sample_2_ampcombi.tsv").text.contains("KDEMFK_00575"), + file("$outputDir/reports/ampcombi2/sample_2/sample_2_ampcombi.tsv").text.contains("KDEMFK_0070"), ).match("ampcombi") }, { assert new File("$outputDir/reports/ampcombi2/ampcombi_complete_summary_taxonomy.tsv.gz").exists() },