From a0ef572481cd1f22af2fd98b93549ae75e01ebc4 Mon Sep 17 00:00:00 2001 From: sahuno Date: Thu, 23 Apr 2026 22:05:53 -0400 Subject: [PATCH 1/4] feat: add modkit/extract/calls module Add new nf-core module wrapping `modkit extract calls`, which emits a per-read per-position table of base modification calls using the same pass/fail thresholding as `modkit pileup`. Complementary to `modkit/extract/full` (raw probabilities): this module emits the thresholded categorical decisions. Useful for per-read downstream analysis such as allele-specific methylation and methylation-aware phasing. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../modkit/extract/calls/environment.yml | 7 ++ modules/nf-core/modkit/extract/calls/main.nf | 45 +++++++ modules/nf-core/modkit/extract/calls/meta.yml | 115 ++++++++++++++++++ .../modkit/extract/calls/tests/main.nf.test | 72 +++++++++++ .../extract/calls/tests/main.nf.test.snap | 96 +++++++++++++++ .../extract/calls/tests/nextflow.config | 5 + 6 files changed, 340 insertions(+) create mode 100644 modules/nf-core/modkit/extract/calls/environment.yml create mode 100644 modules/nf-core/modkit/extract/calls/main.nf create mode 100644 modules/nf-core/modkit/extract/calls/meta.yml create mode 100644 modules/nf-core/modkit/extract/calls/tests/main.nf.test create mode 100644 modules/nf-core/modkit/extract/calls/tests/main.nf.test.snap create mode 100644 modules/nf-core/modkit/extract/calls/tests/nextflow.config diff --git a/modules/nf-core/modkit/extract/calls/environment.yml b/modules/nf-core/modkit/extract/calls/environment.yml new file mode 100644 index 000000000000..dac7b506e89f --- /dev/null +++ b/modules/nf-core/modkit/extract/calls/environment.yml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - "bioconda::ont-modkit=0.6.1" diff --git a/modules/nf-core/modkit/extract/calls/main.nf b/modules/nf-core/modkit/extract/calls/main.nf new file mode 100644 index 000000000000..1539d827f197 --- /dev/null +++ b/modules/nf-core/modkit/extract/calls/main.nf @@ -0,0 +1,45 @@ +process MODKIT_EXTRACT_CALLS { + tag "$meta.id" + label 'process_high' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/ont-modkit:0.6.1--hcdda2d0_0': + 'quay.io/biocontainers/ont-modkit:0.6.1--hcdda2d0_0' }" + + input: + tuple val(meta), path(bam), path(bai) + tuple val(meta2), path(fasta), path(fai) + + output: + tuple val(meta), path("*.tsv{,.gz}"), emit: tsv + tuple val(meta), path("*.log") , emit: log, optional: true + tuple val("${task.process}"), val('modkit'), eval("modkit --version | sed 's/modkit //'"), emit: versions_modkit, topic: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def reference = fasta ? "--reference ${fasta}" : '' + def out_suffix = args.tokenize().contains('--bgzf') ? 'tsv.gz' : 'tsv' + """ + modkit \\ + extract \\ + calls \\ + $args \\ + --threads ${task.cpus} \\ + ${reference} \\ + ${bam} \\ + ${prefix}.${out_suffix} + """ + + stub: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def out_suffix = args.tokenize().contains('--bgzf') ? 'tsv.gz' : 'tsv' + """ + touch ${prefix}.${out_suffix} + """ +} diff --git a/modules/nf-core/modkit/extract/calls/meta.yml b/modules/nf-core/modkit/extract/calls/meta.yml new file mode 100644 index 000000000000..7b86e4d56c0f --- /dev/null +++ b/modules/nf-core/modkit/extract/calls/meta.yml @@ -0,0 +1,115 @@ +name: modkit_extract_calls +description: | + Produce a per-read per-position table of base modification **calls** + (pass/fail/filtered, with the called base) from a modBAM using the same + thresholding algorithm as `modkit pileup`. Complementary to `modkit + extract full`, which emits raw probabilities: `extract calls` emits the + thresholded categorical decision per site per read. +keywords: + - modkit + - methylation + - extract + - calls + - read-level + - modbam + - nanopore + - ont +tools: + - "modkit": + description: A bioinformatics tool for working with modified bases in Oxford Nanopore + sequencing data. + homepage: https://github.com/nanoporetech/modkit + documentation: https://nanoporetech.github.io/modkit/ + tool_dev_url: https://github.com/nanoporetech/modkit + licence: + - "Oxford Nanopore Technologies PLC. Public License Version 1.0" + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'sample1' ]`. The output inherits this meta. + - bam: + type: file + description: Input modBAM with MM/ML tags. + pattern: "*.{bam,cram}" + ontologies: + - edam: http://edamontology.org/format_2572 + - bai: + type: file + description: BAM index (`.bai` or `.csi`). + pattern: "*.{bai,csi}" + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. `[ id:'mm10' ]`. May be `[[], [], []]` to skip — reference + context columns will then be "." in the output. + - fasta: + type: file + description: Optional reference FASTA. Required only to populate reference-context + columns in the output. + pattern: "*.{fa,fasta,fna}" + ontologies: + - edam: http://edamontology.org/format_1929 + - fai: + type: file + description: Samtools FASTA index for `fasta`. + pattern: "*.fai" + ontologies: + - edam: http://edamontology.org/format_3475 +output: + tsv: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'sample1' ]`. + - "*.tsv{,.gz}": + type: file + description: | + Per-read per-position call table. BGZF-compressed when `--bgzf` + is passed via `ext.args`. + pattern: "*.{tsv,tsv.gz}" + ontologies: + - edam: http://edamontology.org/format_3475 + log: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'sample1' ]`. + - "*.log": + type: file + description: | + Optional modkit debug log (only emitted when `--log-filepath + .log` is passed via `ext.args`). + pattern: "*.log" + ontologies: [] + versions_modkit: + - - ${task.process}: + type: string + description: The name of the process + - modkit: + type: string + description: The name of the tool + - modkit --version | sed 's/modkit //': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - modkit: + type: string + description: The name of the tool + - modkit --version | sed 's/modkit //': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@sahuno" +maintainers: + - "@sahuno" diff --git a/modules/nf-core/modkit/extract/calls/tests/main.nf.test b/modules/nf-core/modkit/extract/calls/tests/main.nf.test new file mode 100644 index 000000000000..3aadd7fc0bf0 --- /dev/null +++ b/modules/nf-core/modkit/extract/calls/tests/main.nf.test @@ -0,0 +1,72 @@ +nextflow_process { + + name "Test Process MODKIT_EXTRACT_CALLS" + script "../main.nf" + process "MODKIT_EXTRACT_CALLS" + config "./nextflow.config" + + tag "modules" + tag "modules_nfcore" + tag "modkit" + tag "modkit/extract" + tag "modkit/extract/calls" + + test("homo sapiens - nanopore modbam - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id: 'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/nanopore/bam/test.sorted.phased.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/nanopore/bam/test.sorted.phased.bam.bai', checkIfExists: true) + ] + input[1] = [ + [ id: 'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("homo sapiens - nanopore modbam") { + + when { + process { + """ + input[0] = [ + [ id: 'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/nanopore/bam/test.sorted.phased.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/nanopore/bam/test.sorted.phased.bam.bai', checkIfExists: true) + ] + input[1] = [ + [ id: 'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert process.out.tsv }, + { assert path(process.out.tsv[0][1]).exists() }, + { assert path(process.out.tsv[0][1]).size() > 0 }, + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/modkit/extract/calls/tests/main.nf.test.snap b/modules/nf-core/modkit/extract/calls/tests/main.nf.test.snap new file mode 100644 index 000000000000..6d86deffa5b8 --- /dev/null +++ b/modules/nf-core/modkit/extract/calls/tests/main.nf.test.snap @@ -0,0 +1,96 @@ +{ + "homo sapiens - nanopore modbam": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.tsv:md5,0ce2e5a6bf0889aaf8cbd682e2b17acb" + ] + ], + "1": [ + + ], + "2": [ + [ + "MODKIT_EXTRACT_CALLS", + "modkit", + "0.6.1" + ] + ], + "log": [ + + ], + "tsv": [ + [ + { + "id": "test" + }, + "test.tsv:md5,0ce2e5a6bf0889aaf8cbd682e2b17acb" + ] + ], + "versions_modkit": [ + [ + "MODKIT_EXTRACT_CALLS", + "modkit", + "0.6.1" + ] + ] + } + ], + "timestamp": "2026-04-23T22:05:37.027585203", + "meta": { + "nf-test": "0.9.5", + "nextflow": "25.04.6" + } + }, + "homo sapiens - nanopore modbam - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + + ], + "2": [ + [ + "MODKIT_EXTRACT_CALLS", + "modkit", + "0.6.1" + ] + ], + "log": [ + + ], + "tsv": [ + [ + { + "id": "test" + }, + "test.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_modkit": [ + [ + "MODKIT_EXTRACT_CALLS", + "modkit", + "0.6.1" + ] + ] + } + ], + "timestamp": "2026-04-23T22:05:22.616980777", + "meta": { + "nf-test": "0.9.5", + "nextflow": "25.04.6" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/modkit/extract/calls/tests/nextflow.config b/modules/nf-core/modkit/extract/calls/tests/nextflow.config new file mode 100644 index 000000000000..4c3353e86e4d --- /dev/null +++ b/modules/nf-core/modkit/extract/calls/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: 'MODKIT_EXTRACT_CALLS' { + ext.args = '' + } +} From e7dd4aee9ddbd423345a8fdc1ba94725e51e2aa8 Mon Sep 17 00:00:00 2001 From: sahuno Date: Sun, 6 Sep 2026 12:24:21 -0400 Subject: [PATCH 2/4] refactor(modkit/extractcalls): rename from modkit/extract/calls nf-core module names must be or / (two levels max); `modkit/extract/calls` failed the `main_nf_module_granularity` lint check. Renamed directory, process name (MODKIT_EXTRACTCALLS), meta.yml name and nf-test tags accordingly, as requested by @SPPearce. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01E7RSvpouxbMBdimYSwJ5ZP --- .../{extract/calls => extractcalls}/environment.yml | 0 .../modkit/{extract/calls => extractcalls}/main.nf | 2 +- .../modkit/{extract/calls => extractcalls}/meta.yml | 2 +- .../{extract/calls => extractcalls}/tests/main.nf.test | 6 +++--- .../calls => extractcalls}/tests/main.nf.test.snap | 8 ++++---- .../{extract/calls => extractcalls}/tests/nextflow.config | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) rename modules/nf-core/modkit/{extract/calls => extractcalls}/environment.yml (100%) rename modules/nf-core/modkit/{extract/calls => extractcalls}/main.nf (97%) rename modules/nf-core/modkit/{extract/calls => extractcalls}/meta.yml (99%) rename modules/nf-core/modkit/{extract/calls => extractcalls}/tests/main.nf.test (95%) rename modules/nf-core/modkit/{extract/calls => extractcalls}/tests/main.nf.test.snap (92%) rename modules/nf-core/modkit/{extract/calls => extractcalls}/tests/nextflow.config (50%) diff --git a/modules/nf-core/modkit/extract/calls/environment.yml b/modules/nf-core/modkit/extractcalls/environment.yml similarity index 100% rename from modules/nf-core/modkit/extract/calls/environment.yml rename to modules/nf-core/modkit/extractcalls/environment.yml diff --git a/modules/nf-core/modkit/extract/calls/main.nf b/modules/nf-core/modkit/extractcalls/main.nf similarity index 97% rename from modules/nf-core/modkit/extract/calls/main.nf rename to modules/nf-core/modkit/extractcalls/main.nf index 1539d827f197..cf4c6b0a8a96 100644 --- a/modules/nf-core/modkit/extract/calls/main.nf +++ b/modules/nf-core/modkit/extractcalls/main.nf @@ -1,4 +1,4 @@ -process MODKIT_EXTRACT_CALLS { +process MODKIT_EXTRACTCALLS { tag "$meta.id" label 'process_high' diff --git a/modules/nf-core/modkit/extract/calls/meta.yml b/modules/nf-core/modkit/extractcalls/meta.yml similarity index 99% rename from modules/nf-core/modkit/extract/calls/meta.yml rename to modules/nf-core/modkit/extractcalls/meta.yml index 7b86e4d56c0f..777c66b8dd4f 100644 --- a/modules/nf-core/modkit/extract/calls/meta.yml +++ b/modules/nf-core/modkit/extractcalls/meta.yml @@ -1,4 +1,4 @@ -name: modkit_extract_calls +name: modkit_extractcalls description: | Produce a per-read per-position table of base modification **calls** (pass/fail/filtered, with the called base) from a modBAM using the same diff --git a/modules/nf-core/modkit/extract/calls/tests/main.nf.test b/modules/nf-core/modkit/extractcalls/tests/main.nf.test similarity index 95% rename from modules/nf-core/modkit/extract/calls/tests/main.nf.test rename to modules/nf-core/modkit/extractcalls/tests/main.nf.test index 3aadd7fc0bf0..c2ce1e3f07e9 100644 --- a/modules/nf-core/modkit/extract/calls/tests/main.nf.test +++ b/modules/nf-core/modkit/extractcalls/tests/main.nf.test @@ -1,15 +1,15 @@ nextflow_process { - name "Test Process MODKIT_EXTRACT_CALLS" + name "Test Process MODKIT_EXTRACTCALLS" script "../main.nf" - process "MODKIT_EXTRACT_CALLS" + process "MODKIT_EXTRACTCALLS" config "./nextflow.config" tag "modules" tag "modules_nfcore" tag "modkit" tag "modkit/extract" - tag "modkit/extract/calls" + tag "modkit/extractcalls" test("homo sapiens - nanopore modbam - stub") { diff --git a/modules/nf-core/modkit/extract/calls/tests/main.nf.test.snap b/modules/nf-core/modkit/extractcalls/tests/main.nf.test.snap similarity index 92% rename from modules/nf-core/modkit/extract/calls/tests/main.nf.test.snap rename to modules/nf-core/modkit/extractcalls/tests/main.nf.test.snap index 6d86deffa5b8..0959af785534 100644 --- a/modules/nf-core/modkit/extract/calls/tests/main.nf.test.snap +++ b/modules/nf-core/modkit/extractcalls/tests/main.nf.test.snap @@ -15,7 +15,7 @@ ], "2": [ [ - "MODKIT_EXTRACT_CALLS", + "MODKIT_EXTRACTCALLS", "modkit", "0.6.1" ] @@ -33,7 +33,7 @@ ], "versions_modkit": [ [ - "MODKIT_EXTRACT_CALLS", + "MODKIT_EXTRACTCALLS", "modkit", "0.6.1" ] @@ -62,7 +62,7 @@ ], "2": [ [ - "MODKIT_EXTRACT_CALLS", + "MODKIT_EXTRACTCALLS", "modkit", "0.6.1" ] @@ -80,7 +80,7 @@ ], "versions_modkit": [ [ - "MODKIT_EXTRACT_CALLS", + "MODKIT_EXTRACTCALLS", "modkit", "0.6.1" ] diff --git a/modules/nf-core/modkit/extract/calls/tests/nextflow.config b/modules/nf-core/modkit/extractcalls/tests/nextflow.config similarity index 50% rename from modules/nf-core/modkit/extract/calls/tests/nextflow.config rename to modules/nf-core/modkit/extractcalls/tests/nextflow.config index 4c3353e86e4d..e6a40c938b98 100644 --- a/modules/nf-core/modkit/extract/calls/tests/nextflow.config +++ b/modules/nf-core/modkit/extractcalls/tests/nextflow.config @@ -1,5 +1,5 @@ process { - withName: 'MODKIT_EXTRACT_CALLS' { + withName: 'MODKIT_EXTRACTCALLS' { ext.args = '' } } From 559d50c078ef97664db00f116c949454c2818a6a Mon Sep 17 00:00:00 2001 From: sahuno Date: Mon, 7 Sep 2026 06:01:41 -0400 Subject: [PATCH 3/4] =?UTF-8?q?fix(modkit/extractcalls):=20address=20revie?= =?UTF-8?q?w=20=E2=80=94=20sanitizeOutput,=20crai,=20drop=20empty=20config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Snapshot via sanitizeOutput(process.out) with `assert process.success` outside assertAll, so a tool failure fails fast instead of reporting snapshot mismatches against empty output. - Drop the redundant exists/size asserts in the non-stub test; the snapshot already covers the tsv, and an empty file is caught by the md5 lint check. - meta.yml: the index may be a .crai — modkit extract calls reads CRAM (verified against modkit 0.6.1 on a CRAM built from the test modBAM). - Remove tests/nextflow.config (it only set an empty ext.args) and its config directive. Non-stub tsv md5 is unchanged: 0ce2e5a6... Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01SHRC2SxQjmF3X1z82LopQb --- modules/nf-core/modkit/extractcalls/meta.yml | 9 ++-- .../modkit/extractcalls/tests/main.nf.test | 12 ++--- .../extractcalls/tests/main.nf.test.snap | 44 ++----------------- .../modkit/extractcalls/tests/nextflow.config | 5 --- 4 files changed, 14 insertions(+), 56 deletions(-) delete mode 100644 modules/nf-core/modkit/extractcalls/tests/nextflow.config diff --git a/modules/nf-core/modkit/extractcalls/meta.yml b/modules/nf-core/modkit/extractcalls/meta.yml index 777c66b8dd4f..e9a759a3272d 100644 --- a/modules/nf-core/modkit/extractcalls/meta.yml +++ b/modules/nf-core/modkit/extractcalls/meta.yml @@ -32,14 +32,17 @@ input: e.g. `[ id:'sample1' ]`. The output inherits this meta. - bam: type: file - description: Input modBAM with MM/ML tags. + description: | + Input modBAM/modCRAM with MM/ML tags. A CRAM input also requires + `fasta` to be supplied. pattern: "*.{bam,cram}" ontologies: - edam: http://edamontology.org/format_2572 - bai: type: file - description: BAM index (`.bai` or `.csi`). - pattern: "*.{bai,csi}" + description: | + Index for `bam` — `.bai`/`.csi` for a BAM, `.crai` for a CRAM. + pattern: "*.{bai,csi,crai}" ontologies: [] - - meta2: type: map diff --git a/modules/nf-core/modkit/extractcalls/tests/main.nf.test b/modules/nf-core/modkit/extractcalls/tests/main.nf.test index c2ce1e3f07e9..ae8cff88fb93 100644 --- a/modules/nf-core/modkit/extractcalls/tests/main.nf.test +++ b/modules/nf-core/modkit/extractcalls/tests/main.nf.test @@ -3,7 +3,6 @@ nextflow_process { name "Test Process MODKIT_EXTRACTCALLS" script "../main.nf" process "MODKIT_EXTRACTCALLS" - config "./nextflow.config" tag "modules" tag "modules_nfcore" @@ -33,9 +32,9 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -60,12 +59,9 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, - { assert process.out.tsv }, - { assert path(process.out.tsv[0][1]).exists() }, - { assert path(process.out.tsv[0][1]).size() > 0 }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } diff --git a/modules/nf-core/modkit/extractcalls/tests/main.nf.test.snap b/modules/nf-core/modkit/extractcalls/tests/main.nf.test.snap index 0959af785534..1f6aebb8e3db 100644 --- a/modules/nf-core/modkit/extractcalls/tests/main.nf.test.snap +++ b/modules/nf-core/modkit/extractcalls/tests/main.nf.test.snap @@ -2,24 +2,6 @@ "homo sapiens - nanopore modbam": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.tsv:md5,0ce2e5a6bf0889aaf8cbd682e2b17acb" - ] - ], - "1": [ - - ], - "2": [ - [ - "MODKIT_EXTRACTCALLS", - "modkit", - "0.6.1" - ] - ], "log": [ ], @@ -40,33 +22,15 @@ ] } ], - "timestamp": "2026-04-23T22:05:37.027585203", + "timestamp": "2026-09-07T05:57:46.17857069", "meta": { "nf-test": "0.9.5", - "nextflow": "25.04.6" + "nextflow": "25.10.4" } }, "homo sapiens - nanopore modbam - stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - - ], - "2": [ - [ - "MODKIT_EXTRACTCALLS", - "modkit", - "0.6.1" - ] - ], "log": [ ], @@ -87,10 +51,10 @@ ] } ], - "timestamp": "2026-04-23T22:05:22.616980777", + "timestamp": "2026-09-07T05:57:35.907259742", "meta": { "nf-test": "0.9.5", - "nextflow": "25.04.6" + "nextflow": "25.10.4" } } } \ No newline at end of file diff --git a/modules/nf-core/modkit/extractcalls/tests/nextflow.config b/modules/nf-core/modkit/extractcalls/tests/nextflow.config deleted file mode 100644 index e6a40c938b98..000000000000 --- a/modules/nf-core/modkit/extractcalls/tests/nextflow.config +++ /dev/null @@ -1,5 +0,0 @@ -process { - withName: 'MODKIT_EXTRACTCALLS' { - ext.args = '' - } -} From ff5d631de2f1cfe3858498b64f201660fbecb523 Mon Sep 17 00:00:00 2001 From: Samuel Ahuno Date: Wed, 9 Sep 2026 14:00:12 -0400 Subject: [PATCH 4/4] feat(modkit/extractcalls): bump ont-modkit 0.6.1 -> 0.6.4 Clears the `bioconda_latest` lint warning. Container tag `0.6.4--h7f49ad2_0` verified on both the Galaxy depot and quay.io. Snapshot regenerated: only the reported version string changes. The non-stub tsv md5 is identical to 0.6.1 (0ce2e5a6bf0889aaf8cbd682e2b17acb), so `modkit extract calls` output is byte-stable across the bump. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01JAsT7dzCcLSicJxFRWJozr --- modules/nf-core/modkit/extractcalls/environment.yml | 2 +- modules/nf-core/modkit/extractcalls/main.nf | 4 ++-- .../nf-core/modkit/extractcalls/tests/main.nf.test.snap | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/nf-core/modkit/extractcalls/environment.yml b/modules/nf-core/modkit/extractcalls/environment.yml index dac7b506e89f..51282bc85516 100644 --- a/modules/nf-core/modkit/extractcalls/environment.yml +++ b/modules/nf-core/modkit/extractcalls/environment.yml @@ -4,4 +4,4 @@ channels: - conda-forge - bioconda dependencies: - - "bioconda::ont-modkit=0.6.1" + - "bioconda::ont-modkit=0.6.4" diff --git a/modules/nf-core/modkit/extractcalls/main.nf b/modules/nf-core/modkit/extractcalls/main.nf index cf4c6b0a8a96..aa7373eb50ea 100644 --- a/modules/nf-core/modkit/extractcalls/main.nf +++ b/modules/nf-core/modkit/extractcalls/main.nf @@ -4,8 +4,8 @@ process MODKIT_EXTRACTCALLS { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/ont-modkit:0.6.1--hcdda2d0_0': - 'quay.io/biocontainers/ont-modkit:0.6.1--hcdda2d0_0' }" + 'https://depot.galaxyproject.org/singularity/ont-modkit:0.6.4--h7f49ad2_0': + 'quay.io/biocontainers/ont-modkit:0.6.4--h7f49ad2_0' }" input: tuple val(meta), path(bam), path(bai) diff --git a/modules/nf-core/modkit/extractcalls/tests/main.nf.test.snap b/modules/nf-core/modkit/extractcalls/tests/main.nf.test.snap index 1f6aebb8e3db..458beb690574 100644 --- a/modules/nf-core/modkit/extractcalls/tests/main.nf.test.snap +++ b/modules/nf-core/modkit/extractcalls/tests/main.nf.test.snap @@ -17,12 +17,12 @@ [ "MODKIT_EXTRACTCALLS", "modkit", - "0.6.1" + "0.6.4" ] ] } ], - "timestamp": "2026-09-07T05:57:46.17857069", + "timestamp": "2026-09-09T13:59:59.838529499", "meta": { "nf-test": "0.9.5", "nextflow": "25.10.4" @@ -46,12 +46,12 @@ [ "MODKIT_EXTRACTCALLS", "modkit", - "0.6.1" + "0.6.4" ] ] } ], - "timestamp": "2026-09-07T05:57:35.907259742", + "timestamp": "2026-09-09T13:59:53.916004727", "meta": { "nf-test": "0.9.5", "nextflow": "25.10.4"