From f33dad9bb4a5b9a500b425afc87e9d6c16ad835f Mon Sep 17 00:00:00 2001 From: Jasmin Frangenberg <73216762+jasmezz@users.noreply.github.com> Date: Fri, 24 Apr 2026 18:04:46 +0200 Subject: [PATCH 1/2] Updated ampcombi, `...keepsingletons` parameter, changelog --- CHANGELOG.md | 43 ++-- bin/ampcombi_download.py | 2 +- conf/modules.config | 9 +- modules.json | 6 +- modules/local/amp_database_download.nf | 6 +- .../nf-core/ampcombi2/cluster/environment.yml | 2 +- modules/nf-core/ampcombi2/cluster/main.nf | 21 +- modules/nf-core/ampcombi2/cluster/meta.yml | 89 +++++--- .../ampcombi2/cluster/tests/main.nf.test | 6 +- .../ampcombi2/cluster/tests/main.nf.test.snap | 48 ++--- .../nf-core/ampcombi2/cluster/tests/tags.yml | 2 - .../ampcombi2/complete/environment.yml | 2 +- modules/nf-core/ampcombi2/complete/main.nf | 24 +-- modules/nf-core/ampcombi2/complete/meta.yml | 81 ++++--- .../ampcombi2/complete/tests/main.nf.test | 2 +- .../complete/tests/main.nf.test.snap | 48 +++-- .../nf-core/ampcombi2/complete/tests/tags.yml | 2 - .../ampcombi2/parsetables/environment.yml | 2 +- modules/nf-core/ampcombi2/parsetables/main.nf | 47 ++-- .../nf-core/ampcombi2/parsetables/meta.yml | 200 ++++++------------ .../ampcombi2/parsetables/tests/main.nf.test | 10 +- .../parsetables/tests/main.nf.test.snap | 200 +++--------------- .../parsetables/tests/nextflow.config | 2 +- .../ampcombi2/parsetables/tests/tags.yml | 2 - nextflow.config | 2 +- .../utils_nfcore_funcscan_pipeline/main.nf | 2 +- 26 files changed, 328 insertions(+), 532 deletions(-) delete mode 100644 modules/nf-core/ampcombi2/cluster/tests/tags.yml delete mode 100644 modules/nf-core/ampcombi2/complete/tests/tags.yml delete mode 100644 modules/nf-core/ampcombi2/parsetables/tests/tags.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index 8fbf432c..554863fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,30 +3,35 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## v3.1.0dev - [date] +## v4.0.0dev - [date] + +### `Breaking change` + +- [](https://github.com/nf-core/funcscan/pull/) Updated AMPcombi, changed parameter `amp_ampcombi_cluster_removesingletons` into `amp_ampcombi_cluster_keepsingletons`. (by @jasmezz) ### `Added` -- [#483](https://github.com/nf-core/funcscan/pull/483) **New screening workflow** for CAZyme Gene Cluster (CGC) and substrate prediction, through dbCAN (by @HaidYi) -- [#483](https://github.com/nf-core/funcscan/pull/483) Added support for preannotated input with optional GFF column in samplesheet for dbCAN CAZyme Gene Cluster (CGC) and substrate prediction, with new `--dbcan_skip_cgc` and `--dbcan_skip_substrate` parameters (by @HaidYi) -- [#500](https://github.com/nf-core/funcscan/pull/500) Updated pipeline template to nf-core/tools version 3.4.1 (by @jfy133) -- [#508](https://github.com/nf-core/funcscan/pull/508) Added support for antiSMASH's --clusterhmmer, --fullhmmer, and --tigrfam options (❤️ to @yusukepockyby for requesting, @jfy133) -- [#506](https://github.com/nf-core/funcscan/pull/506) Added support GECCO convert for generation of additional files useful for downstream analysis (by @SkyLexS) -- [#507](https://github.com/nf-core/funcscan/pull/507) Updated to nf-core template v3.5.1 (by @jfy133) -- [#510](https://github.com/nf-core funcscan/pull/510) Fixed code to make Nextflow strict-syntax compliant (by @jfy133) -- [#521](https://github.com/nf-core funcscan/pull/521) Added option to turn on RGI's own cleanup of intermediate files (❤️ to @SamD28 for requesting, added by @jfy133) +- [#483](https://github.com/nf-core/funcscan/pull/483) **New screening workflow** for CAZyme Gene Cluster (CGC) and substrate prediction, through dbCAN. (by @HaidYi) +- [#483](https://github.com/nf-core/funcscan/pull/483) Added support for preannotated input with optional GFF column in samplesheet for dbCAN CAZyme Gene Cluster (CGC) and substrate prediction, with new `--dbcan_skip_cgc` and `--dbcan_skip_substrate` parameters. (by @HaidYi) +- [#500](https://github.com/nf-core/funcscan/pull/500) Updated pipeline template to nf-core/tools version 3.4.1. (by @jfy133) +- [#508](https://github.com/nf-core/funcscan/pull/508) Added support for antiSMASH's --clusterhmmer, --fullhmmer, and --tigrfam options. (❤️ to @yusukepockyby for requesting, @jfy133) +- [#506](https://github.com/nf-core/funcscan/pull/506) Added support GECCO convert for generation of additional files useful for downstream analysis. (by @SkyLexS) +- [#507](https://github.com/nf-core/funcscan/pull/507) Updated to nf-core template v3.5.1. (by @jfy133) +- [#510](https://github.com/nf-core/funcscan/pull/510) Fixed code to make Nextflow strict-syntax compliant. (by @jfy133) +- [#521](https://github.com/nf-core/funcscan/pull/521) Added option to turn on RGI's own cleanup of intermediate files. (❤️ to @SamD28 for requesting, added by @jfy133) ### `Fixed` -- [#501](https://github.com/nf-core/funcscan/pull/501) Fixed issue with BAKTA HMMs not being staged correctly (reported by Yusuke Hioki, fix by @jfy133) +- [#501](https://github.com/nf-core/funcscan/pull/501) Fixed issue with BAKTA HMMs not being staged correctly. (reported by Yusuke Hioki, fix by @jfy133) ### `Dependencies` -| Tool | Previous Version | New Version | -| ------- | ---------------- | ----------- | -| dbCAN | | 5.2.6 | -| MultiQC | 1.27 | 1.32 | -| Bakta | 1.10.4 | 1.11.4 | +| Tool | Previous Version | New Version | +| -------- | ---------------- | ----------- | +| AMPcombi | 2.0.1 | 3.0.0 | +| dbCAN | - | 5.2.6 | +| MultiQC | 1.27 | 1.32 | +| Bakta | 1.10.4 | 1.11.4 | ### `Deprecated` @@ -34,7 +39,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Added` -- [#477](https://github.com/nf-core/funcscan/pull/477), [#480](https://github.com/nf-core/funcscan/pull/477), [#484](https://github.com/nf-core/funcscan/pull/484) Updated to nf-core template 3.2.1., 3.3.1, 3.3.2 (by @jasmezz, @jfy133) +- [#477](https://github.com/nf-core/funcscan/pull/477), [#480](https://github.com/nf-core/funcscan/pull/477), [#484](https://github.com/nf-core/funcscan/pull/484) Updated to nf-core template 3.2.1., 3.3.1, 3.3.2. (by @jasmezz, @jfy133) - [#482](https://github.com/nf-core/funcscan/pull/482) Added vertical workflow diagram. (by @jasmezz) ### `Fixed` @@ -126,7 +131,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#322](https://github.com/nf-core/funcscan/pull/322) Updated all modules: introduce environment.yml files. (by @jasmezz) - [#324](https://github.com/nf-core/funcscan/pull/324) Removed separate DeepARG test profile because database download is now stable. (by @jasmezz) -- [#332](https://github.com/nf-core/funcscan/pull/332) & [#327](https://github.com/nf-core/funcscan/pull/327) Merged pipeline template of nf-core/tools version 2.12.1 (by @jfy133, @jasmezz) +- [#332](https://github.com/nf-core/funcscan/pull/332) & [#327](https://github.com/nf-core/funcscan/pull/327) Merged pipeline template of nf-core/tools version 2.12.1. (by @jfy133, @jasmezz) - [#338](https://github.com/nf-core/funcscan/pull/338) Set `--meta` parameter to default for Bakta, with singlemode optional. (by @jasmezz) - [#343](https://github.com/nf-core/funcscan/pull/343) Added contig taxonomic classification using [MMseqs2](https://github.com/soedinglab/MMseqs2/). (by @darcy220606) - [#358](https://github.com/nf-core/funcscan/pull/358) Improved RGI databases handling, users can supply their own CARD now. (by @jasmezz) @@ -199,7 +204,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Fixed` -- [#346](https://github.com/nf-core/funcscan/pull/346) Pinned version of nf-validation to 1.1.3 +- [#346](https://github.com/nf-core/funcscan/pull/346) Pinned version of nf-validation to 1.1.3. ### `Dependencies` @@ -308,7 +313,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#237](https://github.com/nf-core/funcscan/pull/237) Reactivate DeepARG automatic database downloading and CI tests as server is now back up. (by @jfy133) - [#235](https://github.com/nf-core/funcscan/pull/235) Improved annotation speed by switching off pipeline-irrelevant Bakta annotation steps by default. (by @jasmezz) - [#235](https://github.com/nf-core/funcscan/pull/235) Renamed parameter `annotation_bakta_db` to `annotation_bakta_db_localpath`. (by @jasmezz) -- [#242](https://github.com/nf-core/funcscan/pull/242) Fixed MACREL '.faa' issue that was generated when it was run on its own and upgraded MACREL from version `1.1.0` to `1.2.0` (by @Darcy220606) +- [#242](https://github.com/nf-core/funcscan/pull/242) Fixed MACREL '.faa' issue that was generated when it was run on its own and upgraded MACREL from version `1.1.0` to `1.2.0`. (by @Darcy220606) - [#248](https://github.com/nf-core/funcscan/pull/248) Applied best-practice `error("message")` to all (sub)workflow files. (by @jasmezz) - [#254](https://github.com/nf-core/funcscan/pull/254) Further resource optimisation based on feedback from 'real world' datasets. (ongoing, reported by @alexhbnr and @Darcy220606, fix by @jfy133) - [#266](https://github.com/nf-core/funcscan/pull/266) Fixed wrong process name in base.config. (reported by @Darcy220606, fix by @jasmezz) diff --git a/bin/ampcombi_download.py b/bin/ampcombi_download.py index 6e9ee6ca..1287b1e1 100755 --- a/bin/ampcombi_download.py +++ b/bin/ampcombi_download.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 ######################################### -# Authors: [Anan Ibrahim](https://github.com/paleobiotechnology/AMPcombi), [Louisa Perelo](https://github.com/louperelo) +# Authors: [Anan Ibrahim](https://github.com/Darcy220606), [Louisa Perelo](https://github.com/louperelo) # File: amp_database.py # Source: https://github.com/paleobiotechnology/AMPcombi/blob/main/ampcombi/amp_database.py # This source code is licensed under the MIT license diff --git a/conf/modules.config b/conf/modules.config index c8a394a9..c1aa8fc0 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -625,7 +625,7 @@ process { "--amplify_file ${params.amp_ampcombi_parsetables_amplify}", "--macrel_file ${params.amp_ampcombi_parsetables_macrel}", "--hmmsearch_file ${params.amp_ampcombi_parsetables_hmmsearch}", - "--ampgram_file '.tsv' --amptransformer_file '.txt' --neubi_file '.fasta' --log TRUE", + "--ampgram_file '.tsv' --amptransformer_file '.txt' --neubi_file '.fasta' --log", "--hmm_evalue ${params.amp_ampcombi_parsetables_hmmevalue}", "--window_size_stop_codon ${params.amp_ampcombi_parsetables_windowstopcodon}", "--window_size_transporter ${params.amp_ampcombi_parsetables_windowtransport}", @@ -646,7 +646,7 @@ process { } }, ] - ext.args = "--log TRUE" + ext.args = "--log" } withName: AMPCOMBI2_CLUSTER { @@ -669,8 +669,9 @@ process { "--cluster_seq_id ${params.amp_ampcombi_cluster_seqid}", "--cluster_sensitivity ${params.amp_ampcombi_cluster_sensitivity}", "--cluster_min_member ${params.amp_ampcombi_cluster_minmembers}", - "--log TRUE", - params.amp_ampcombi_cluster_removesingletons ? '--cluster_remove_singletons' : '', + "--log", + params.amp_ampcombi_cluster_keepsingletons ? '--cluster_keep_singletons' : '', + ].join(' ').trim() } diff --git a/modules.json b/modules.json index 72952b97..4002c4b8 100644 --- a/modules.json +++ b/modules.json @@ -12,17 +12,17 @@ }, "ampcombi2/cluster": { "branch": "master", - "git_sha": "81880787133db07d9b4c1febd152c090eb8325dc", + "git_sha": "be790aafaa178554b403f862164eb27042f0b35a", "installed_by": ["modules"] }, "ampcombi2/complete": { "branch": "master", - "git_sha": "81880787133db07d9b4c1febd152c090eb8325dc", + "git_sha": "be790aafaa178554b403f862164eb27042f0b35a", "installed_by": ["modules"] }, "ampcombi2/parsetables": { "branch": "master", - "git_sha": "637c3e1796ab13d4c91f3030932598aed94a4f87", + "git_sha": "be790aafaa178554b403f862164eb27042f0b35a", "installed_by": ["modules"] }, "ampir": { diff --git a/modules/local/amp_database_download.nf b/modules/local/amp_database_download.nf index 8e2bc05a..2272e030 100644 --- a/modules/local/amp_database_download.nf +++ b/modules/local/amp_database_download.nf @@ -1,10 +1,10 @@ process AMP_DATABASE_DOWNLOAD { label 'process_single' - conda "bioconda::ampcombi=2.0.1" + conda "bioconda::ampcombi=3.0.0" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/ampcombi:2.0.1--pyhdfd78af_0': - 'biocontainers/ampcombi:2.0.1--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/ampcombi:3.0.0--pyhdfd78af_0': + 'biocontainers/ampcombi:3.0.0--pyhdfd78af_0' }" input: val database_id diff --git a/modules/nf-core/ampcombi2/cluster/environment.yml b/modules/nf-core/ampcombi2/cluster/environment.yml index e88b26ba..9be620c9 100644 --- a/modules/nf-core/ampcombi2/cluster/environment.yml +++ b/modules/nf-core/ampcombi2/cluster/environment.yml @@ -4,4 +4,4 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::ampcombi=2.0.1 + - bioconda::ampcombi=3.0.0 diff --git a/modules/nf-core/ampcombi2/cluster/main.nf b/modules/nf-core/ampcombi2/cluster/main.nf index 98a19a96..e65877a5 100644 --- a/modules/nf-core/ampcombi2/cluster/main.nf +++ b/modules/nf-core/ampcombi2/cluster/main.nf @@ -3,9 +3,9 @@ process AMPCOMBI2_CLUSTER { label 'process_medium' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/ampcombi:2.0.1--pyhdfd78af_0': - 'biocontainers/ampcombi:2.0.1--pyhdfd78af_0' }" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/ampcombi:3.0.0--pyhdfd78af_0': + 'quay.io/biocontainers/ampcombi:3.0.0--pyhdfd78af_0' }" input: path(summary_file) @@ -14,7 +14,7 @@ process AMPCOMBI2_CLUSTER { path("Ampcombi_summary_cluster.tsv") , emit: cluster_tsv path("Ampcombi_summary_cluster_representative_seq.tsv"), emit: rep_cluster_tsv path("Ampcombi_cluster.log") , emit: log, optional:true - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('ampcombi'), eval("ampcombi --version | sed 's/ampcombi //'"), emit: versions_ampcombi, topic: versions when: task.ext.when == null || task.ext.when @@ -24,25 +24,14 @@ process AMPCOMBI2_CLUSTER { """ ampcombi cluster \\ --ampcombi_summary ${summary_file} \\ - $args \\ + ${args} \\ --threads ${task.cpus} - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - ampcombi: \$(ampcombi --version | sed 's/ampcombi //') - END_VERSIONS """ stub: - def args = task.ext.args ?: '' """ touch Ampcombi_summary_cluster.tsv touch Ampcombi_summary_cluster_representative_seq.tsv touch Ampcombi_cluster.log - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - ampcombi: \$(ampcombi --version | sed 's/ampcombi //') - END_VERSIONS """ } diff --git a/modules/nf-core/ampcombi2/cluster/meta.yml b/modules/nf-core/ampcombi2/cluster/meta.yml index 2e37a0c2..c0ff3eab 100644 --- a/modules/nf-core/ampcombi2/cluster/meta.yml +++ b/modules/nf-core/ampcombi2/cluster/meta.yml @@ -14,45 +14,70 @@ tools: - ampcombi2/cluster: description: "A tool for clustering all AMP hits found across many samples and supporting many AMP prediction tools." - homepage: "https://github.com/Darcy220606/AMPcombi" - documentation: "https://github.com/Darcy220606/AMPcombi" - tool_dev_url: "https://github.com/Darcy220606/AMPcombi/tree/dev" + homepage: "https://github.com/paleobiotechnology/AMPcombi" + documentation: "https://ampcombi.readthedocs.io" + tool_dev_url: "https://github.com/paleobiotechnology/AMPcombi/tree/dev" licence: ["MIT"] identifier: "" input: - - - summary_file: + - summary_file: + type: file + description: A file corresponding to the Ampcombi_summary.tsv that is generated + by running 'ampcombi complete'. It is a file containing all the merged AMP results + from all samples and all tools. + pattern: "*.tsv" + ontologies: + - edam: "http://edamontology.org/format_3475" # TSV +output: + cluster_tsv: + - Ampcombi_summary_cluster.tsv: type: file - description: A file corresponding to the Ampcombi_summary.tsv that is generated - by running 'ampcombi complete'. It is a file containing all the merged AMP - results from all samples and all tools. + description: A file containing all the results from the merged input table 'Ampcombi_summary.tsv', + but also including the cluster id number. The clustering is done using MMseqs2 + cluster. pattern: "*.tsv" -output: - - cluster_tsv: - - Ampcombi_summary_cluster.tsv: - type: file - description: A file containing all the results from the merged input table 'Ampcombi_summary.tsv', - but also including the cluster id number. The clustering is done using MMseqs2 - cluster. - pattern: "*.tsv" - - rep_cluster_tsv: - - Ampcombi_summary_cluster_representative_seq.tsv: - type: file - description: A file containing the representative sequences of the clusters - estimated by the tool. The clustering is done using MMseqs2 cluster. - pattern: "*.tsv" - - log: - - Ampcombi_cluster.log: - type: file - description: A log file that captures the standard output for the entire process - in a log file. Can be activated by `--log`. - pattern: "*.log" - - versions: - - versions.yml: - type: file - description: File containing software versions - pattern: "versions.yml" + ontologies: + - edam: "http://edamontology.org/format_3475" # TSV + rep_cluster_tsv: + - Ampcombi_summary_cluster_representative_seq.tsv: + type: file + description: A file containing the representative sequences of the clusters + estimated by the tool. The clustering is done using MMseqs2 cluster. + pattern: "*.tsv" + ontologies: + - edam: "http://edamontology.org/format_3475" # TSV + log: + - Ampcombi_cluster.log: + type: file + description: A log file that captures the standard output for the entire process + in a log file. Can be activated by `--log`. + pattern: "*.log" + ontologies: + - edam: "http://edamontology.org/format_2330" # Log + versions_ampcombi: + - - ${task.process}: + type: string + description: The name of the process + - ampcombi: + type: string + description: The name of the tool + - ampcombi --version | sed 's/ampcombi //': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - ampcombi: + type: string + description: The name of the tool + - ampcombi --version | sed 's/ampcombi //': + type: eval + description: The expression to obtain the version of the tool authors: - "@darcy220606" maintainers: - "@darcy220606" + - "@jasmezz" diff --git a/modules/nf-core/ampcombi2/cluster/tests/main.nf.test b/modules/nf-core/ampcombi2/cluster/tests/main.nf.test index 49bee6cf..8c7b72c1 100644 --- a/modules/nf-core/ampcombi2/cluster/tests/main.nf.test +++ b/modules/nf-core/ampcombi2/cluster/tests/main.nf.test @@ -40,7 +40,7 @@ nextflow_process { { assert snapshot( file(process.out.cluster_tsv[0]).readLines()[0].contains("Linear/Cyclic/Branched"), file(process.out.rep_cluster_tsv[0]).readLines()[0].contains("total_cluster_members"), - process.out.versions).match() } + process.out.findAll { key, val -> key.startsWith("versions")}).match() } ) } } @@ -56,9 +56,9 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } diff --git a/modules/nf-core/ampcombi2/cluster/tests/main.nf.test.snap b/modules/nf-core/ampcombi2/cluster/tests/main.nf.test.snap index fd79a83b..7b785a01 100644 --- a/modules/nf-core/ampcombi2/cluster/tests/main.nf.test.snap +++ b/modules/nf-core/ampcombi2/cluster/tests/main.nf.test.snap @@ -3,31 +3,25 @@ "content": [ true, true, - [ - "versions.yml:md5,b629089d44775078dce5e664a455422b" - ] + { + "versions_ampcombi": [ + [ + "AMPCOMBI2_CLUSTER", + "ampcombi", + "3.0.0" + ] + ] + } ], + "timestamp": "2026-04-23T19:25:25.611433665", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.2" - }, - "timestamp": "2024-12-03T07:57:01.869983435" + "nf-test": "0.9.5", + "nextflow": "25.10.4" + } }, "ampcombi2_cluster - metagenome - stub": { "content": [ { - "0": [ - "Ampcombi_summary_cluster.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "1": [ - "Ampcombi_summary_cluster_representative_seq.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "2": [ - "Ampcombi_cluster.log:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "3": [ - "versions.yml:md5,b629089d44775078dce5e664a455422b" - ], "cluster_tsv": [ "Ampcombi_summary_cluster.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ], @@ -37,15 +31,19 @@ "rep_cluster_tsv": [ "Ampcombi_summary_cluster_representative_seq.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ], - "versions": [ - "versions.yml:md5,b629089d44775078dce5e664a455422b" + "versions_ampcombi": [ + [ + "AMPCOMBI2_CLUSTER", + "ampcombi", + "3.0.0" + ] ] } ], + "timestamp": "2026-04-23T19:25:56.951391865", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.2" - }, - "timestamp": "2024-12-03T07:57:23.939137628" + "nf-test": "0.9.5", + "nextflow": "25.10.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/ampcombi2/cluster/tests/tags.yml b/modules/nf-core/ampcombi2/cluster/tests/tags.yml deleted file mode 100644 index 783f4d52..00000000 --- a/modules/nf-core/ampcombi2/cluster/tests/tags.yml +++ /dev/null @@ -1,2 +0,0 @@ -ampcombi2/cluster: - - "modules/nf-core/ampcombi2/cluster/**" diff --git a/modules/nf-core/ampcombi2/complete/environment.yml b/modules/nf-core/ampcombi2/complete/environment.yml index e88b26ba..9be620c9 100644 --- a/modules/nf-core/ampcombi2/complete/environment.yml +++ b/modules/nf-core/ampcombi2/complete/environment.yml @@ -4,4 +4,4 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::ampcombi=2.0.1 + - bioconda::ampcombi=3.0.0 diff --git a/modules/nf-core/ampcombi2/complete/main.nf b/modules/nf-core/ampcombi2/complete/main.nf index 98f62347..bdb57a56 100644 --- a/modules/nf-core/ampcombi2/complete/main.nf +++ b/modules/nf-core/ampcombi2/complete/main.nf @@ -3,9 +3,9 @@ process AMPCOMBI2_COMPLETE { label 'process_single' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/ampcombi:2.0.1--pyhdfd78af_0': - 'biocontainers/ampcombi:2.0.1--pyhdfd78af_0' }" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/ampcombi:3.0.0--pyhdfd78af_0': + 'quay.io/biocontainers/ampcombi:3.0.0--pyhdfd78af_0' }" input: path(summaries) @@ -13,8 +13,7 @@ process AMPCOMBI2_COMPLETE { output: path("Ampcombi_summary.tsv") , emit: tsv path("Ampcombi_complete.log"), emit: log, optional:true - path "versions.yml" , emit: versions - + tuple val("${task.process}"), val('ampcombi'), eval("ampcombi --version | sed 's/ampcombi //'"), emit: versions_ampcombi, topic: versions when: task.ext.when == null || task.ext.when @@ -22,23 +21,12 @@ process AMPCOMBI2_COMPLETE { def args = task.ext.args ?: '' """ ampcombi complete \\ - --summaries_files '${summaries.collect{"$it"}.join("' '")}' \\ - $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - ampcombi: \$(ampcombi --version | sed 's/ampcombi //') - END_VERSIONS + --summaries_files '${summaries.collect{file_path -> "$file_path"}.join("' '")}' \\ + ${args} """ stub: - def args = task.ext.args ?: '' """ touch Ampcombi_summary.tsv - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - ampcombi: \$(ampcombi --version | sed 's/ampcombi //') - END_VERSIONS """ } diff --git a/modules/nf-core/ampcombi2/complete/meta.yml b/modules/nf-core/ampcombi2/complete/meta.yml index 13a7468b..0a2bc0cd 100644 --- a/modules/nf-core/ampcombi2/complete/meta.yml +++ b/modules/nf-core/ampcombi2/complete/meta.yml @@ -1,7 +1,6 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "ampcombi2_complete" -description: A submodule that merges all output summary tables from ampcombi/parsetables - in one summary file. +description: A submodule that merges all output summary tables from + ampcombi/parsetables in one summary file. keywords: - antimicrobial peptides - amps @@ -20,37 +19,59 @@ tools: - ampcombi2/complete: description: "This merges the per sample AMPcombi summaries generated by running 'ampcombi2/parsetables'." - homepage: "https://github.com/Darcy220606/AMPcombi" - documentation: "https://github.com/Darcy220606/AMPcombi" - tool_dev_url: "https://github.com/Darcy220606/AMPcombi/tree/dev" - licence: ["MIT"] + homepage: "https://github.com/paleobiotechnology/AMPcombi" + documentation: "https://ampcombi.readthedocs.io" + tool_dev_url: "https://github.com/paleobiotechnology/AMPcombi/tree/dev" + licence: + - "MIT" identifier: "" - input: - - - summaries: - type: list - description: The path to the list of files corresponding to each sample as generated - by ampcombi2/parsetables. - pattern: "[*_ampcombi.tsv, *_ampcombi.tsv]" + - summaries: + type: list + description: The path to the list of files corresponding to each sample as + generated by ampcombi2/parsetables. + pattern: "[*_ampcombi.tsv, *_ampcombi.tsv]" + ontologies: + - edam: "http://edamontology.org/format_3475" # TSV output: - - tsv: - - Ampcombi_summary.tsv: - type: file - description: A file containing the complete AMPcombi summaries from all processed - samples. - pattern: "*.tsv" - - log: - - Ampcombi_complete.log: - type: file - description: A log file that captures the standard output for the entire process - in a log file. Can be activated by `--log`. - pattern: "*.log" - - versions: - - versions.yml: - type: file - description: File containing software versions - pattern: "versions.yml" + tsv: + - Ampcombi_summary.tsv: + type: file + description: A file containing the complete AMPcombi summaries from all + processed samples. + pattern: "*.tsv" + ontologies: + - edam: "http://edamontology.org/format_3475" # TSV + log: + - Ampcombi_complete.log: + type: file + description: A log file that captures the standard output for the entire + process in a log file. Can be activated by `--log`. + pattern: "*.log" + ontologies: [] + versions_ampcombi: + - - ${task.process}: + type: string + description: The name of the process + - ampcombi: + type: string + description: The name of the tool + - "ampcombi --version | sed 's/ampcombi //'": + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - ampcombi: + type: string + description: The name of the tool + - "ampcombi --version | sed 's/ampcombi //'": + type: eval + description: The expression to obtain the version of the tool authors: - "@darcy220606" maintainers: - "@darcy220606" + - "@jasmezz" diff --git a/modules/nf-core/ampcombi2/complete/tests/main.nf.test b/modules/nf-core/ampcombi2/complete/tests/main.nf.test index 176d975f..feb43cac 100644 --- a/modules/nf-core/ampcombi2/complete/tests/main.nf.test +++ b/modules/nf-core/ampcombi2/complete/tests/main.nf.test @@ -27,7 +27,7 @@ nextflow_process { { assert process.success }, { assert snapshot( file(process.out.tsv[0]).readLines()[0].contains("ampir"), - process.out.versions).match() } + process.out.findAll { key, val -> key.startsWith('versions') }).match() } ) } } diff --git a/modules/nf-core/ampcombi2/complete/tests/main.nf.test.snap b/modules/nf-core/ampcombi2/complete/tests/main.nf.test.snap index 87435e5b..e39eac29 100644 --- a/modules/nf-core/ampcombi2/complete/tests/main.nf.test.snap +++ b/modules/nf-core/ampcombi2/complete/tests/main.nf.test.snap @@ -6,39 +6,53 @@ "Ampcombi_summary.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ], "1": [ - + ], "2": [ - "versions.yml:md5,bfba0046e0cfa7b0b6d79663823f94c0" + [ + "AMPCOMBI2_COMPLETE", + "ampcombi", + "3.0.0" + ] ], "log": [ - + ], "tsv": [ "Ampcombi_summary.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ], - "versions": [ - "versions.yml:md5,bfba0046e0cfa7b0b6d79663823f94c0" + "versions_ampcombi": [ + [ + "AMPCOMBI2_COMPLETE", + "ampcombi", + "3.0.0" + ] ] } ], + "timestamp": "2026-04-23T19:21:36.498124748", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.2" - }, - "timestamp": "2024-12-03T07:57:53.385349848" + "nf-test": "0.9.5", + "nextflow": "25.10.4" + } }, "ampcombi2_complete - contigs": { "content": [ true, - [ - "versions.yml:md5,bfba0046e0cfa7b0b6d79663823f94c0" - ] + { + "versions_ampcombi": [ + [ + "AMPCOMBI2_COMPLETE", + "ampcombi", + "3.0.0" + ] + ] + } ], + "timestamp": "2026-04-23T19:21:09.695756649", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.2" - }, - "timestamp": "2024-12-03T07:57:40.263912946" + "nf-test": "0.9.5", + "nextflow": "25.10.4" + } } -} +} \ No newline at end of file diff --git a/modules/nf-core/ampcombi2/complete/tests/tags.yml b/modules/nf-core/ampcombi2/complete/tests/tags.yml deleted file mode 100644 index f8ac5fee..00000000 --- a/modules/nf-core/ampcombi2/complete/tests/tags.yml +++ /dev/null @@ -1,2 +0,0 @@ -ampcombi2/complete: - - "modules/nf-core/ampcombi2/complete/**" diff --git a/modules/nf-core/ampcombi2/parsetables/environment.yml b/modules/nf-core/ampcombi2/parsetables/environment.yml index e88b26ba..9be620c9 100644 --- a/modules/nf-core/ampcombi2/parsetables/environment.yml +++ b/modules/nf-core/ampcombi2/parsetables/environment.yml @@ -4,4 +4,4 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::ampcombi=2.0.1 + - bioconda::ampcombi=3.0.0 diff --git a/modules/nf-core/ampcombi2/parsetables/main.nf b/modules/nf-core/ampcombi2/parsetables/main.nf index 088497f4..21b3c937 100644 --- a/modules/nf-core/ampcombi2/parsetables/main.nf +++ b/modules/nf-core/ampcombi2/parsetables/main.nf @@ -3,9 +3,9 @@ process AMPCOMBI2_PARSETABLES { label 'process_medium' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/ampcombi:2.0.1--pyhdfd78af_0': - 'biocontainers/ampcombi:2.0.1--pyhdfd78af_0' }" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/ampcombi:3.0.0--pyhdfd78af_0': + 'quay.io/biocontainers/ampcombi:3.0.0--pyhdfd78af_0' }" input: tuple val(meta), path(amp_input) @@ -16,31 +16,23 @@ process AMPCOMBI2_PARSETABLES { path opt_interproscan output: - tuple val(meta), path("${meta.id}/") , emit: sample_dir - tuple val(meta), path("${meta.id}/contig_gbks/") , emit: contig_gbks , optional:true - tuple val(meta), path("${meta.id}/${meta.id}_mmseqs_matches.tsv") , emit: db_tsv , optional:true - tuple val(meta), path("${meta.id}/${meta.id}_ampcombi.tsv") , emit: tsv , optional:true - tuple val(meta), path("${meta.id}/${meta.id}_amp.faa") , emit: faa , optional:true - tuple val(meta), path("${meta.id}/${meta.id}_ampcombi.log") , emit: sample_log , optional:true - tuple val(meta), path("Ampcombi_parse_tables.log") , emit: full_log , optional:true - tuple val(meta), path("amp_${opt_amp_db}_database/") , emit: db , optional:true - tuple val(meta), path("amp_${opt_amp_db}_database/*.txt") , emit: db_txt , optional:true - tuple val(meta), path("amp_${opt_amp_db}_database/*.fasta") , emit: db_fasta , optional:true - tuple val(meta), path("amp_${opt_amp_db}_database/mmseqs2/") , emit: db_mmseqs , optional:true - path "versions.yml" , emit: versions + tuple val(meta), path("${prefix}/") , emit: sample_dir + tuple val(meta), path("Ampcombi_parse_tables.log") , emit: full_log , optional:true + tuple val(meta), path("amp_${opt_amp_db}_database/") , emit: db , optional:true + tuple val("${task.process}"), val('ampcombi'), eval("ampcombi --version | sed 's/ampcombi //'"), emit: versions_ampcombi, topic: versions when: task.ext.when == null || task.ext.when script: - def args = task.ext.args ?: '' - def prefix = task.ext.prefix ?: "${meta.id}" - def db_dir = opt_amp_db_dir ? "--amp_database_dir ${opt_amp_db_dir}" : "" + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: "${meta.id}" + def db_dir = opt_amp_db_dir ? "--amp_database_dir ${opt_amp_db_dir}" : "" def interpro = opt_interproscan ? "--interproscan_output ${opt_interproscan}" : "" """ ampcombi parse_tables \\ - --path_list '${amp_input.collect { "${it}" }.join("' '")}' \\ + --path_list '${amp_input.collect { file_path -> "${file_path}" }.join("' '")}' \\ --faa ${faa_input} \\ --gbk ${gbk_input} \\ --sample_list ${prefix} \\ @@ -49,22 +41,12 @@ process AMPCOMBI2_PARSETABLES { ${interpro} \\ ${args} \\ --threads ${task.cpus} - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - ampcombi: \$(ampcombi --version | sed 's/ampcombi //') - END_VERSIONS """ stub: - def args = task.ext.args ?: '' - def prefix = task.ext.prefix ?: "${meta.id}" - def db_dir = opt_amp_db_dir ? "--amp_database_dir ${opt_amp_db_dir}" : "" - def interpro = opt_interproscan ? "--interproscan_output ${opt_interproscan}" : "" - + prefix = task.ext.prefix ?: "${meta.id}" """ mkdir -p ${prefix} - mkdir -p ${prefix}/contig_gbks touch ${prefix}/${meta.id}_mmseqs_matches.tsv touch ${prefix}/${meta.id}_ampcombi.tsv touch ${prefix}/${meta.id}_amp.faa @@ -83,10 +65,5 @@ process AMPCOMBI2_PARSETABLES { touch amp_${opt_amp_db}_database/mmseqs2/ref_DB.index touch amp_${opt_amp_db}_database/mmseqs2/ref_DB.lookup touch amp_${opt_amp_db}_database/mmseqs2/ref_DB.source - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - ampcombi: \$(ampcombi --version | sed 's/ampcombi //') - END_VERSIONS """ } diff --git a/modules/nf-core/ampcombi2/parsetables/meta.yml b/modules/nf-core/ampcombi2/parsetables/meta.yml index a8d1a4f7..2b1a2dfa 100644 --- a/modules/nf-core/ampcombi2/parsetables/meta.yml +++ b/modules/nf-core/ampcombi2/parsetables/meta.yml @@ -22,9 +22,9 @@ tools: - ampcombi2/parsetables: description: "A parsing tool to convert and summarise the outputs from multiple AMP detection tools in a standardized format." - homepage: "https://github.com/Darcy220606/AMPcombi" - documentation: "https://ampcombi.readthedocs.io/en/main/" - tool_dev_url: "https://github.com/Darcy220606/AMPcombi/tree/dev" + homepage: "https://github.com/paleobiotechnology/AMPcombi" + documentation: "https://ampcombi.readthedocs.io" + tool_dev_url: "https://github.com/paleobiotechnology/AMPcombi/tree/dev" licence: ["MIT"] identifier: "" @@ -40,101 +40,55 @@ input: for each processed sample or a list of files corresponding to each file generated by AMP tools. pattern: "[*amptool.tsv, *amptool.tsv]" - - - faa_input: - type: file - description: The path to the file corresponding to the respective protein fasta - files with '.faa' extension. File names have to contain the corresponding - sample name, i.e. sample_1.faa - pattern: "*.faa" - - - gbk_input: - type: file - description: The path to the file corresponding to the respective annotated - files with either '.gbk' or '.gbff' extensions. File names must contain the - corresponding sample name, i.e. sample_1.faa where "sample_1" is the sample - name. - pattern: "*.gbk" - - - opt_amp_db: - type: string - description: The name of the database to download and set up. This can either be 'DRAMP', 'APD' or 'UniRef100'. - pattern: "DRAMP|APD|UniRef100" - - - opt_amp_db_dir: - type: directory - description: The path to the folder containing the fasta and tsv database files. - pattern: "path/to/amp_*_database" - - - opt_interproscan: - type: directory - description: A path to a file corresponding to the respective tsv files containing protein classifications of the annotated CDSs. The file must be the raw output from InterProScan. - pattern: "*.tsv" + ontologies: + - edam: "http://edamontology.org/format_3475" # TSV + - faa_input: + type: file + description: The path to the file corresponding to the respective protein fasta + files with '.faa' extension. File names have to contain the corresponding sample + name, i.e. sample_1.faa + pattern: "*.faa" + ontologies: + - edam: "http://edamontology.org/format_1929" # FASTA + - gbk_input: + type: file + description: The path to the file corresponding to the respective annotated files + with either '.gbk' or '.gbff' extensions. File names must contain the corresponding + sample name, i.e. sample_1.faa where "sample_1" is the sample name. + pattern: "*.gbk" + ontologies: + - edam: "http://edamontology.org/format_1936" # GenBank + - opt_amp_db: + type: string + description: The name of the database to download and set up. This can either + be 'DRAMP', 'APD' or 'UniRef100'. + pattern: "DRAMP|APD|UniRef100" + - opt_amp_db_dir: + type: directory + description: The path to the folder containing the fasta and tsv database files. + pattern: "path/to/amp_*_database" + - opt_interproscan: + type: directory + description: A path to a file corresponding to the respective tsv files containing + protein classifications of the annotated CDSs. The file must be the raw output + from InterProScan. + pattern: "*.tsv" + ontologies: + - edam: "http://edamontology.org/format_3475" # TSV output: - - sample_dir: - - meta: + sample_dir: + - - meta: type: map description: | Groovy Map containing sample information e.g. `[ id:'sample1', single_end:false ]` - - ${meta.id}/: + - ${prefix}/: type: directory description: The output directory that contains the summary output and related alignment files for one sample. pattern: "/*" - - contig_gbks: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. `[ id:'sample1', single_end:false ]` - - ${meta.id}/contig_gbks/: - type: directory - description: The output subdirectory that contains the gbk files containing - the AMP hits for each sample. - pattern: "/*/contig_gbks" - - db_tsv: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. `[ id:'sample1', single_end:false ]` - - ${meta.id}/${meta.id}_mmseqs_matches.tsv: - type: file - description: An alignment file containing the results from the MMseqs2 alignment - step done on all AMP hits. - pattern: "/*/*_mmseqs_matches.tsv" - - tsv: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. `[ id:'sample1', single_end:false ]` - - ${meta.id}/${meta.id}_ampcombi.tsv: - type: file - description: A file containing the summary report of all predicted AMP hits - from all AMP tools given as input, the corresponding taxonomic and functional - classification from the alignment step and the estimated physiochemical properties. - pattern: "/*/*_ampcombi.tsv" - - faa: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. `[ id:'sample1', single_end:false ]` - - ${meta.id}/${meta.id}_amp.faa: - type: file - description: A fasta file containing the amino acid sequences of all predicted - AMP hits. - pattern: "/*/*_amp.faa" - - sample_log: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. `[ id:'sample1', single_end:false ]` - - ${meta.id}/${meta.id}_ampcombi.log: - type: file - description: A log file that captures the standard output per sample in a log - file. Can be activated by `--log`. - pattern: "/*/*.log" - - full_log: - - meta: + full_log: + - - meta: type: map description: | Groovy Map containing sample information @@ -144,56 +98,42 @@ output: description: A log file that captures the standard output for the entire process in a log file. Can be activated by `--log`. pattern: "Ampcombi_parse_tables.log" - - db: - - meta: + ontologies: [] + db: + - - meta: type: map description: | Groovy Map containing sample information e.g. `[ id:'sample1', single_end:false ]` - amp_${opt_amp_db}_database/: type: directory - description: If the AMP reference database ID is not provided by the user using - the flag `--amp_database', by default the DRAMP database will be downloaded, + description: If the AMP reference database ID is not provided by the user + using the flag `--amp_database', by default the DRAMP database will be downloaded, filtered and stored in this folder. pattern: "/amp_*_database" - - db_txt: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. `[ id:'sample1', single_end:false ]` - - amp_${opt_amp_db}_database/*.txt: - type: file - description: AMP reference database in tsv-format with two columns containing - header and sequence. - pattern: "/amp_*_database/*.txt" - - db_fasta: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. `[ id:'sample1', single_end:false ]` - - amp_${opt_amp_db}_database/*.fasta: - type: file - description: AMP reference database fasta file in clean format. - pattern: "/amp_*_database/*.fasta" - - db_mmseqs: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. `[ id:'sample1', single_end:false ]` - - amp_${opt_amp_db}_database/mmseqs2/: - type: directory - description: As alignment to the reference database is carried out by MMseqs2, this directory - contains all the files generated by MMseqs2 on the fasta file of the database. - pattern: "/amp_*_database/mmseqs2" - - versions: - - versions.yml: - type: file - description: File containing software versions - pattern: "versions.yml" + versions_ampcombi: + - - ${task.process}: + type: string + description: The name of the process + - ampcombi: + type: string + description: The name of the tool + - ampcombi --version | sed 's/ampcombi //': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - ampcombi: + type: string + description: The name of the tool + - ampcombi --version | sed 's/ampcombi //': + type: eval + description: The expression to obtain the version of the tool authors: - "@darcy220606" maintainers: - "@darcy220606" + - "@jasmezz" diff --git a/modules/nf-core/ampcombi2/parsetables/tests/main.nf.test b/modules/nf-core/ampcombi2/parsetables/tests/main.nf.test index 272d31e6..8dcd38f1 100644 --- a/modules/nf-core/ampcombi2/parsetables/tests/main.nf.test +++ b/modules/nf-core/ampcombi2/parsetables/tests/main.nf.test @@ -39,17 +39,9 @@ nextflow_process { assertAll( { assert process.success }, { assert snapshot(process.out.sample_dir.collect { file(it[1]).getName() } + - process.out.contig_gbks.collect { file(it[1]).getName() } + - process.out.db_tsv.collect { file(it[1]).readLines()[0] } + - process.out.tsv.collect { file(it[1]).readLines()[0] } + - process.out.faa.collect { file(it[1]).readLines()[0] } + process.out.full_log.collect { file(it[1]).readLines().contains("File downloaded successfully") } + - process.out.sample_log.collect { file(it[1]).readLines().contains("found ampir file") } + process.out.db.collect { file(it[1]).getName() } + - process.out.db_txt.collect { file(it[1]).readLines()[0] } + - process.out.db_fasta.collect { file(it[1]).readLines()[0] } + - process.out.db_mmseqs.collect { file(it[1]).getName() } + - process.out.versions ).match() } + process.out.findAll { key, val -> key.startsWith('versions') } ).match() } ) } } diff --git a/modules/nf-core/ampcombi2/parsetables/tests/main.nf.test.snap b/modules/nf-core/ampcombi2/parsetables/tests/main.nf.test.snap index 47102283..a59b3185 100644 --- a/modules/nf-core/ampcombi2/parsetables/tests/main.nf.test.snap +++ b/modules/nf-core/ampcombi2/parsetables/tests/main.nf.test.snap @@ -3,24 +3,24 @@ "content": [ [ "sample_1", - "contig_gbks", - null, - "sample_id\tCDS_id\tprob_ampir\tprob_amplify\taa_sequence\tmolecular_weight\thelix_fraction\tturn_fraction\tsheet_fraction\tisoelectric_point\thydrophobicity\ttransporter_protein\tcontig_id\tCDS_start\tCDS_end\tCDS_dir\tCDS_stop_codon_found", - ">BAONEE_00005", false, - true, "amp_DRAMP_database", - "DRAMP_ID\tSequence\tSequence_Length\tName\tSwiss_Prot_Entry\tFamily\tGene\tSource\tActivity\tProtein_existence\tStructure\tStructure_Description\tPDB_ID\tComments\tTarget_Organism\tHemolytic_activity\tLinear/Cyclic/Branched\tN-terminal_Modification\tC-terminal_Modification\tOther_Modifications\tStereochemistry\tCytotoxicity\tBinding_Traget\tPubmed_ID\tReference\tAuthor\tTitle", - ">DRAMP00005", - "mmseqs2", - "versions.yml:md5,09f086e07825d96816d792d73eee90ca" + { + "versions_ampcombi": [ + [ + "AMPCOMBI2_PARSETABLES", + "ampcombi", + "3.0.0" + ] + ] + } ] ], + "timestamp": "2026-04-23T19:09:35.917379447", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.2" - }, - "timestamp": "2024-12-11T13:58:57.988191067" + "nf-test": "0.9.5", + "nextflow": "25.10.4" + } }, "ampcombi2_parsetables - metagenome - stub": { "content": [ @@ -31,9 +31,6 @@ "id": "sample_1" }, [ - [ - - ], "sample_1_amp.faa:md5,d41d8cd98f00b204e9800998ecf8427e", "sample_1_ampcombi.log:md5,d41d8cd98f00b204e9800998ecf8427e", "sample_1_ampcombi.tsv:md5,d41d8cd98f00b204e9800998ecf8427e", @@ -42,68 +39,6 @@ ] ], "1": [ - [ - { - "id": "sample_1" - }, - [ - - ] - ] - ], - "10": [ - [ - { - "id": "sample_1" - }, - [ - "ref_DB:md5,d41d8cd98f00b204e9800998ecf8427e", - "ref_DB.dbtype:md5,d41d8cd98f00b204e9800998ecf8427e", - "ref_DB.index:md5,d41d8cd98f00b204e9800998ecf8427e", - "ref_DB.lookup:md5,d41d8cd98f00b204e9800998ecf8427e", - "ref_DB.source:md5,d41d8cd98f00b204e9800998ecf8427e", - "ref_DB_h:md5,d41d8cd98f00b204e9800998ecf8427e", - "ref_DB_h.dbtype:md5,d41d8cd98f00b204e9800998ecf8427e", - "ref_DB_h.index:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ] - ], - "11": [ - "versions.yml:md5,09f086e07825d96816d792d73eee90ca" - ], - "2": [ - [ - { - "id": "sample_1" - }, - "sample_1_mmseqs_matches.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "3": [ - [ - { - "id": "sample_1" - }, - "sample_1_ampcombi.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "4": [ - [ - { - "id": "sample_1" - }, - "sample_1_amp.faa:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "5": [ - [ - { - "id": "sample_1" - }, - "sample_1_ampcombi.log:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "6": [ [ { "id": "sample_1" @@ -111,7 +46,7 @@ "Ampcombi_parse_tables.log:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "7": [ + "2": [ [ { "id": "sample_1" @@ -132,30 +67,11 @@ ] ] ], - "8": [ - [ - { - "id": "sample_1" - }, - "*.txt:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "9": [ - [ - { - "id": "sample_1" - }, - "*.fasta:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "contig_gbks": [ + "3": [ [ - { - "id": "sample_1" - }, - [ - - ] + "AMPCOMBI2_PARSETABLES", + "ampcombi", + "3.0.0" ] ], "db": [ @@ -179,55 +95,6 @@ ] ] ], - "db_fasta": [ - [ - { - "id": "sample_1" - }, - "*.fasta:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "db_mmseqs": [ - [ - { - "id": "sample_1" - }, - [ - "ref_DB:md5,d41d8cd98f00b204e9800998ecf8427e", - "ref_DB.dbtype:md5,d41d8cd98f00b204e9800998ecf8427e", - "ref_DB.index:md5,d41d8cd98f00b204e9800998ecf8427e", - "ref_DB.lookup:md5,d41d8cd98f00b204e9800998ecf8427e", - "ref_DB.source:md5,d41d8cd98f00b204e9800998ecf8427e", - "ref_DB_h:md5,d41d8cd98f00b204e9800998ecf8427e", - "ref_DB_h.dbtype:md5,d41d8cd98f00b204e9800998ecf8427e", - "ref_DB_h.index:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ] - ], - "db_tsv": [ - [ - { - "id": "sample_1" - }, - "sample_1_mmseqs_matches.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "db_txt": [ - [ - { - "id": "sample_1" - }, - "*.txt:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "faa": [ - [ - { - "id": "sample_1" - }, - "sample_1_amp.faa:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], "full_log": [ [ { @@ -242,9 +109,6 @@ "id": "sample_1" }, [ - [ - - ], "sample_1_amp.faa:md5,d41d8cd98f00b204e9800998ecf8427e", "sample_1_ampcombi.log:md5,d41d8cd98f00b204e9800998ecf8427e", "sample_1_ampcombi.tsv:md5,d41d8cd98f00b204e9800998ecf8427e", @@ -252,31 +116,19 @@ ] ] ], - "sample_log": [ + "versions_ampcombi": [ [ - { - "id": "sample_1" - }, - "sample_1_ampcombi.log:md5,d41d8cd98f00b204e9800998ecf8427e" + "AMPCOMBI2_PARSETABLES", + "ampcombi", + "3.0.0" ] - ], - "tsv": [ - [ - { - "id": "sample_1" - }, - "sample_1_ampcombi.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "versions": [ - "versions.yml:md5,09f086e07825d96816d792d73eee90ca" ] } ], + "timestamp": "2026-04-23T19:17:18.712188072", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.2" - }, - "timestamp": "2024-12-05T13:03:22.741430379" + "nf-test": "0.9.5", + "nextflow": "25.10.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/ampcombi2/parsetables/tests/nextflow.config b/modules/nf-core/ampcombi2/parsetables/tests/nextflow.config index 75396b7d..7bfbbf3c 100644 --- a/modules/nf-core/ampcombi2/parsetables/tests/nextflow.config +++ b/modules/nf-core/ampcombi2/parsetables/tests/nextflow.config @@ -12,7 +12,7 @@ process { "--hmmsearch_file 'candidates.txt'", "--ampgram_file '.tsv'", "--amptransformer_file '.txt'", - "--log true", + "--log", "--interproscan_filter 'nonsense'" ].join(' ') diff --git a/modules/nf-core/ampcombi2/parsetables/tests/tags.yml b/modules/nf-core/ampcombi2/parsetables/tests/tags.yml deleted file mode 100644 index b56b0468..00000000 --- a/modules/nf-core/ampcombi2/parsetables/tests/tags.yml +++ /dev/null @@ -1,2 +0,0 @@ -ampcombi2/parsetables: - - "modules/nf-core/ampcombi2/parsetables/**" diff --git a/nextflow.config b/nextflow.config index e59e3afa..04e4207a 100644 --- a/nextflow.config +++ b/nextflow.config @@ -158,7 +158,7 @@ params { amp_ampcombi_cluster_coverage = 0.8 amp_ampcombi_cluster_seqid = 0.4 amp_ampcombi_cluster_sensitivity = 4.0 - amp_ampcombi_cluster_removesingletons = false + amp_ampcombi_cluster_keepsingletons = false amp_ampcombi_cluster_minmembers = 0 // ARG options diff --git a/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf b/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf index ea48c2f8..a171eece 100644 --- a/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf +++ b/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf @@ -271,7 +271,7 @@ def toolBibliographyText() { !params.amp_skip_amplify ? '