From 91bffbe5c0f7f29b481d9e2e2775c8fe7da608a3 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Fri, 19 Dec 2025 11:37:33 +0100 Subject: [PATCH 01/37] Meta attempt --- .../preparegensinputdata/environment.yml | 10 +++ modules/nf-core/preparegensinputdata/main.nf | 90 +++++++++++++++++++ modules/nf-core/preparegensinputdata/meta.yml | 63 +++++++++++++ .../preparegensinputdata/tests/main.nf.test | 76 ++++++++++++++++ 4 files changed, 239 insertions(+) create mode 100644 modules/nf-core/preparegensinputdata/environment.yml create mode 100644 modules/nf-core/preparegensinputdata/main.nf create mode 100644 modules/nf-core/preparegensinputdata/meta.yml create mode 100644 modules/nf-core/preparegensinputdata/tests/main.nf.test diff --git a/modules/nf-core/preparegensinputdata/environment.yml b/modules/nf-core/preparegensinputdata/environment.yml new file mode 100644 index 00000000000..32bc330d8f5 --- /dev/null +++ b/modules/nf-core/preparegensinputdata/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # TODO nf-core: List required Conda package(s). + # Software MUST be pinned to channel (i.e. "bioconda"), version (i.e. "1.10"). + # For Conda, the build (i.e. "h9402c20_2") must be EXCLUDED to support installation on different operating systems. + - "YOUR-TOOL-HERE" diff --git a/modules/nf-core/preparegensinputdata/main.nf b/modules/nf-core/preparegensinputdata/main.nf new file mode 100644 index 00000000000..843f09916cd --- /dev/null +++ b/modules/nf-core/preparegensinputdata/main.nf @@ -0,0 +1,90 @@ +// TODO nf-core: If in doubt look at other nf-core/modules to see how we are doing things! :) +// https://github.com/nf-core/modules/tree/master/modules/nf-core/ +// You can also ask for help via your pull request or on the #modules channel on the nf-core Slack workspace: +// https://nf-co.re/join +// TODO nf-core: A module file SHOULD only define input and output files as command-line parameters. +// All other parameters MUST be provided using the "task.ext" directive, see here: +// https://www.nextflow.io/docs/latest/process.html#ext +// where "task.ext" is a string. +// Any parameters that need to be evaluated in the context of a particular sample +// e.g. single-end/paired-end data MUST also be defined and evaluated appropriately. +// TODO nf-core: Software that can be piped together SHOULD be added to separate module files +// unless there is a run-time, storage advantage in implementing in this way +// e.g. it's ok to have a single module for bwa to output BAM instead of SAM: +// bwa mem | samtools view -B -T ref.fasta +// TODO nf-core: Optional inputs are not currently supported by Nextflow. However, using an empty +// list (`[]`) instead of a file can be used to work around this issue. + +process PREPAREGENSINPUTDATA { + tag "$meta.id" + label 'process_single' + + // TODO nf-core: See section in main README for further information regarding finding and adding container addresses to the section below. + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/YOUR-TOOL-HERE': + 'biocontainers/YOUR-TOOL-HERE' }" + + input:// TODO nf-core: Where applicable all sample-specific information e.g. "id", "single_end", "read_group" + // MUST be provided as an input via a Groovy Map called "meta". + // This information may not be required in some instances e.g. indexing reference genome files: + // https://github.com/nf-core/modules/blob/master/modules/nf-core/bwa/index/main.nf + // TODO nf-core: Where applicable please provide/convert compressed files as input/output + // e.g. "*.fastq.gz" and NOT "*.fastq", "*.bam" and NOT "*.sam" etc. + tuple val(meta), path(bam) + + output: + // TODO nf-core: Named file extensions MUST be emitted for ALL output channels + tuple val(meta), path("*.bam"), emit: bam + // TODO nf-core: List additional required output channels/values here + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + // TODO nf-core: Where possible, a command MUST be provided to obtain the version number of the software e.g. 1.10 + // If the software is unable to output a version number on the command-line then it can be manually specified + // e.g. https://github.com/nf-core/modules/blob/master/modules/nf-core/homer/annotatepeaks/main.nf + // Each software used MUST provide the software name and version number in the YAML version file (versions.yml) + // TODO nf-core: It MUST be possible to pass additional parameters to the tool as a command-line string via the "task.ext.args" directive + // TODO nf-core: If the tool supports multi-threading then you MUST provide the appropriate parameter + // using the Nextflow "task" variable e.g. "--threads $task.cpus" + // TODO nf-core: Please replace the example samtools command below with your module's command + // TODO nf-core: Please indent the command appropriately (4 spaces!!) to help with readability ;) + """ + preparegensinputdata \\ + $args \\ + -@ $task.cpus \\ + -o ${prefix}.bam \\ + $bam + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + preparegensinputdata: \$(preparegensinputdata --version) + END_VERSIONS + """ + + stub: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + // TODO nf-core: A stub section should mimic the execution of the original module as best as possible + // Have a look at the following examples: + // Simple example: https://github.com/nf-core/modules/blob/818474a292b4860ae8ff88e149fbcda68814114d/modules/nf-core/bcftools/annotate/main.nf#L47-L63 + // Complex example: https://github.com/nf-core/modules/blob/818474a292b4860ae8ff88e149fbcda68814114d/modules/nf-core/bedtools/split/main.nf#L38-L54 + // TODO nf-core: If the module doesn't use arguments ($args), you SHOULD remove: + // - The definition of args `def args = task.ext.args ?: ''` above. + // - The use of the variable in the script `echo $args ` below. + """ + echo $args + + touch ${prefix}.bam + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + preparegensinputdata: \$(preparegensinputdata --version) + END_VERSIONS + """ +} diff --git a/modules/nf-core/preparegensinputdata/meta.yml b/modules/nf-core/preparegensinputdata/meta.yml new file mode 100644 index 00000000000..4eaac6c1023 --- /dev/null +++ b/modules/nf-core/preparegensinputdata/meta.yml @@ -0,0 +1,63 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json +# # TODO nf-core: Add a description of the module and list keywords +name: "preparegensinputdata" +description: write your description here +keywords: + - sort + - example + - genomics +tools: + ## TODO nf-core: Add a description and other details for the software below + - "preparegensinputdata": + description: "" + homepage: "https://github.com/SMD-Bioinformatics-Lund/Prepare-Gens-input-data" + documentation: "https://github.com/SMD-Bioinformatics-Lund/Prepare-Gens-input-data/README.md" + tool_dev_url: "https://github.com/SMD-Bioinformatics-Lund/Prepare-Gens-input-data" + # FIXME: Just a placeholder + doi: "10.0000/mgen.0.000000" + licence: [MIT] + identifier: "" + +input: + ### TODO nf-core: Add a description of all of the variables used as input + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'sample1' ]` + - bam: + type: file + description: Sorted BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + ontologies: + - edam: "http://edamontology.org/format_2572" # BAM + - edam: "http://edamontology.org/format_2573" # CRAM + - edam: "http://edamontology.org/format_3462" # SAM + +output: + ### TODO nf-core: Add a description of all of the variables used as output + - bam: + - meta: + type: map + description: | + Groovy Map containing sample information + - "*.bam": + type: file + description: Sorted BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + ontologies: + - edam: "http://edamontology.org/format_2572" # BAM + - edam: "http://edamontology.org/format_2573" # CRAM + - edam: "http://edamontology.org/format_3462" # SAM + - versions: + - "versions.yml": + type: file + description: File containing software versions + pattern: "versions.yml" + ontologies: + - edam: "http://edamontology.org/format_3750" # YAML + +authors: + - "@jakob37" +maintainers: + - "@jakob37" diff --git a/modules/nf-core/preparegensinputdata/tests/main.nf.test b/modules/nf-core/preparegensinputdata/tests/main.nf.test new file mode 100644 index 00000000000..d836129b904 --- /dev/null +++ b/modules/nf-core/preparegensinputdata/tests/main.nf.test @@ -0,0 +1,76 @@ +// TODO nf-core: Once you have added the required tests, please run the following command to build this file: +// nf-core modules test preparegensinputdata +nextflow_process { + + name "Test Process PREPAREGENSINPUTDATA" + script "../main.nf" + process "PREPAREGENSINPUTDATA" + + tag "modules" + tag "modules_nfcore" + tag "preparegensinputdata" + + // TODO nf-core: Change the test name preferably indicating the test-data and file-format used + test("sarscov2 - bam") { + + // TODO nf-core: If you are created a test for a chained module + // (the module requires running more than one process to generate the required output) + // add the 'setup' method here. + // You can find more information about how to use a 'setup' method in the docs (https://nf-co.re/docs/contributing/modules#steps-for-creating-nf-test-for-chained-modules). + + when { + process { + """ + // TODO nf-core: define inputs of the process here. Example: + + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + process.out, + path(process.out.versions[0]).yaml + ).match() } + //TODO nf-core: Add all required assertions to verify the test output. + // See https://nf-co.re/docs/contributing/tutorials/nf-test_assertions for more information and examples. + ) + } + + } + + // TODO nf-core: Change the test name preferably indicating the test-data and file-format used but keep the " - stub" suffix. + test("sarscov2 - bam - stub") { + + options "-stub" + + when { + process { + """ + // TODO nf-core: define inputs of the process here. Example: + + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + process.out, + path(process.out.versions[0]).yaml + ).match() } + ) + } + } +} \ No newline at end of file From ad1582c1ecad1968ee3c6464d510c2271455f629 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Mon, 12 Jan 2026 08:53:34 +0100 Subject: [PATCH 02/37] Iterating on the new prepare gens input data module --- modules/nf-core/preparegensinputdata/main.nf | 75 +++++++++----------- 1 file changed, 35 insertions(+), 40 deletions(-) diff --git a/modules/nf-core/preparegensinputdata/main.nf b/modules/nf-core/preparegensinputdata/main.nf index 843f09916cd..92bc897679f 100644 --- a/modules/nf-core/preparegensinputdata/main.nf +++ b/modules/nf-core/preparegensinputdata/main.nf @@ -1,48 +1,41 @@ -// TODO nf-core: If in doubt look at other nf-core/modules to see how we are doing things! :) -// https://github.com/nf-core/modules/tree/master/modules/nf-core/ -// You can also ask for help via your pull request or on the #modules channel on the nf-core Slack workspace: -// https://nf-co.re/join // TODO nf-core: A module file SHOULD only define input and output files as command-line parameters. // All other parameters MUST be provided using the "task.ext" directive, see here: // https://www.nextflow.io/docs/latest/process.html#ext // where "task.ext" is a string. // Any parameters that need to be evaluated in the context of a particular sample // e.g. single-end/paired-end data MUST also be defined and evaluated appropriately. -// TODO nf-core: Software that can be piped together SHOULD be added to separate module files -// unless there is a run-time, storage advantage in implementing in this way -// e.g. it's ok to have a single module for bwa to output BAM instead of SAM: -// bwa mem | samtools view -B -T ref.fasta -// TODO nf-core: Optional inputs are not currently supported by Nextflow. However, using an empty -// list (`[]`) instead of a file can be used to work around this issue. process PREPAREGENSINPUTDATA { tag "$meta.id" label 'process_single' - // TODO nf-core: See section in main README for further information regarding finding and adding container addresses to the section below. conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/YOUR-TOOL-HERE': - 'biocontainers/YOUR-TOOL-HERE' }" + 'oras://community.wave.seqera.io/library/pip_gens-input-data-tools:97f213f547c014d1': + 'community.wave.seqera.io/library/pip_gens-input-data-tools:ad7b7f1a90b0d4ca' }" - input:// TODO nf-core: Where applicable all sample-specific information e.g. "id", "single_end", "read_group" - // MUST be provided as an input via a Groovy Map called "meta". - // This information may not be required in some instances e.g. indexing reference genome files: - // https://github.com/nf-core/modules/blob/master/modules/nf-core/bwa/index/main.nf + input: // TODO nf-core: Where applicable please provide/convert compressed files as input/output // e.g. "*.fastq.gz" and NOT "*.fastq", "*.bam" and NOT "*.sam" etc. - tuple val(meta), path(bam) + tuple val(meta), path(read_counts) + tuple val(meta2), path(gvcf) + path baf_positions output: - // TODO nf-core: Named file extensions MUST be emitted for ALL output channels - tuple val(meta), path("*.bam"), emit: bam - // TODO nf-core: List additional required output channels/values here - path "versions.yml" , emit: versions + tuple val(meta), path("*.cov.bed.gz") , emit: cov_gz + tuple val(meta), path("*.cov.bed.gz.tbi") , emit: cov_gz_tbi + tuple val(meta), path("*.baf.bed.gz") , emit: baf_gz + tuple val(meta), path("*.baf.bed.gz.tbi") , emit: baf_gz_tbi + path "versions.yml" , emit: versions when: task.ext.when == null || task.ext.when script: + if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) { + error "The gens pre-processing module does not support Conda. Please use Docker / Singularity / Podman instead." + } + def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" // TODO nf-core: Where possible, a command MUST be provided to obtain the version number of the software e.g. 1.10 @@ -54,37 +47,39 @@ process PREPAREGENSINPUTDATA { // using the Nextflow "task" variable e.g. "--threads $task.cpus" // TODO nf-core: Please replace the example samtools command below with your module's command // TODO nf-core: Please indent the command appropriately (4 spaces!!) to help with readability ;) + // preparegensinputdata \\ + // $args \\ + // -@ $task.cpus \\ + // -o ${prefix}.bam \\ + // $bam + + """ - preparegensinputdata \\ - $args \\ - -@ $task.cpus \\ - -o ${prefix}.bam \\ - $bam + + generate_gens_data.py \\ + --coverage $read_counts \\ + --gvcf $gvcf \\ + --label $prefix \\ + --baf_positions $baf_positions \\ + --outdir \$PWD cat <<-END_VERSIONS > versions.yml "${task.process}": - preparegensinputdata: \$(preparegensinputdata --version) + preparegensinputdata: \$(generate_gens_data.py --version) END_VERSIONS """ stub: - def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" - // TODO nf-core: A stub section should mimic the execution of the original module as best as possible - // Have a look at the following examples: - // Simple example: https://github.com/nf-core/modules/blob/818474a292b4860ae8ff88e149fbcda68814114d/modules/nf-core/bcftools/annotate/main.nf#L47-L63 - // Complex example: https://github.com/nf-core/modules/blob/818474a292b4860ae8ff88e149fbcda68814114d/modules/nf-core/bedtools/split/main.nf#L38-L54 - // TODO nf-core: If the module doesn't use arguments ($args), you SHOULD remove: - // - The definition of args `def args = task.ext.args ?: ''` above. - // - The use of the variable in the script `echo $args ` below. """ - echo $args - - touch ${prefix}.bam + touch ${prefix}.cov.bed.gz + touch ${prefix}.cov.bed.gz.tbi + touch ${prefix}.baf.bed.gz + touch ${prefix}.baf.bed.gz.tbi cat <<-END_VERSIONS > versions.yml "${task.process}": - preparegensinputdata: \$(preparegensinputdata --version) + preparegensinputdata: \$(generate_gens_data.py --version) END_VERSIONS """ } From c2483498a89a0e137c1e6ee431810f1e4adaf0b1 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Tue, 13 Jan 2026 09:16:29 +0100 Subject: [PATCH 03/37] Moving tools to subfolder and updating using module that worked in pipeline --- .../preparecovandbaf}/environment.yml | 0 modules/nf-core/gens/preparecovandbaf/main.nf | 63 ++++++++++++++ .../preparecovandbaf}/meta.yml | 4 +- .../preparecovandbaf}/tests/main.nf.test | 0 modules/nf-core/preparegensinputdata/main.nf | 85 ------------------- 5 files changed, 65 insertions(+), 87 deletions(-) rename modules/nf-core/{preparegensinputdata => gens/preparecovandbaf}/environment.yml (100%) create mode 100644 modules/nf-core/gens/preparecovandbaf/main.nf rename modules/nf-core/{preparegensinputdata => gens/preparecovandbaf}/meta.yml (97%) rename modules/nf-core/{preparegensinputdata => gens/preparecovandbaf}/tests/main.nf.test (100%) delete mode 100644 modules/nf-core/preparegensinputdata/main.nf diff --git a/modules/nf-core/preparegensinputdata/environment.yml b/modules/nf-core/gens/preparecovandbaf/environment.yml similarity index 100% rename from modules/nf-core/preparegensinputdata/environment.yml rename to modules/nf-core/gens/preparecovandbaf/environment.yml diff --git a/modules/nf-core/gens/preparecovandbaf/main.nf b/modules/nf-core/gens/preparecovandbaf/main.nf new file mode 100644 index 00000000000..6241ae84138 --- /dev/null +++ b/modules/nf-core/gens/preparecovandbaf/main.nf @@ -0,0 +1,63 @@ +process PREPAREGENSINPUTDATA { + tag "$meta.id" + label 'process_single' + + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/29/2931cf8e5eac90d974b42ec069b4268fd7f8aefa37b46fa18eb342a4802a967d/data': + 'community.wave.seqera.io/library/tabix_pip_gens-input-data-tools:acc3fd1b79233d2d' }" + + input: + tuple val(meta), path(read_counts_gz), path(gvcf), path(gvcf_tbi) + path baf_positions + + output: + tuple val(meta), path("*.cov.bed.gz") , emit: cov_gz + tuple val(meta), path("*.cov.bed.gz.tbi") , emit: cov_tbi + tuple val(meta), path("*.baf.bed.gz") , emit: baf_gz + tuple val(meta), path("*.baf.bed.gz.tbi") , emit: baf_tbi + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + // Exit if running this module with -profile conda / -profile mamba + if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) { + error "The gens pre-processing module does not support Conda. Please use Docker / Singularity / Podman instead." + } + + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + // FIXME: Can I avoid this + def python_base = "/opt/conda/lib/python3.14/site-packages/gens_input_data_tools" + """ + python3 $python_base/generate_cov_and_baf.py \\ + --coverage $read_counts_gz \\ + --gvcf $gvcf \\ + --label $prefix \\ + --baf_positions $baf_positions \\ + --bgzip_tabix_output \\ + $args \\ + --outdir . + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + preparegensinputdata: \$(python3 $python_base/generate_cov_and_baf.py --version) + END_VERSIONS + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + def python_base = "/opt/conda/lib/python3.14/site-packages/gens_input_data_tools" + """ + echo "" | gzip > ${prefix}.cov.bed.gz + touch ${prefix}.cov.bed.gz.tbi + echo "" | gzip > ${prefix}.baf.bed.gz + touch ${prefix}.baf.bed.gz.tbi + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + preparegensinputdata: \$(python3 $python_base/generate_cov_and_baf.py --version) + END_VERSIONS + """ +} diff --git a/modules/nf-core/preparegensinputdata/meta.yml b/modules/nf-core/gens/preparecovandbaf/meta.yml similarity index 97% rename from modules/nf-core/preparegensinputdata/meta.yml rename to modules/nf-core/gens/preparecovandbaf/meta.yml index 4eaac6c1023..f264bdc3b25 100644 --- a/modules/nf-core/preparegensinputdata/meta.yml +++ b/modules/nf-core/gens/preparecovandbaf/meta.yml @@ -1,6 +1,6 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json # # TODO nf-core: Add a description of the module and list keywords -name: "preparegensinputdata" +name: "gens/preparecovandbaf" description: write your description here keywords: - sort @@ -8,7 +8,7 @@ keywords: - genomics tools: ## TODO nf-core: Add a description and other details for the software below - - "preparegensinputdata": + - "gens": description: "" homepage: "https://github.com/SMD-Bioinformatics-Lund/Prepare-Gens-input-data" documentation: "https://github.com/SMD-Bioinformatics-Lund/Prepare-Gens-input-data/README.md" diff --git a/modules/nf-core/preparegensinputdata/tests/main.nf.test b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test similarity index 100% rename from modules/nf-core/preparegensinputdata/tests/main.nf.test rename to modules/nf-core/gens/preparecovandbaf/tests/main.nf.test diff --git a/modules/nf-core/preparegensinputdata/main.nf b/modules/nf-core/preparegensinputdata/main.nf deleted file mode 100644 index 92bc897679f..00000000000 --- a/modules/nf-core/preparegensinputdata/main.nf +++ /dev/null @@ -1,85 +0,0 @@ -// TODO nf-core: A module file SHOULD only define input and output files as command-line parameters. -// All other parameters MUST be provided using the "task.ext" directive, see here: -// https://www.nextflow.io/docs/latest/process.html#ext -// where "task.ext" is a string. -// Any parameters that need to be evaluated in the context of a particular sample -// e.g. single-end/paired-end data MUST also be defined and evaluated appropriately. - -process PREPAREGENSINPUTDATA { - tag "$meta.id" - label 'process_single' - - conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/pip_gens-input-data-tools:97f213f547c014d1': - 'community.wave.seqera.io/library/pip_gens-input-data-tools:ad7b7f1a90b0d4ca' }" - - input: - // TODO nf-core: Where applicable please provide/convert compressed files as input/output - // e.g. "*.fastq.gz" and NOT "*.fastq", "*.bam" and NOT "*.sam" etc. - tuple val(meta), path(read_counts) - tuple val(meta2), path(gvcf) - path baf_positions - - output: - tuple val(meta), path("*.cov.bed.gz") , emit: cov_gz - tuple val(meta), path("*.cov.bed.gz.tbi") , emit: cov_gz_tbi - tuple val(meta), path("*.baf.bed.gz") , emit: baf_gz - tuple val(meta), path("*.baf.bed.gz.tbi") , emit: baf_gz_tbi - path "versions.yml" , emit: versions - - when: - task.ext.when == null || task.ext.when - - script: - if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) { - error "The gens pre-processing module does not support Conda. Please use Docker / Singularity / Podman instead." - } - - def args = task.ext.args ?: '' - def prefix = task.ext.prefix ?: "${meta.id}" - // TODO nf-core: Where possible, a command MUST be provided to obtain the version number of the software e.g. 1.10 - // If the software is unable to output a version number on the command-line then it can be manually specified - // e.g. https://github.com/nf-core/modules/blob/master/modules/nf-core/homer/annotatepeaks/main.nf - // Each software used MUST provide the software name and version number in the YAML version file (versions.yml) - // TODO nf-core: It MUST be possible to pass additional parameters to the tool as a command-line string via the "task.ext.args" directive - // TODO nf-core: If the tool supports multi-threading then you MUST provide the appropriate parameter - // using the Nextflow "task" variable e.g. "--threads $task.cpus" - // TODO nf-core: Please replace the example samtools command below with your module's command - // TODO nf-core: Please indent the command appropriately (4 spaces!!) to help with readability ;) - // preparegensinputdata \\ - // $args \\ - // -@ $task.cpus \\ - // -o ${prefix}.bam \\ - // $bam - - - """ - - generate_gens_data.py \\ - --coverage $read_counts \\ - --gvcf $gvcf \\ - --label $prefix \\ - --baf_positions $baf_positions \\ - --outdir \$PWD - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - preparegensinputdata: \$(generate_gens_data.py --version) - END_VERSIONS - """ - - stub: - def prefix = task.ext.prefix ?: "${meta.id}" - """ - touch ${prefix}.cov.bed.gz - touch ${prefix}.cov.bed.gz.tbi - touch ${prefix}.baf.bed.gz - touch ${prefix}.baf.bed.gz.tbi - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - preparegensinputdata: \$(generate_gens_data.py --version) - END_VERSIONS - """ -} From 8de95a45c4b3b5c32f27faae1deabd94d5e2e660 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Tue, 13 Jan 2026 09:19:26 +0100 Subject: [PATCH 04/37] Skip doi --- modules/nf-core/gens/preparecovandbaf/meta.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/meta.yml b/modules/nf-core/gens/preparecovandbaf/meta.yml index f264bdc3b25..94c04ac00dc 100644 --- a/modules/nf-core/gens/preparecovandbaf/meta.yml +++ b/modules/nf-core/gens/preparecovandbaf/meta.yml @@ -13,8 +13,6 @@ tools: homepage: "https://github.com/SMD-Bioinformatics-Lund/Prepare-Gens-input-data" documentation: "https://github.com/SMD-Bioinformatics-Lund/Prepare-Gens-input-data/README.md" tool_dev_url: "https://github.com/SMD-Bioinformatics-Lund/Prepare-Gens-input-data" - # FIXME: Just a placeholder - doi: "10.0000/mgen.0.000000" licence: [MIT] identifier: "" From e16f7924e4bd83c351608ad25d10155b4e1cee00 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Tue, 13 Jan 2026 09:32:57 +0100 Subject: [PATCH 05/37] Update meta --- modules/nf-core/gens/preparecovandbaf/main.nf | 4 +- .../nf-core/gens/preparecovandbaf/meta.yml | 76 +++++++++++++------ 2 files changed, 53 insertions(+), 27 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/main.nf b/modules/nf-core/gens/preparecovandbaf/main.nf index 6241ae84138..d4eead9625c 100644 --- a/modules/nf-core/gens/preparecovandbaf/main.nf +++ b/modules/nf-core/gens/preparecovandbaf/main.nf @@ -7,7 +7,7 @@ process PREPAREGENSINPUTDATA { 'community.wave.seqera.io/library/tabix_pip_gens-input-data-tools:acc3fd1b79233d2d' }" input: - tuple val(meta), path(read_counts_gz), path(gvcf), path(gvcf_tbi) + tuple val(meta), path(read_counts), path(gvcf), path(gvcf_tbi) path baf_positions output: @@ -32,7 +32,7 @@ process PREPAREGENSINPUTDATA { def python_base = "/opt/conda/lib/python3.14/site-packages/gens_input_data_tools" """ python3 $python_base/generate_cov_and_baf.py \\ - --coverage $read_counts_gz \\ + --coverage read_counts \\ --gvcf $gvcf \\ --label $prefix \\ --baf_positions $baf_positions \\ diff --git a/modules/nf-core/gens/preparecovandbaf/meta.yml b/modules/nf-core/gens/preparecovandbaf/meta.yml index 94c04ac00dc..c0b88051b5a 100644 --- a/modules/nf-core/gens/preparecovandbaf/meta.yml +++ b/modules/nf-core/gens/preparecovandbaf/meta.yml @@ -1,15 +1,12 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json -# # TODO nf-core: Add a description of the module and list keywords -name: "gens/preparecovandbaf" -description: write your description here +name: "preparegensinputdata" +description: Prepare coverage and BAF data for visualization in Gens keywords: - - sort - - example + - gens + - preprocessing - genomics tools: - ## TODO nf-core: Add a description and other details for the software below - "gens": - description: "" + description: "Scripts for preparing input data to Gens" homepage: "https://github.com/SMD-Bioinformatics-Lund/Prepare-Gens-input-data" documentation: "https://github.com/SMD-Bioinformatics-Lund/Prepare-Gens-input-data/README.md" tool_dev_url: "https://github.com/SMD-Bioinformatics-Lund/Prepare-Gens-input-data" @@ -17,36 +14,65 @@ tools: identifier: "" input: - ### TODO nf-core: Add a description of all of the variables used as input - - meta: type: map description: | Groovy Map containing sample information e.g. `[ id:'sample1' ]` - - bam: + - read_counts: type: file - description: Sorted BAM/CRAM/SAM file - pattern: "*.{bam,cram,sam}" - ontologies: - - edam: "http://edamontology.org/format_2572" # BAM - - edam: "http://edamontology.org/format_2573" # CRAM - - edam: "http://edamontology.org/format_3462" # SAM + description: Binned coverage calculations from GATK + pattern: "*.{tsv}" + - gvcf: + type: file + description: GVCF + pattern: "*.vcf.gz" + - gvcf_tbi: + type: file + description: GVCF tabix index + pattern: "*.vcf.gz.tbi" + - - baf_positions: + type: file + description: Sites to sample for BAF calculations + pattern: "*.{tsv,tsv.gz}" output: - ### TODO nf-core: Add a description of all of the variables used as output - - bam: + - cov_gz: - meta: type: map description: | Groovy Map containing sample information - - "*.bam": + - "*.cov.bed.gz": type: file - description: Sorted BAM/CRAM/SAM file - pattern: "*.{bam,cram,sam}" - ontologies: - - edam: "http://edamontology.org/format_2572" # BAM - - edam: "http://edamontology.org/format_2573" # CRAM - - edam: "http://edamontology.org/format_3462" # SAM + description: BGzipped bed file with coverage information + pattern: "*.{bed.gz}" + - cov_tbi: + - meta: + type: map + description: | + Groovy Map containing sample information + - "*.cov.bed.gz.tbi": + type: file + description: Tabix index for cov_gz + pattern: "*.{bed.gz.tbi}" + - baf_gz: + - meta: + type: map + description: | + Groovy Map containing sample information + - "*.cov.bed.gz": + type: file + description: BGzipped bed file with coverage information + pattern: "*.{bed.gz}" + - baf_tbi: + - meta: + type: map + description: | + Groovy Map containing sample information + - "*.cov.bed.gz.tbi": + type: file + description: Tabix index for baf_gz + pattern: "*.{bed.gz.tbi}" - versions: - "versions.yml": type: file From b8281bb0e7ac7d2e433386dc54299f8bf02659d1 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 14 Jan 2026 12:16:35 +0100 Subject: [PATCH 06/37] Drafting on test structure --- .../gens/preparecovandbaf/tests/main.nf.test | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test index d836129b904..72565605f0e 100644 --- a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test +++ b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test @@ -10,22 +10,19 @@ nextflow_process { tag "modules_nfcore" tag "preparegensinputdata" - // TODO nf-core: Change the test name preferably indicating the test-data and file-format used - test("sarscov2 - bam") { - - // TODO nf-core: If you are created a test for a chained module - // (the module requires running more than one process to generate the required output) - // add the 'setup' method here. - // You can find more information about how to use a 'setup' method in the docs (https://nf-co.re/docs/contributing/modules#steps-for-creating-nf-test-for-chained-modules). + test("preparegensinputdata - general test") { when { process { """ - // TODO nf-core: define inputs of the process here. Example: - input[0] = [ [ id:'test' ], - file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/gatk/chr21_binned_read_counts.tsv', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/chr21.gvcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/chr21.gvcf.gz.tbi', checkIfExists: true), + ] + input[1] = [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/tsv/baf_sites.tsv', checkIfExists: true), ] """ } @@ -46,18 +43,21 @@ nextflow_process { } // TODO nf-core: Change the test name preferably indicating the test-data and file-format used but keep the " - stub" suffix. - test("sarscov2 - bam - stub") { + test("preparegensinputdata - general test - stub") { options "-stub" when { process { """ - // TODO nf-core: define inputs of the process here. Example: - input[0] = [ [ id:'test' ], - file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/gatk/chr21_binned_read_counts.tsv', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/chr21.gvcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/chr21.gvcf.gz.tbi', checkIfExists: true), + ] + input[1] = [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/tsv/baf_sites.tsv', checkIfExists: true), ] """ } From 56d07eb7aa52fb054a06d50cec870e53d112ab88 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 14 Jan 2026 13:34:58 +0100 Subject: [PATCH 07/37] nf-module with test data --- .../gens/preparecovandbaf/tests/main.nf.test | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test index 72565605f0e..9ff8db6ac8f 100644 --- a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test +++ b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test @@ -10,6 +10,10 @@ nextflow_process { tag "modules_nfcore" tag "preparegensinputdata" + tmp_base = "https://raw.githubusercontent.com/Jakob37/nf-core-test-datasets/refs/heads/preparegensinputdata" + + params.modules_testdata_base_path = tmp_base + test("preparegensinputdata - general test") { when { @@ -17,12 +21,12 @@ nextflow_process { """ input[0] = [ [ id:'test' ], - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/gatk/chr21_binned_read_counts.tsv', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/chr21.gvcf.gz', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/chr21.gvcf.gz.tbi', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/gatk/hg002_chr20_90000_to_100000.standardizedCR.tsv', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/hg002_chr20_90000_to_100000.dnascope.gvcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/hg002_chr20_90000_to_100000.dnascope.gvcf.gz.tbi', checkIfExists: true), ] input[1] = [ - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/tsv/baf_sites.tsv', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/tsv/gnomad_hg38_chr20_90000_to_100000.0.05.txt.gz', checkIfExists: true), ] """ } @@ -35,14 +39,11 @@ nextflow_process { process.out, path(process.out.versions[0]).yaml ).match() } - //TODO nf-core: Add all required assertions to verify the test output. - // See https://nf-co.re/docs/contributing/tutorials/nf-test_assertions for more information and examples. ) } } - // TODO nf-core: Change the test name preferably indicating the test-data and file-format used but keep the " - stub" suffix. test("preparegensinputdata - general test - stub") { options "-stub" @@ -52,12 +53,12 @@ nextflow_process { """ input[0] = [ [ id:'test' ], - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/gatk/chr21_binned_read_counts.tsv', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/chr21.gvcf.gz', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/chr21.gvcf.gz.tbi', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/gatk/hg002_chr20_90000_to_100000.standardizedCR.tsv', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/hg002_chr20_90000_to_100000.dnascope.gvcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/hg002_chr20_90000_to_100000.dnascope.gvcf.gz', checkIfExists: true), ] input[1] = [ - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/tsv/baf_sites.tsv', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/tsv/gnomad_hg38_chr20_90000_to_100000.0.05.txt.gz', checkIfExists: true), ] """ } From be3f30c6b3c534c2db43878b4f9b7ca406ef5600 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 14 Jan 2026 13:41:48 +0100 Subject: [PATCH 08/37] Temporary test setup --- .../nf-core/gens/preparecovandbaf/tests/main.nf.test | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test index 9ff8db6ac8f..d93bbcd9328 100644 --- a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test +++ b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test @@ -10,12 +10,12 @@ nextflow_process { tag "modules_nfcore" tag "preparegensinputdata" - tmp_base = "https://raw.githubusercontent.com/Jakob37/nf-core-test-datasets/refs/heads/preparegensinputdata" - - params.modules_testdata_base_path = tmp_base + def testdata_base = "https://raw.githubusercontent.com/Jakob37/nf-core-test-datasets/refs/heads/preparegensinputdata" test("preparegensinputdata - general test") { + options "--modules_testdata_base_path=${testdata_base}" + when { process { """ @@ -46,7 +46,9 @@ nextflow_process { test("preparegensinputdata - general test - stub") { - options "-stub" + options "-stub --modules_testdata_base_path=${testdata_base}" + + // options "-stub" when { process { From 7764e308bc3df39c6ffd4e9b23f6738da6672db7 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 14 Jan 2026 13:54:33 +0100 Subject: [PATCH 09/37] Missing slash --- modules/nf-core/gens/preparecovandbaf/tests/main.nf.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test index d93bbcd9328..6a06bd81dfc 100644 --- a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test +++ b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test @@ -10,7 +10,7 @@ nextflow_process { tag "modules_nfcore" tag "preparegensinputdata" - def testdata_base = "https://raw.githubusercontent.com/Jakob37/nf-core-test-datasets/refs/heads/preparegensinputdata" + def testdata_base = "https://raw.githubusercontent.com/Jakob37/nf-core-test-datasets/refs/heads/preparegensinputdata/" test("preparegensinputdata - general test") { From 91cc31b35588c89bb2f79bc0bae45015ab4321cb Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Thu, 15 Jan 2026 07:35:39 +0100 Subject: [PATCH 10/37] Update container paths --- modules/nf-core/gens/preparecovandbaf/main.nf | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/main.nf b/modules/nf-core/gens/preparecovandbaf/main.nf index d4eead9625c..52543300954 100644 --- a/modules/nf-core/gens/preparecovandbaf/main.nf +++ b/modules/nf-core/gens/preparecovandbaf/main.nf @@ -2,9 +2,12 @@ process PREPAREGENSINPUTDATA { tag "$meta.id" label 'process_single' +https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/a9/a9f414681caefff508dcab89f4872ae3cda18d15b9b610b679fa5eb5023b4b7c/data +community.wave.seqera.io/library/tabix_pip_gens-input-data-tools:5d39cfe6f6bf258b + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/29/2931cf8e5eac90d974b42ec069b4268fd7f8aefa37b46fa18eb342a4802a967d/data': - 'community.wave.seqera.io/library/tabix_pip_gens-input-data-tools:acc3fd1b79233d2d' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/a9/a9f414681caefff508dcab89f4872ae3cda18d15b9b610b679fa5eb5023b4b7c/data': + 'community.wave.seqera.io/library/tabix_pip_gens-input-data-tools:5d39cfe6f6bf258b' }" input: tuple val(meta), path(read_counts), path(gvcf), path(gvcf_tbi) From 49c94780fa249a07f9846e29bb67c390c69136cf Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Thu, 15 Jan 2026 07:53:21 +0100 Subject: [PATCH 11/37] Remove leftover URLs --- modules/nf-core/gens/preparecovandbaf/main.nf | 3 --- 1 file changed, 3 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/main.nf b/modules/nf-core/gens/preparecovandbaf/main.nf index 52543300954..fde2e0da9b6 100644 --- a/modules/nf-core/gens/preparecovandbaf/main.nf +++ b/modules/nf-core/gens/preparecovandbaf/main.nf @@ -2,9 +2,6 @@ process PREPAREGENSINPUTDATA { tag "$meta.id" label 'process_single' -https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/a9/a9f414681caefff508dcab89f4872ae3cda18d15b9b610b679fa5eb5023b4b7c/data -community.wave.seqera.io/library/tabix_pip_gens-input-data-tools:5d39cfe6f6bf258b - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/a9/a9f414681caefff508dcab89f4872ae3cda18d15b9b610b679fa5eb5023b4b7c/data': 'community.wave.seqera.io/library/tabix_pip_gens-input-data-tools:5d39cfe6f6bf258b' }" From f887f7938014806fe057eeb435619bd1e6d9b6cd Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Thu, 15 Jan 2026 07:55:10 +0100 Subject: [PATCH 12/37] Use the updated Python package entry point --- modules/nf-core/gens/preparecovandbaf/main.nf | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/main.nf b/modules/nf-core/gens/preparecovandbaf/main.nf index fde2e0da9b6..0c07a44570c 100644 --- a/modules/nf-core/gens/preparecovandbaf/main.nf +++ b/modules/nf-core/gens/preparecovandbaf/main.nf @@ -28,10 +28,8 @@ process PREPAREGENSINPUTDATA { def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" - // FIXME: Can I avoid this - def python_base = "/opt/conda/lib/python3.14/site-packages/gens_input_data_tools" """ - python3 $python_base/generate_cov_and_baf.py \\ + generate_cov_and_baf \\ --coverage read_counts \\ --gvcf $gvcf \\ --label $prefix \\ @@ -42,13 +40,12 @@ process PREPAREGENSINPUTDATA { cat <<-END_VERSIONS > versions.yml "${task.process}": - preparegensinputdata: \$(python3 $python_base/generate_cov_and_baf.py --version) + preparegensinputdata: \$(generate_cov_and_baf --version) END_VERSIONS """ stub: def prefix = task.ext.prefix ?: "${meta.id}" - def python_base = "/opt/conda/lib/python3.14/site-packages/gens_input_data_tools" """ echo "" | gzip > ${prefix}.cov.bed.gz touch ${prefix}.cov.bed.gz.tbi @@ -57,7 +54,7 @@ process PREPAREGENSINPUTDATA { cat <<-END_VERSIONS > versions.yml "${task.process}": - preparegensinputdata: \$(python3 $python_base/generate_cov_and_baf.py --version) + preparegensinputdata: \$(generate_cov_and_baf --version) END_VERSIONS """ } From 3cc6acfaf5d1e4b8c78a0e414515690e4a2d452e Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Thu, 15 Jan 2026 07:56:57 +0100 Subject: [PATCH 13/37] Separate stub input file names --- modules/nf-core/gens/preparecovandbaf/tests/main.nf.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test index 6a06bd81dfc..03ce721f9a4 100644 --- a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test +++ b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test @@ -57,7 +57,7 @@ nextflow_process { [ id:'test' ], file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/gatk/hg002_chr20_90000_to_100000.standardizedCR.tsv', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/hg002_chr20_90000_to_100000.dnascope.gvcf.gz', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/hg002_chr20_90000_to_100000.dnascope.gvcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/hg002_chr20_90000_to_100000.dnascope.gvcf.gz.tbi', checkIfExists: true), ] input[1] = [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/tsv/gnomad_hg38_chr20_90000_to_100000.0.05.txt.gz', checkIfExists: true), From a8f90a92be32c5e8b6ec01afe5f29e569330344a Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Thu, 15 Jan 2026 08:08:38 +0100 Subject: [PATCH 14/37] Read counts as a variable --- modules/nf-core/gens/preparecovandbaf/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/gens/preparecovandbaf/main.nf b/modules/nf-core/gens/preparecovandbaf/main.nf index 0c07a44570c..64799dae438 100644 --- a/modules/nf-core/gens/preparecovandbaf/main.nf +++ b/modules/nf-core/gens/preparecovandbaf/main.nf @@ -30,7 +30,7 @@ process PREPAREGENSINPUTDATA { def prefix = task.ext.prefix ?: "${meta.id}" """ generate_cov_and_baf \\ - --coverage read_counts \\ + --coverage $read_counts \\ --gvcf $gvcf \\ --label $prefix \\ --baf_positions $baf_positions \\ From 5b48d49d8829222ba1d003a4c6e18d1830326b16 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Thu, 15 Jan 2026 08:14:02 +0100 Subject: [PATCH 15/37] Test snapshots --- .../preparecovandbaf/tests/main.nf.test.snap | 174 ++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 modules/nf-core/gens/preparecovandbaf/tests/main.nf.test.snap diff --git a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test.snap b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test.snap new file mode 100644 index 00000000000..61245d011af --- /dev/null +++ b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test.snap @@ -0,0 +1,174 @@ +{ + "preparegensinputdata - general test": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.cov.bed.gz:md5,2df1734048f1bab141050822a426145e" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test.cov.bed.gz.tbi:md5,66025dc44413e9e17c8e11af09e06dbe" + ] + ], + "2": [ + [ + { + "id": "test" + }, + "test.baf.bed.gz:md5,ae86e22390df1ba20a931b70be92079f" + ] + ], + "3": [ + [ + { + "id": "test" + }, + "test.baf.bed.gz.tbi:md5,442c8518dd2f818757a10ca4f06c1b6c" + ] + ], + "4": [ + "versions.yml:md5,ed5dc065590cc00ec96b1e2e84a3fec8" + ], + "baf_gz": [ + [ + { + "id": "test" + }, + "test.baf.bed.gz:md5,ae86e22390df1ba20a931b70be92079f" + ] + ], + "baf_tbi": [ + [ + { + "id": "test" + }, + "test.baf.bed.gz.tbi:md5,442c8518dd2f818757a10ca4f06c1b6c" + ] + ], + "cov_gz": [ + [ + { + "id": "test" + }, + "test.cov.bed.gz:md5,2df1734048f1bab141050822a426145e" + ] + ], + "cov_tbi": [ + [ + { + "id": "test" + }, + "test.cov.bed.gz.tbi:md5,66025dc44413e9e17c8e11af09e06dbe" + ] + ], + "versions": [ + "versions.yml:md5,ed5dc065590cc00ec96b1e2e84a3fec8" + ] + }, + { + "PREPAREGENSINPUTDATA": { + "preparegensinputdata": "1.1.4" + } + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.0" + }, + "timestamp": "2026-01-15T08:13:38.636808249" + }, + "preparegensinputdata - general test - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.cov.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test.cov.bed.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test" + }, + "test.baf.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "3": [ + [ + { + "id": "test" + }, + "test.baf.bed.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + "versions.yml:md5,ed5dc065590cc00ec96b1e2e84a3fec8" + ], + "baf_gz": [ + [ + { + "id": "test" + }, + "test.baf.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "baf_tbi": [ + [ + { + "id": "test" + }, + "test.baf.bed.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "cov_gz": [ + [ + { + "id": "test" + }, + "test.cov.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "cov_tbi": [ + [ + { + "id": "test" + }, + "test.cov.bed.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,ed5dc065590cc00ec96b1e2e84a3fec8" + ] + }, + { + "PREPAREGENSINPUTDATA": { + "preparegensinputdata": "1.1.4" + } + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.0" + }, + "timestamp": "2026-01-15T08:13:50.153946003" + } +} \ No newline at end of file From 37517f6576c04c5d1986cad2501a43653888f3c7 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 21 Jan 2026 11:11:47 +0100 Subject: [PATCH 16/37] Update tests to use test repo data --- .../gens/preparecovandbaf/tests/main.nf.test | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test index 03ce721f9a4..cc0cc26ef64 100644 --- a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test +++ b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test @@ -10,23 +10,21 @@ nextflow_process { tag "modules_nfcore" tag "preparegensinputdata" - def testdata_base = "https://raw.githubusercontent.com/Jakob37/nf-core-test-datasets/refs/heads/preparegensinputdata/" + // def testdata_base = "https://raw.githubusercontent.com/Jakob37/nf-core-test-datasets/refs/heads/preparegensinputdata/" test("preparegensinputdata - general test") { - options "--modules_testdata_base_path=${testdata_base}" - when { process { """ input[0] = [ [ id:'test' ], - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/gatk/hg002_chr20_90000_to_100000.standardizedCR.tsv', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/hg002_chr20_90000_to_100000.dnascope.gvcf.gz', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/hg002_chr20_90000_to_100000.dnascope.gvcf.gz.tbi', checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/gatk/hg002_chr20_90000_to_100000.standardizedCR.tsv", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/vcf/hg002_chr20_90000_to_100000.dnascope.gvcf.gz", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/vcf/hg002_chr20_90000_to_100000.dnascope.gvcf.gz.tbi", checkIfExists: true), ] input[1] = [ - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/tsv/gnomad_hg38_chr20_90000_to_100000.0.05.txt.gz', checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/tab/gnomad_hg38_chr20_90000_to_100000.0.05.txt.gz", checkIfExists: true), ] """ } @@ -46,21 +44,21 @@ nextflow_process { test("preparegensinputdata - general test - stub") { - options "-stub --modules_testdata_base_path=${testdata_base}" + // options "-stub --modules_testdata_base_path=${testdata_base}" - // options "-stub" + options "-stub" when { process { """ input[0] = [ [ id:'test' ], - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/gatk/hg002_chr20_90000_to_100000.standardizedCR.tsv', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/hg002_chr20_90000_to_100000.dnascope.gvcf.gz', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/hg002_chr20_90000_to_100000.dnascope.gvcf.gz.tbi', checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/gatk/hg002_chr20_90000_to_100000.standardizedCR.tsv", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/vcf/hg002_chr20_90000_to_100000.dnascope.gvcf.gz", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/vcf/hg002_chr20_90000_to_100000.dnascope.gvcf.gz.tbi", checkIfExists: true), ] input[1] = [ - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/tsv/gnomad_hg38_chr20_90000_to_100000.0.05.txt.gz', checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/tab/gnomad_hg38_chr20_90000_to_100000.0.05.txt.gz", checkIfExists: true), ] """ } From 853e968764ec93cfc0fb2020142e600a8ad0ccb2 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 21 Jan 2026 11:24:27 +0100 Subject: [PATCH 17/37] Wrapping changes --- modules/nf-core/gens/preparecovandbaf/environment.yml | 10 ++++------ modules/nf-core/gens/preparecovandbaf/main.nf | 5 ----- modules/nf-core/gens/preparecovandbaf/meta.yml | 3 ++- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/environment.yml b/modules/nf-core/gens/preparecovandbaf/environment.yml index 32bc330d8f5..bebfe552f64 100644 --- a/modules/nf-core/gens/preparecovandbaf/environment.yml +++ b/modules/nf-core/gens/preparecovandbaf/environment.yml @@ -1,10 +1,8 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda dependencies: - # TODO nf-core: List required Conda package(s). - # Software MUST be pinned to channel (i.e. "bioconda"), version (i.e. "1.10"). - # For Conda, the build (i.e. "h9402c20_2") must be EXCLUDED to support installation on different operating systems. - - "YOUR-TOOL-HERE" + - bioconda::tabix=1.11 + - pip + - pip: + - gens-input-data-tools=2.0.0 diff --git a/modules/nf-core/gens/preparecovandbaf/main.nf b/modules/nf-core/gens/preparecovandbaf/main.nf index 64799dae438..b6c67a23fd3 100644 --- a/modules/nf-core/gens/preparecovandbaf/main.nf +++ b/modules/nf-core/gens/preparecovandbaf/main.nf @@ -21,11 +21,6 @@ process PREPAREGENSINPUTDATA { task.ext.when == null || task.ext.when script: - // Exit if running this module with -profile conda / -profile mamba - if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) { - error "The gens pre-processing module does not support Conda. Please use Docker / Singularity / Podman instead." - } - def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" """ diff --git a/modules/nf-core/gens/preparecovandbaf/meta.yml b/modules/nf-core/gens/preparecovandbaf/meta.yml index c0b88051b5a..d79a311261e 100644 --- a/modules/nf-core/gens/preparecovandbaf/meta.yml +++ b/modules/nf-core/gens/preparecovandbaf/meta.yml @@ -1,9 +1,10 @@ name: "preparegensinputdata" -description: Prepare coverage and BAF data for visualization in Gens +description: Tools for preparing inputs for visualization in Gens keywords: - gens - preprocessing - genomics + - CNV tools: - "gens": description: "Scripts for preparing input data to Gens" From 211d066cb903bfa0859a0604a4696b433ba0ed93 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 21 Jan 2026 11:38:47 +0100 Subject: [PATCH 18/37] Trying to put files into the correct locations --- modules/nf-core/gens/preparecovandbaf/main.nf | 6 +++--- .../nf-core/gens/preparecovandbaf/tests/main.nf.test | 12 ++++-------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/main.nf b/modules/nf-core/gens/preparecovandbaf/main.nf index b6c67a23fd3..a2d637ff6a5 100644 --- a/modules/nf-core/gens/preparecovandbaf/main.nf +++ b/modules/nf-core/gens/preparecovandbaf/main.nf @@ -1,4 +1,4 @@ -process PREPAREGENSINPUTDATA { +process PREPARECOVANDBAF { tag "$meta.id" label 'process_single' @@ -35,7 +35,7 @@ process PREPAREGENSINPUTDATA { cat <<-END_VERSIONS > versions.yml "${task.process}": - preparegensinputdata: \$(generate_cov_and_baf --version) + preparecovandbaf: \$(generate_cov_and_baf --version) END_VERSIONS """ @@ -49,7 +49,7 @@ process PREPAREGENSINPUTDATA { cat <<-END_VERSIONS > versions.yml "${task.process}": - preparegensinputdata: \$(generate_cov_and_baf --version) + preparecovandbaf: \$(generate_cov_and_baf --version) END_VERSIONS """ } diff --git a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test index cc0cc26ef64..40f287c5a74 100644 --- a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test +++ b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test @@ -2,17 +2,15 @@ // nf-core modules test preparegensinputdata nextflow_process { - name "Test Process PREPAREGENSINPUTDATA" + name "Test Process PREPARECOVANDBAF" script "../main.nf" - process "PREPAREGENSINPUTDATA" + process "PREPARECOVANDBAF" tag "modules" tag "modules_nfcore" tag "preparegensinputdata" - // def testdata_base = "https://raw.githubusercontent.com/Jakob37/nf-core-test-datasets/refs/heads/preparegensinputdata/" - - test("preparegensinputdata - general test") { + test("preparecovandbaf - general test") { when { process { @@ -42,9 +40,7 @@ nextflow_process { } - test("preparegensinputdata - general test - stub") { - - // options "-stub --modules_testdata_base_path=${testdata_base}" + test("preparecovandbaf - general test - stub") { options "-stub" From 61b0506ac215b5fcee5c29e879022bcf43d41457 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 21 Jan 2026 12:00:46 +0100 Subject: [PATCH 19/37] Fix the output channels --- modules/nf-core/gens/preparecovandbaf/meta.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/meta.yml b/modules/nf-core/gens/preparecovandbaf/meta.yml index d79a311261e..01fe0971647 100644 --- a/modules/nf-core/gens/preparecovandbaf/meta.yml +++ b/modules/nf-core/gens/preparecovandbaf/meta.yml @@ -46,7 +46,7 @@ output: - "*.cov.bed.gz": type: file description: BGzipped bed file with coverage information - pattern: "*.{bed.gz}" + pattern: "*.cov.bed.gz" - cov_tbi: - meta: type: map @@ -55,7 +55,7 @@ output: - "*.cov.bed.gz.tbi": type: file description: Tabix index for cov_gz - pattern: "*.{bed.gz.tbi}" + pattern: "*.cov.bed.gz.tbi" - baf_gz: - meta: type: map @@ -64,7 +64,7 @@ output: - "*.cov.bed.gz": type: file description: BGzipped bed file with coverage information - pattern: "*.{bed.gz}" + pattern: "*.baf.bed.gz" - baf_tbi: - meta: type: map @@ -73,7 +73,7 @@ output: - "*.cov.bed.gz.tbi": type: file description: Tabix index for baf_gz - pattern: "*.{bed.gz.tbi}" + pattern: "*.baf.bed.gz.tbi" - versions: - "versions.yml": type: file From cf1be947c443ad998ee09f6ff505480c2814caf8 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 21 Jan 2026 12:18:20 +0100 Subject: [PATCH 20/37] Trying to get input names right --- .../nf-core/gens/preparecovandbaf/meta.yml | 3 +- .../gens/preparecovandbaf/tests/main.nf.test | 2 +- .../preparecovandbaf/tests/main.nf.test.snap | 174 ------------------ .../gens/preparecovandbaf/tests/tags.yml | 2 + 4 files changed, 5 insertions(+), 176 deletions(-) delete mode 100644 modules/nf-core/gens/preparecovandbaf/tests/main.nf.test.snap create mode 100644 modules/nf-core/gens/preparecovandbaf/tests/tags.yml diff --git a/modules/nf-core/gens/preparecovandbaf/meta.yml b/modules/nf-core/gens/preparecovandbaf/meta.yml index 01fe0971647..a69f8b83c51 100644 --- a/modules/nf-core/gens/preparecovandbaf/meta.yml +++ b/modules/nf-core/gens/preparecovandbaf/meta.yml @@ -1,7 +1,8 @@ -name: "preparegensinputdata" +name: "gens_preparecovandbaf" description: Tools for preparing inputs for visualization in Gens keywords: - gens + - preparecovandbaf - preprocessing - genomics - CNV diff --git a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test index 40f287c5a74..bd141082288 100644 --- a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test +++ b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test @@ -8,7 +8,7 @@ nextflow_process { tag "modules" tag "modules_nfcore" - tag "preparegensinputdata" + tag "preparecovandbaf" test("preparecovandbaf - general test") { diff --git a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test.snap b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test.snap deleted file mode 100644 index 61245d011af..00000000000 --- a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test.snap +++ /dev/null @@ -1,174 +0,0 @@ -{ - "preparegensinputdata - general test": { - "content": [ - { - "0": [ - [ - { - "id": "test" - }, - "test.cov.bed.gz:md5,2df1734048f1bab141050822a426145e" - ] - ], - "1": [ - [ - { - "id": "test" - }, - "test.cov.bed.gz.tbi:md5,66025dc44413e9e17c8e11af09e06dbe" - ] - ], - "2": [ - [ - { - "id": "test" - }, - "test.baf.bed.gz:md5,ae86e22390df1ba20a931b70be92079f" - ] - ], - "3": [ - [ - { - "id": "test" - }, - "test.baf.bed.gz.tbi:md5,442c8518dd2f818757a10ca4f06c1b6c" - ] - ], - "4": [ - "versions.yml:md5,ed5dc065590cc00ec96b1e2e84a3fec8" - ], - "baf_gz": [ - [ - { - "id": "test" - }, - "test.baf.bed.gz:md5,ae86e22390df1ba20a931b70be92079f" - ] - ], - "baf_tbi": [ - [ - { - "id": "test" - }, - "test.baf.bed.gz.tbi:md5,442c8518dd2f818757a10ca4f06c1b6c" - ] - ], - "cov_gz": [ - [ - { - "id": "test" - }, - "test.cov.bed.gz:md5,2df1734048f1bab141050822a426145e" - ] - ], - "cov_tbi": [ - [ - { - "id": "test" - }, - "test.cov.bed.gz.tbi:md5,66025dc44413e9e17c8e11af09e06dbe" - ] - ], - "versions": [ - "versions.yml:md5,ed5dc065590cc00ec96b1e2e84a3fec8" - ] - }, - { - "PREPAREGENSINPUTDATA": { - "preparegensinputdata": "1.1.4" - } - } - ], - "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.0" - }, - "timestamp": "2026-01-15T08:13:38.636808249" - }, - "preparegensinputdata - general test - stub": { - "content": [ - { - "0": [ - [ - { - "id": "test" - }, - "test.cov.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" - ] - ], - "1": [ - [ - { - "id": "test" - }, - "test.cov.bed.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "2": [ - [ - { - "id": "test" - }, - "test.baf.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" - ] - ], - "3": [ - [ - { - "id": "test" - }, - "test.baf.bed.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "4": [ - "versions.yml:md5,ed5dc065590cc00ec96b1e2e84a3fec8" - ], - "baf_gz": [ - [ - { - "id": "test" - }, - "test.baf.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" - ] - ], - "baf_tbi": [ - [ - { - "id": "test" - }, - "test.baf.bed.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "cov_gz": [ - [ - { - "id": "test" - }, - "test.cov.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" - ] - ], - "cov_tbi": [ - [ - { - "id": "test" - }, - "test.cov.bed.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "versions": [ - "versions.yml:md5,ed5dc065590cc00ec96b1e2e84a3fec8" - ] - }, - { - "PREPAREGENSINPUTDATA": { - "preparegensinputdata": "1.1.4" - } - } - ], - "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.0" - }, - "timestamp": "2026-01-15T08:13:50.153946003" - } -} \ No newline at end of file diff --git a/modules/nf-core/gens/preparecovandbaf/tests/tags.yml b/modules/nf-core/gens/preparecovandbaf/tests/tags.yml new file mode 100644 index 00000000000..2c5ae0497af --- /dev/null +++ b/modules/nf-core/gens/preparecovandbaf/tests/tags.yml @@ -0,0 +1,2 @@ +gens/preparecovandbaf: + - modules/nf-core/gens/preparecovandbaf/** From e5f728869f58c7f091b1bd2e4acbc26dc266a4f7 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 21 Jan 2026 13:56:41 +0100 Subject: [PATCH 21/37] Successful nf-test run --- .../gens/preparecovandbaf/tests/main.nf.test | 9 +- .../preparecovandbaf/tests/main.nf.test.snap | 174 ++++++++++++++++++ 2 files changed, 179 insertions(+), 4 deletions(-) create mode 100644 modules/nf-core/gens/preparecovandbaf/tests/main.nf.test.snap diff --git a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test index bd141082288..753f1e3a6be 100644 --- a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test +++ b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test @@ -3,14 +3,15 @@ nextflow_process { name "Test Process PREPARECOVANDBAF" - script "../main.nf" + script "modules/nf-core/gens/preparecovandbaf/main.nf" process "PREPARECOVANDBAF" tag "modules" tag "modules_nfcore" - tag "preparecovandbaf" + tag "gens" + tag "gens/preparecovandbaf" - test("preparecovandbaf - general test") { + test("gens_preparecovandbaf") { when { process { @@ -40,7 +41,7 @@ nextflow_process { } - test("preparecovandbaf - general test - stub") { + test("gens_preparecovandbaf - stub") { options "-stub" diff --git a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test.snap b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test.snap new file mode 100644 index 00000000000..94091159556 --- /dev/null +++ b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test.snap @@ -0,0 +1,174 @@ +{ + "gens_preparecovandbaf - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.cov.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test.cov.bed.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test" + }, + "test.baf.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "3": [ + [ + { + "id": "test" + }, + "test.baf.bed.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + "versions.yml:md5,f80ba0645aa89bb92872621ccfac46cb" + ], + "baf_gz": [ + [ + { + "id": "test" + }, + "test.baf.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "baf_tbi": [ + [ + { + "id": "test" + }, + "test.baf.bed.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "cov_gz": [ + [ + { + "id": "test" + }, + "test.cov.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "cov_tbi": [ + [ + { + "id": "test" + }, + "test.cov.bed.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,f80ba0645aa89bb92872621ccfac46cb" + ] + }, + { + "PREPARECOVANDBAF": { + "preparecovandbaf": "1.1.4" + } + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.0" + }, + "timestamp": "2026-01-21T13:47:59.013551473" + }, + "gens_preparecovandbaf": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.cov.bed.gz:md5,2df1734048f1bab141050822a426145e" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test.cov.bed.gz.tbi:md5,66025dc44413e9e17c8e11af09e06dbe" + ] + ], + "2": [ + [ + { + "id": "test" + }, + "test.baf.bed.gz:md5,ae86e22390df1ba20a931b70be92079f" + ] + ], + "3": [ + [ + { + "id": "test" + }, + "test.baf.bed.gz.tbi:md5,442c8518dd2f818757a10ca4f06c1b6c" + ] + ], + "4": [ + "versions.yml:md5,f80ba0645aa89bb92872621ccfac46cb" + ], + "baf_gz": [ + [ + { + "id": "test" + }, + "test.baf.bed.gz:md5,ae86e22390df1ba20a931b70be92079f" + ] + ], + "baf_tbi": [ + [ + { + "id": "test" + }, + "test.baf.bed.gz.tbi:md5,442c8518dd2f818757a10ca4f06c1b6c" + ] + ], + "cov_gz": [ + [ + { + "id": "test" + }, + "test.cov.bed.gz:md5,2df1734048f1bab141050822a426145e" + ] + ], + "cov_tbi": [ + [ + { + "id": "test" + }, + "test.cov.bed.gz.tbi:md5,66025dc44413e9e17c8e11af09e06dbe" + ] + ], + "versions": [ + "versions.yml:md5,f80ba0645aa89bb92872621ccfac46cb" + ] + }, + { + "PREPARECOVANDBAF": { + "preparecovandbaf": "1.1.4" + } + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.0" + }, + "timestamp": "2026-01-21T13:47:48.808843931" + } +} \ No newline at end of file From 30c820075006441bd09fd985012b5b83e1c67ad7 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 21 Jan 2026 13:57:28 +0100 Subject: [PATCH 22/37] Remove todo --- modules/nf-core/gens/preparecovandbaf/tests/main.nf.test | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test index 753f1e3a6be..e03e63ee512 100644 --- a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test +++ b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test @@ -1,5 +1,3 @@ -// TODO nf-core: Once you have added the required tests, please run the following command to build this file: -// nf-core modules test preparegensinputdata nextflow_process { name "Test Process PREPARECOVANDBAF" From c23fd176e267e6eedc9443ca67c27eeaac35e1fd Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 21 Jan 2026 13:58:44 +0100 Subject: [PATCH 23/37] Add topic: versions --- modules/nf-core/gens/preparecovandbaf/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/gens/preparecovandbaf/main.nf b/modules/nf-core/gens/preparecovandbaf/main.nf index a2d637ff6a5..6ce6e1cf3fe 100644 --- a/modules/nf-core/gens/preparecovandbaf/main.nf +++ b/modules/nf-core/gens/preparecovandbaf/main.nf @@ -15,7 +15,7 @@ process PREPARECOVANDBAF { tuple val(meta), path("*.cov.bed.gz.tbi") , emit: cov_tbi tuple val(meta), path("*.baf.bed.gz") , emit: baf_gz tuple val(meta), path("*.baf.bed.gz.tbi") , emit: baf_tbi - path "versions.yml" , emit: versions + path "versions.yml" , emit: versions, topic: versions when: task.ext.when == null || task.ext.when From 35a636381da4913bf44d353941aa561cd32ddca2 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 21 Jan 2026 14:38:46 +0100 Subject: [PATCH 24/37] Pin environment.yml versions --- modules/nf-core/gens/preparecovandbaf/environment.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/environment.yml b/modules/nf-core/gens/preparecovandbaf/environment.yml index bebfe552f64..5bae147833d 100644 --- a/modules/nf-core/gens/preparecovandbaf/environment.yml +++ b/modules/nf-core/gens/preparecovandbaf/environment.yml @@ -2,7 +2,7 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::tabix=1.11 + - bioconda::tabix==1.11 - pip - pip: - - gens-input-data-tools=2.0.0 + - gens-input-data-tools==2.0.0 From 25df86530353ebc5fbfb861bf9a088c7f805e127 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 21 Jan 2026 14:41:40 +0100 Subject: [PATCH 25/37] Rename versions channel --- modules/nf-core/gens/preparecovandbaf/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/gens/preparecovandbaf/main.nf b/modules/nf-core/gens/preparecovandbaf/main.nf index 6ce6e1cf3fe..b787cb5afb5 100644 --- a/modules/nf-core/gens/preparecovandbaf/main.nf +++ b/modules/nf-core/gens/preparecovandbaf/main.nf @@ -15,7 +15,7 @@ process PREPARECOVANDBAF { tuple val(meta), path("*.cov.bed.gz.tbi") , emit: cov_tbi tuple val(meta), path("*.baf.bed.gz") , emit: baf_gz tuple val(meta), path("*.baf.bed.gz.tbi") , emit: baf_tbi - path "versions.yml" , emit: versions, topic: versions + path "versions.yml" , emit: versions_preparecovandbaf, topic: versions when: task.ext.when == null || task.ext.when From 9932f839c0eb796617e24a1447c46131f1a8fca7 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 21 Jan 2026 14:44:22 +0100 Subject: [PATCH 26/37] Versions output channel --- modules/nf-core/gens/preparecovandbaf/main.nf | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/main.nf b/modules/nf-core/gens/preparecovandbaf/main.nf index b787cb5afb5..1b0b7822600 100644 --- a/modules/nf-core/gens/preparecovandbaf/main.nf +++ b/modules/nf-core/gens/preparecovandbaf/main.nf @@ -15,7 +15,7 @@ process PREPARECOVANDBAF { tuple val(meta), path("*.cov.bed.gz.tbi") , emit: cov_tbi tuple val(meta), path("*.baf.bed.gz") , emit: baf_gz tuple val(meta), path("*.baf.bed.gz.tbi") , emit: baf_tbi - path "versions.yml" , emit: versions_preparecovandbaf, topic: versions + path val("${task.process}"), val('preparecovandbaf'), eval("generate_cov_and_baf --version"), topic: versions, emit: versions_preparecovandbaf when: task.ext.when == null || task.ext.when @@ -32,11 +32,6 @@ process PREPARECOVANDBAF { --bgzip_tabix_output \\ $args \\ --outdir . - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - preparecovandbaf: \$(generate_cov_and_baf --version) - END_VERSIONS """ stub: @@ -46,10 +41,5 @@ process PREPARECOVANDBAF { touch ${prefix}.cov.bed.gz.tbi echo "" | gzip > ${prefix}.baf.bed.gz touch ${prefix}.baf.bed.gz.tbi - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - preparecovandbaf: \$(generate_cov_and_baf --version) - END_VERSIONS """ } From a1ee38d876f18f3d57d88bf578ccc07cc66de121 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 21 Jan 2026 14:54:55 +0100 Subject: [PATCH 27/37] Make the versions channel a tuple --- modules/nf-core/gens/preparecovandbaf/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/gens/preparecovandbaf/main.nf b/modules/nf-core/gens/preparecovandbaf/main.nf index 1b0b7822600..110737b69ce 100644 --- a/modules/nf-core/gens/preparecovandbaf/main.nf +++ b/modules/nf-core/gens/preparecovandbaf/main.nf @@ -15,7 +15,7 @@ process PREPARECOVANDBAF { tuple val(meta), path("*.cov.bed.gz.tbi") , emit: cov_tbi tuple val(meta), path("*.baf.bed.gz") , emit: baf_gz tuple val(meta), path("*.baf.bed.gz.tbi") , emit: baf_tbi - path val("${task.process}"), val('preparecovandbaf'), eval("generate_cov_and_baf --version"), topic: versions, emit: versions_preparecovandbaf + tuple val("${task.process}"), val('preparecovandbaf'), eval("generate_cov_and_baf --version"), topic: versions, emit: versions_preparecovandbaf when: task.ext.when == null || task.ext.when From a29d089fa2b386f05a737bd2b9df02989d6e3e57 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 21 Jan 2026 15:01:21 +0100 Subject: [PATCH 28/37] Cleanup linting issues --- .../gens/preparecovandbaf/environment.yml | 5 +++- modules/nf-core/gens/preparecovandbaf/main.nf | 1 + .../nf-core/gens/preparecovandbaf/meta.yml | 30 +++++++++---------- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/environment.yml b/modules/nf-core/gens/preparecovandbaf/environment.yml index 5bae147833d..e3c3b98195a 100644 --- a/modules/nf-core/gens/preparecovandbaf/environment.yml +++ b/modules/nf-core/gens/preparecovandbaf/environment.yml @@ -1,8 +1,11 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda dependencies: - bioconda::tabix==1.11 - - pip + - conda-forge::pip=25.3 + - conda-forge::python=3.14.2 - pip: - gens-input-data-tools==2.0.0 diff --git a/modules/nf-core/gens/preparecovandbaf/main.nf b/modules/nf-core/gens/preparecovandbaf/main.nf index 110737b69ce..a036f28cece 100644 --- a/modules/nf-core/gens/preparecovandbaf/main.nf +++ b/modules/nf-core/gens/preparecovandbaf/main.nf @@ -2,6 +2,7 @@ process PREPARECOVANDBAF { tag "$meta.id" label 'process_single' + conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/a9/a9f414681caefff508dcab89f4872ae3cda18d15b9b610b679fa5eb5023b4b7c/data': 'community.wave.seqera.io/library/tabix_pip_gens-input-data-tools:5d39cfe6f6bf258b' }" diff --git a/modules/nf-core/gens/preparecovandbaf/meta.yml b/modules/nf-core/gens/preparecovandbaf/meta.yml index a69f8b83c51..5e784e3f29c 100644 --- a/modules/nf-core/gens/preparecovandbaf/meta.yml +++ b/modules/nf-core/gens/preparecovandbaf/meta.yml @@ -39,8 +39,8 @@ input: pattern: "*.{tsv,tsv.gz}" output: - - cov_gz: - - meta: + cov_gz: + - - meta: type: map description: | Groovy Map containing sample information @@ -48,8 +48,8 @@ output: type: file description: BGzipped bed file with coverage information pattern: "*.cov.bed.gz" - - cov_tbi: - - meta: + cov_tbi: + - - meta: type: map description: | Groovy Map containing sample information @@ -57,8 +57,8 @@ output: type: file description: Tabix index for cov_gz pattern: "*.cov.bed.gz.tbi" - - baf_gz: - - meta: + baf_gz: + - - meta: type: map description: | Groovy Map containing sample information @@ -66,8 +66,8 @@ output: type: file description: BGzipped bed file with coverage information pattern: "*.baf.bed.gz" - - baf_tbi: - - meta: + baf_tbi: + - - meta: type: map description: | Groovy Map containing sample information @@ -75,13 +75,13 @@ output: type: file description: Tabix index for baf_gz pattern: "*.baf.bed.gz.tbi" - - versions: - - "versions.yml": - type: file - description: File containing software versions - pattern: "versions.yml" - ontologies: - - edam: "http://edamontology.org/format_3750" # YAML + versions: + - "versions.yml": + type: file + description: File containing software versions + pattern: "versions.yml" + ontologies: + - edam: "http://edamontology.org/format_3750" # YAML authors: - "@jakob37" From 4345e9c8a0c5ad460acebed1b8a85274e77c3d17 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 21 Jan 2026 15:19:02 +0100 Subject: [PATCH 29/37] meta.yml --- .../nf-core/gens/preparecovandbaf/meta.yml | 62 +++++++++++++------ 1 file changed, 44 insertions(+), 18 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/meta.yml b/modules/nf-core/gens/preparecovandbaf/meta.yml index 5e784e3f29c..c78cfef0d91 100644 --- a/modules/nf-core/gens/preparecovandbaf/meta.yml +++ b/modules/nf-core/gens/preparecovandbaf/meta.yml @@ -25,64 +25,90 @@ input: type: file description: Binned coverage calculations from GATK pattern: "*.{tsv}" + ontologies: + - edam: http://edamontology.org/format_3475 # TSV - gvcf: type: file description: GVCF pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format - gvcf_tbi: type: file description: GVCF tabix index pattern: "*.vcf.gz.tbi" - - - baf_positions: - type: file - description: Sites to sample for BAF calculations - pattern: "*.{tsv,tsv.gz}" + ontologies: [] + - baf_positions: + type: file + description: Sites to sample for BAF calculations + pattern: "*.{tsv,tsv.gz}" + ontologies: + - edam: http://edamontology.org/format_3475 # TSV output: cov_gz: - - meta: type: map description: | Groovy Map containing sample information - - "*.cov.bed.gz": + - coverage_bed: type: file description: BGzipped bed file with coverage information pattern: "*.cov.bed.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format cov_tbi: - - meta: type: map description: | Groovy Map containing sample information - - "*.cov.bed.gz.tbi": + - coverage_bed_tbi: type: file description: Tabix index for cov_gz pattern: "*.cov.bed.gz.tbi" + ontologies: [] baf_gz: - - meta: type: map description: | Groovy Map containing sample information - - "*.cov.bed.gz": + - baf_bed: type: file - description: BGzipped bed file with coverage information - pattern: "*.baf.bed.gz" + description: BGzipped bed file with B-allele frequency information + pattern: "*.cov.bed.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format baf_tbi: - - meta: type: map description: | Groovy Map containing sample information - - "*.cov.bed.gz.tbi": + - baf_bed_tbi: type: file description: Tabix index for baf_gz - pattern: "*.baf.bed.gz.tbi" + pattern: "*.cov.bed.gz.tbi" + ontologies: [] + versions_preparecovandbaf: + - - ${task.process}: + type: string + description: The process the versions were collected from + - preparecovandbaf: + type: string + description: The tool name + - "generate_cov_and_baf --version": + type: string + description: The command used to generate 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 process the versions were collected from + - preparecovandbaf: + type: string + description: The tool name + - "generate_cov_and_baf --version": + type: string + description: The command used to generate the version of the tool authors: - "@jakob37" maintainers: From 926d1a50f472085b098d38b6c79dee2a8de43f76 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 21 Jan 2026 15:30:57 +0100 Subject: [PATCH 30/37] Fix such that all the nf-core validation errors are resolved --- .../gens/preparecovandbaf/environment.yml | 2 +- .../nf-core/gens/preparecovandbaf/meta.yml | 45 +++++++++---------- 2 files changed, 21 insertions(+), 26 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/environment.yml b/modules/nf-core/gens/preparecovandbaf/environment.yml index e3c3b98195a..1a3fa44cbe6 100644 --- a/modules/nf-core/gens/preparecovandbaf/environment.yml +++ b/modules/nf-core/gens/preparecovandbaf/environment.yml @@ -4,7 +4,7 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::tabix==1.11 + - bioconda::htslib=1.23 - conda-forge::pip=25.3 - conda-forge::python=3.14.2 - pip: diff --git a/modules/nf-core/gens/preparecovandbaf/meta.yml b/modules/nf-core/gens/preparecovandbaf/meta.yml index c78cfef0d91..cb96dcf50b1 100644 --- a/modules/nf-core/gens/preparecovandbaf/meta.yml +++ b/modules/nf-core/gens/preparecovandbaf/meta.yml @@ -1,4 +1,4 @@ -name: "gens_preparecovandbaf" +name: "preparecovandbaf" description: Tools for preparing inputs for visualization in Gens keywords: - gens @@ -51,64 +51,59 @@ output: type: map description: | Groovy Map containing sample information - - coverage_bed: + - "*.cov.bed.gz": type: file - description: BGzipped bed file with coverage information - pattern: "*.cov.bed.gz" - ontologies: - - edam: http://edamontology.org/format_3989 # GZIP format + description: Coverage bed (bgzipped) + cov_tbi: - - meta: type: map description: | Groovy Map containing sample information - - coverage_bed_tbi: + - "*.cov.bed.gz.tbi": type: file - description: Tabix index for cov_gz - pattern: "*.cov.bed.gz.tbi" - ontologies: [] + description: Tabix index for coverage bed + baf_gz: - - meta: type: map description: | Groovy Map containing sample information - - baf_bed: + - "*.baf.bed.gz": type: file - description: BGzipped bed file with B-allele frequency information - pattern: "*.cov.bed.gz" - ontologies: - - edam: http://edamontology.org/format_3989 # GZIP format + description: BAF bed (bgzipped) + baf_tbi: - - meta: type: map description: | Groovy Map containing sample information - - baf_bed_tbi: + - "*.baf.bed.gz.tbi": type: file - description: Tabix index for baf_gz - pattern: "*.cov.bed.gz.tbi" - ontologies: [] + description: Tabix index for BAF bed + versions_preparecovandbaf: - - - ${task.process}: + - - "${task.process}": type: string description: The process the versions were collected from - - preparecovandbaf: + - "preparecovandbaf": type: string description: The tool name - "generate_cov_and_baf --version": type: string description: The command used to generate the version of the tool + topics: versions: - - - ${task.process}: + - - "${task.process}": type: string description: The process the versions were collected from - - preparecovandbaf: + - "preparecovandbaf": type: string description: The tool name - "generate_cov_and_baf --version": - type: string - description: The command used to generate the version of the tool + type: eval + description: The expression used to obtain the tool version authors: - "@jakob37" maintainers: From cf106408f7b080c80672efd0df35bf407699d1b5 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Wed, 21 Jan 2026 15:33:05 +0100 Subject: [PATCH 31/37] Added newline at end of file --- modules/nf-core/gens/preparecovandbaf/tests/main.nf.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test index e03e63ee512..1f351ff3ac6 100644 --- a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test +++ b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test @@ -69,4 +69,4 @@ nextflow_process { ) } } -} \ No newline at end of file +} From b7190aed27d3c2b8d413a4daedd7a8140aa651ad Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Thu, 22 Jan 2026 07:34:48 +0100 Subject: [PATCH 32/37] Update snapshot --- .../gens/preparecovandbaf/tests/main.nf.test | 14 ++----- .../preparecovandbaf/tests/main.nf.test.snap | 42 +++++++++++-------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test index 1f351ff3ac6..f466ecb959f 100644 --- a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test +++ b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test @@ -28,12 +28,9 @@ nextflow_process { } then { - assert process.success assertAll( - { assert snapshot( - process.out, - path(process.out.versions[0]).yaml - ).match() } + { assert process.success }, + { assert snapshot(process.out).match() } ) } @@ -60,12 +57,9 @@ nextflow_process { } then { - assert process.success assertAll( - { assert snapshot( - process.out, - path(process.out.versions[0]).yaml - ).match() } + { assert process.success }, + { assert snapshot(process.out).match() } ) } } diff --git a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test.snap b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test.snap index 94091159556..194c2c1d528 100644 --- a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test.snap +++ b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test.snap @@ -35,7 +35,11 @@ ] ], "4": [ - "versions.yml:md5,f80ba0645aa89bb92872621ccfac46cb" + [ + "PREPARECOVANDBAF", + "preparecovandbaf", + "1.1.4" + ] ], "baf_gz": [ [ @@ -69,21 +73,20 @@ "test.cov.bed.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,f80ba0645aa89bb92872621ccfac46cb" + "versions_preparecovandbaf": [ + [ + "PREPARECOVANDBAF", + "preparecovandbaf", + "1.1.4" + ] ] - }, - { - "PREPARECOVANDBAF": { - "preparecovandbaf": "1.1.4" - } } ], "meta": { "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2026-01-21T13:47:59.013551473" + "timestamp": "2026-01-22T07:34:11.057444197" }, "gens_preparecovandbaf": { "content": [ @@ -121,7 +124,11 @@ ] ], "4": [ - "versions.yml:md5,f80ba0645aa89bb92872621ccfac46cb" + [ + "PREPARECOVANDBAF", + "preparecovandbaf", + "1.1.4" + ] ], "baf_gz": [ [ @@ -155,20 +162,19 @@ "test.cov.bed.gz.tbi:md5,66025dc44413e9e17c8e11af09e06dbe" ] ], - "versions": [ - "versions.yml:md5,f80ba0645aa89bb92872621ccfac46cb" + "versions_preparecovandbaf": [ + [ + "PREPARECOVANDBAF", + "preparecovandbaf", + "1.1.4" + ] ] - }, - { - "PREPARECOVANDBAF": { - "preparecovandbaf": "1.1.4" - } } ], "meta": { "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2026-01-21T13:47:48.808843931" + "timestamp": "2026-01-22T07:34:01.603970443" } } \ No newline at end of file From 977b3daa6a4ea51063352de3ddd4b1f87ff1ae1a Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Thu, 22 Jan 2026 07:43:55 +0100 Subject: [PATCH 33/37] Add container info to meta.yml --- modules/nf-core/gens/preparecovandbaf/meta.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/nf-core/gens/preparecovandbaf/meta.yml b/modules/nf-core/gens/preparecovandbaf/meta.yml index cb96dcf50b1..fe80cfe6138 100644 --- a/modules/nf-core/gens/preparecovandbaf/meta.yml +++ b/modules/nf-core/gens/preparecovandbaf/meta.yml @@ -14,6 +14,11 @@ tools: tool_dev_url: "https://github.com/SMD-Bioinformatics-Lund/Prepare-Gens-input-data" licence: [MIT] identifier: "" + container: + - type: docker + image: community.wave.seqera.io/library/tabix_pip_gens-input-data-tools:5d39cfe6f6bf258b + - type: singularity + image: https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/a9/a9f414681caefff508dcab89f4872ae3cda18d15b9b610b679fa5eb5023b4b7c/data input: - - meta: From b1fdb6237008420b22f3c6057a54abdaaec96c8d Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Thu, 22 Jan 2026 07:45:03 +0100 Subject: [PATCH 34/37] Remove the container def again --- modules/nf-core/gens/preparecovandbaf/meta.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/modules/nf-core/gens/preparecovandbaf/meta.yml b/modules/nf-core/gens/preparecovandbaf/meta.yml index fe80cfe6138..cb96dcf50b1 100644 --- a/modules/nf-core/gens/preparecovandbaf/meta.yml +++ b/modules/nf-core/gens/preparecovandbaf/meta.yml @@ -14,11 +14,6 @@ tools: tool_dev_url: "https://github.com/SMD-Bioinformatics-Lund/Prepare-Gens-input-data" licence: [MIT] identifier: "" - container: - - type: docker - image: community.wave.seqera.io/library/tabix_pip_gens-input-data-tools:5d39cfe6f6bf258b - - type: singularity - image: https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/a9/a9f414681caefff508dcab89f4872ae3cda18d15b9b610b679fa5eb5023b4b7c/data input: - - meta: From 081a69cd5888956e5dc4737554a569df54ffcbf2 Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Thu, 22 Jan 2026 08:09:28 +0100 Subject: [PATCH 35/37] Bump --- modules/nf-core/gens/preparecovandbaf/tests/main.nf.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test index f466ecb959f..540995d7b18 100644 --- a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test +++ b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test @@ -36,7 +36,7 @@ nextflow_process { } - test("gens_preparecovandbaf - stub") { + test("gens_preparecovandbaf -- stub") { options "-stub" From 143244767814bf3d3f1c8f6f32bef0a77102445c Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Thu, 22 Jan 2026 08:15:49 +0100 Subject: [PATCH 36/37] Fix stub name --- modules/nf-core/gens/preparecovandbaf/tests/main.nf.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test index 540995d7b18..f466ecb959f 100644 --- a/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test +++ b/modules/nf-core/gens/preparecovandbaf/tests/main.nf.test @@ -36,7 +36,7 @@ nextflow_process { } - test("gens_preparecovandbaf -- stub") { + test("gens_preparecovandbaf - stub") { options "-stub" From 4d9041e007d2867bff79492bf90174e79dbc5cef Mon Sep 17 00:00:00 2001 From: Jakob Willforss Date: Thu, 22 Jan 2026 09:08:31 +0100 Subject: [PATCH 37/37] Expand on the GVCF documentation --- modules/nf-core/gens/preparecovandbaf/meta.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/gens/preparecovandbaf/meta.yml b/modules/nf-core/gens/preparecovandbaf/meta.yml index cb96dcf50b1..7de5e1159d3 100644 --- a/modules/nf-core/gens/preparecovandbaf/meta.yml +++ b/modules/nf-core/gens/preparecovandbaf/meta.yml @@ -29,7 +29,7 @@ input: - edam: http://edamontology.org/format_3475 # TSV - gvcf: type: file - description: GVCF + description: GVCF. It is used to calculate B-allele frequencies at the sites specified in baf_positions. It can be generated using any SNV-caller. pattern: "*.vcf.gz" ontologies: - edam: http://edamontology.org/format_3989 # GZIP format