diff --git a/CHANGELOG.md b/CHANGELOG.md index 0be11a30..bb84ab8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 4.0.2](https://github.com/nf-core/tools/releases/tag/4.0.2). - [[#519] (https://github.com/nf-core/chipseq/issues/519)] - Changed merged libraries suffix to `.mLb.`. - [[#456] (https://github.com/nf-core/chipseq/issues/456)] - Use `--skip_preseq` by default. +- [[#530] (https://github.com/nf-core/chipseq/issues/456)] - Update `hommer/annotatepeaks` to topic channels. - [[#531] (https://github.com/nf-core/chipseq/issues/531)] - Changed chromap decompression - untarfiles (depreciated) to untar modules ### Parameters diff --git a/modules.json b/modules.json index d99831a9..05be3347 100644 --- a/modules.json +++ b/modules.json @@ -78,7 +78,7 @@ }, "homer/annotatepeaks": { "branch": "master", - "git_sha": "e753770db613ce014b3c4bc94f6cba443427b726", + "git_sha": "9ed7f157dd96f83b852da7ea4d3a217907f50f36", "installed_by": ["modules"] }, "khmer/uniquekmers": { diff --git a/modules/nf-core/homer/annotatepeaks/main.nf b/modules/nf-core/homer/annotatepeaks/main.nf index 053d09d6..71f6c708 100644 --- a/modules/nf-core/homer/annotatepeaks/main.nf +++ b/modules/nf-core/homer/annotatepeaks/main.nf @@ -2,7 +2,7 @@ process HOMER_ANNOTATEPEAKS { tag "${meta.id}" label 'process_medium' conda "${moduleDir}/environment.yml" - container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/0f/0fe4a3875b78dce3c66b43fb96489769cc32e55e329e2525d2af09096af2252a/data' : 'community.wave.seqera.io/library/bioconductor-deseq2_bioconductor-edger_homer_samtools_pruned:a8f4c58755bb281b'}" @@ -14,7 +14,8 @@ process HOMER_ANNOTATEPEAKS { output: tuple val(meta), path("*annotatePeaks.txt"), emit: txt tuple val(meta), path("*annStats.txt"), emit: stats, optional: true - path "versions.yml", emit: versions + // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. + tuple val("${task.process}"), val('homer'), val("4.11"), emit: versions_homer, topic: versions when: task.ext.when == null || task.ext.when @@ -22,8 +23,6 @@ process HOMER_ANNOTATEPEAKS { script: def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" - def VERSION = '4.11' - // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. """ annotatePeaks.pl \\ ${peak} \\ @@ -32,23 +31,11 @@ process HOMER_ANNOTATEPEAKS { -gtf ${gtf} \\ -cpu ${task.cpus} \\ > ${prefix}.annotatePeaks.txt - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - homer: ${VERSION} - END_VERSIONS """ stub: def prefix = task.ext.prefix ?: "${meta.id}" - def VERSION = '4.11' - // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. """ touch ${prefix}.annotatePeaks.txt - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - homer: ${VERSION} - END_VERSIONS """ } diff --git a/modules/nf-core/homer/annotatepeaks/meta.yml b/modules/nf-core/homer/annotatepeaks/meta.yml index a4058452..31e74eab 100644 --- a/modules/nf-core/homer/annotatepeaks/meta.yml +++ b/modules/nf-core/homer/annotatepeaks/meta.yml @@ -10,7 +10,8 @@ tools: HOMER (Hypergeometric Optimization of Motif EnRichment) is a suite of tools for Motif Discovery and next-gen sequencing analysis. documentation: http://homer.ucsd.edu/homer/ doi: 10.1016/j.molcel.2010.05.004. - licence: ["GPL-3.0-or-later"] + licence: + - "GPL-3.0-or-later" identifier: biotools:homer input: - - meta: @@ -55,13 +56,27 @@ output: description: Annotation statistics in txt file pattern: "*annStats.txt" ontologies: [] + versions_homer: + - - ${task.process}: + type: string + description: The name of the process + - homer: + type: string + description: The name of the tool + - "4.11": + type: string + description: The expression to obtain the version of the tool +topics: versions: - - versions.yml: - type: file - description: File containing software versions - pattern: "versions.yml" - ontologies: - - edam: http://edamontology.org/format_3750 # YAML + - - ${task.process}: + type: string + description: The name of the process + - homer: + type: string + description: The name of the tool + - "4.11": + type: string + description: The expression to obtain the version of the tool authors: - "@drpatelh" - "@kevinmenden" diff --git a/modules/nf-core/homer/annotatepeaks/tests/main.nf.test b/modules/nf-core/homer/annotatepeaks/tests/main.nf.test index 7c66ef9d..6619ed3a 100644 --- a/modules/nf-core/homer/annotatepeaks/tests/main.nf.test +++ b/modules/nf-core/homer/annotatepeaks/tests/main.nf.test @@ -30,12 +30,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot( - file(process.out.txt[0][1]).name, // unstable - process.out.stats, - process.out.versions - ).match() - } + { assert snapshot(sanitizeOutput(process.out, unstableKeys:["txt"])).match()} ) } } @@ -60,7 +55,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match("stub") } + { assert snapshot(sanitizeOutput(process.out)).match()} ) } } diff --git a/modules/nf-core/homer/annotatepeaks/tests/main.nf.test.snap b/modules/nf-core/homer/annotatepeaks/tests/main.nf.test.snap index f16b76ba..ec396747 100644 --- a/modules/nf-core/homer/annotatepeaks/tests/main.nf.test.snap +++ b/modules/nf-core/homer/annotatepeaks/tests/main.nf.test.snap @@ -1,42 +1,41 @@ { "test-homer-annotatepeaks": { - "content": [ - "test.annotatePeaks.txt", - [ - [ - { - "id": "test" - }, - "test.annStats.txt:md5,eba336bce28fb5ec5d4ea3215b502dc5" - ] - ], - [ - "versions.yml:md5,d109521b6e43672cf246fd269b3833c8" - ] - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" - }, - "timestamp": "2024-09-05T21:28:26.487711" - }, - "stub": { "content": [ { - "0": [ + "stats": [ [ { "id": "test" }, - "test.annotatePeaks.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.annStats.txt:md5,eba336bce28fb5ec5d4ea3215b502dc5" ] ], - "1": [ - - ], - "2": [ - "versions.yml:md5,d109521b6e43672cf246fd269b3833c8" + "txt": [ + [ + { + "id": "test" + }, + "test.annotatePeaks.txt" + ] ], + "versions_homer": [ + [ + "HOMER_ANNOTATEPEAKS", + "homer", + "4.11" + ] + ] + } + ], + "timestamp": "2026-05-22T08:26:40.525503224", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "test-homer-annotatepeaks-stub": { + "content": [ + { "stats": [ ], @@ -48,15 +47,19 @@ "test.annotatePeaks.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,d109521b6e43672cf246fd269b3833c8" + "versions_homer": [ + [ + "HOMER_ANNOTATEPEAKS", + "homer", + "4.11" + ] ] } ], + "timestamp": "2026-05-22T08:26:51.670938012", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.1" - }, - "timestamp": "2024-11-23T14:37:35.102823" + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } } } \ No newline at end of file diff --git a/subworkflows/local/bam_peaks_call_qc_annotate_macs3_homer/main.nf b/subworkflows/local/bam_peaks_call_qc_annotate_macs3_homer/main.nf index e2f56948..e7625c50 100644 --- a/subworkflows/local/bam_peaks_call_qc_annotate_macs3_homer/main.nf +++ b/subworkflows/local/bam_peaks_call_qc_annotate_macs3_homer/main.nf @@ -26,8 +26,6 @@ workflow BAM_PEAKS_CALL_QC_ANNOTATE_MACS3_HOMER { main: - ch_versions = channel.empty() - // // Call peaks with MACS3 // @@ -98,7 +96,6 @@ workflow BAM_PEAKS_CALL_QC_ANNOTATE_MACS3_HOMER { ch_gtf ) ch_homer_annotatepeaks = HOMER_ANNOTATEPEAKS.out.txt - ch_versions = ch_versions.mix(HOMER_ANNOTATEPEAKS.out.versions.first()) if (!skip_peak_qc) { // diff --git a/subworkflows/local/bed_consensus_quantify_qc_bedtools_featurecounts_deseq2/main.nf b/subworkflows/local/bed_consensus_quantify_qc_bedtools_featurecounts_deseq2/main.nf index e07ceb3b..5409b581 100644 --- a/subworkflows/local/bed_consensus_quantify_qc_bedtools_featurecounts_deseq2/main.nf +++ b/subworkflows/local/bed_consensus_quantify_qc_bedtools_featurecounts_deseq2/main.nf @@ -23,8 +23,6 @@ workflow BED_CONSENSUS_QUANTIFY_QC_BEDTOOLS_FEATURECOUNTS_DESEQ2 { main: - ch_versions = channel.empty() - // Create channels: [ meta , [ peaks ] ] // Where meta = [ id:antibody, multiple_groups:true/false, replicates_exist:true/false ] ch_peaks diff --git a/tests/bowtie2.nf.test.snap b/tests/bowtie2.nf.test.snap index a84ebb28..0de0c7a6 100644 --- a/tests/bowtie2.nf.test.snap +++ b/tests/bowtie2.nf.test.snap @@ -53,6 +53,9 @@ "GTF2BED": { "perl": "5.26.2" }, + "HOMER_ANNOTATEPEAKS": { + "homer": 4.11 + }, "IGV": { "python": "3.12.12" }, @@ -948,9 +951,10 @@ ], "timestamp": "2026-07-21T12:38:39.799024", "meta": { - "nf-test": "0.9.5", - "nextflow": "26.04.0" - } + "nf-test": "0.9.3", + "nextflow": "26.04.1" + }, + "timestamp": "2026-07-15T22:14:42.929516361" }, "bowtie2 with stub": { "content": [ diff --git a/tests/chromap.nf.test.snap b/tests/chromap.nf.test.snap index 7e85ec16..62ed818b 100644 --- a/tests/chromap.nf.test.snap +++ b/tests/chromap.nf.test.snap @@ -49,6 +49,9 @@ "GTF2BED": { "perl": "5.26.2" }, + "HOMER_ANNOTATEPEAKS": { + "homer": 4.11 + }, "IGV": { "python": "3.12.12" }, @@ -953,9 +956,10 @@ ], "timestamp": "2026-07-21T12:49:50.568622", "meta": { - "nf-test": "0.9.5", - "nextflow": "26.04.0" - } + "nf-test": "0.9.3", + "nextflow": "26.04.1" + }, + "timestamp": "2026-07-15T22:31:46.117520522" }, "chromap with stub": { "content": [ diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap index ab8d3b70..bfbcda8f 100644 --- a/tests/default.nf.test.snap +++ b/tests/default.nf.test.snap @@ -52,6 +52,9 @@ "GTF2BED": { "perl": "5.26.2" }, + "HOMER_ANNOTATEPEAKS": { + "homer": 4.11 + }, "IGV": { "python": "3.12.12" }, @@ -947,8 +950,9 @@ ], "timestamp": "2026-07-21T13:00:00.044632", "meta": { - "nf-test": "0.9.5", - "nextflow": "26.04.0" - } + "nf-test": "0.9.3", + "nextflow": "26.04.1" + }, + "timestamp": "2026-07-15T22:47:34.878161789" } } \ No newline at end of file diff --git a/tests/skip_consensus_peaks.nf.test.snap b/tests/skip_consensus_peaks.nf.test.snap index fca42d7c..e9faad44 100644 --- a/tests/skip_consensus_peaks.nf.test.snap +++ b/tests/skip_consensus_peaks.nf.test.snap @@ -55,6 +55,9 @@ "GTF2BED": { "perl": "5.26.2" }, + "HOMER_ANNOTATEPEAKS": { + "homer": 4.11 + }, "IGV": { "python": "3.12.12" }, @@ -888,8 +891,9 @@ ], "timestamp": "2026-07-21T13:09:28.447257", "meta": { - "nf-test": "0.9.5", - "nextflow": "26.04.0" - } + "nf-test": "0.9.3", + "nextflow": "26.04.1" + }, + "timestamp": "2026-07-15T23:01:54.394780524" } } \ No newline at end of file diff --git a/tests/skip_trimming.nf.test.snap b/tests/skip_trimming.nf.test.snap index b8dd4697..9daa2e88 100644 --- a/tests/skip_trimming.nf.test.snap +++ b/tests/skip_trimming.nf.test.snap @@ -52,6 +52,9 @@ "GTF2BED": { "perl": "5.26.2" }, + "HOMER_ANNOTATEPEAKS": { + "homer": 4.11 + }, "IGV": { "python": "3.12.12" }, @@ -825,9 +828,10 @@ ], "timestamp": "2026-07-21T13:19:06.842802", "meta": { - "nf-test": "0.9.5", - "nextflow": "26.04.0" - } + "nf-test": "0.9.3", + "nextflow": "26.04.1" + }, + "timestamp": "2026-07-15T23:17:15.190122205" }, "skip_trimming with stub": { "content": [ diff --git a/tests/star.nf.test.snap b/tests/star.nf.test.snap index 2fc7272b..c80f570f 100644 --- a/tests/star.nf.test.snap +++ b/tests/star.nf.test.snap @@ -45,6 +45,9 @@ "GTF2BED": { "perl": "5.26.2" }, + "HOMER_ANNOTATEPEAKS": { + "homer": 4.11 + }, "IGV": { "python": "3.12.12" }, @@ -979,9 +982,10 @@ ], "timestamp": "2026-07-21T13:32:52.982946", "meta": { - "nf-test": "0.9.5", - "nextflow": "26.04.0" - } + "nf-test": "0.9.3", + "nextflow": "26.04.1" + }, + "timestamp": "2026-07-16T10:41:11.175438003" }, "star with stub": { "content": [ @@ -991,6 +995,7 @@ "meta": { "nf-test": "0.9.5", "nextflow": "26.04.0" - } + }, + "timestamp": "2026-07-15T12:28:44.226288" } } \ No newline at end of file