From f87db13594b134827f09fff075913c432dbf1f4f Mon Sep 17 00:00:00 2001 From: Nicolas Vannieuwkerke Date: Thu, 26 Sep 2024 09:33:04 +0200 Subject: [PATCH 1/5] fix some index issues --- modules.json | 3 +- .../bcftools/concat/bcftools-concat.diff | 63 +++++++++++++++++++ modules/nf-core/bcftools/concat/main.nf | 16 +++-- nextflow.config | 4 +- 4 files changed, 77 insertions(+), 9 deletions(-) create mode 100644 modules/nf-core/bcftools/concat/bcftools-concat.diff diff --git a/modules.json b/modules.json index 11d98448..8b92c315 100644 --- a/modules.json +++ b/modules.json @@ -14,7 +14,8 @@ "bcftools/concat": { "branch": "master", "git_sha": "cdf83b18471db290a28fe98c2a0852cb05864890", - "installed_by": ["vcf_annotate_ensemblvep_snpeff"] + "installed_by": ["vcf_annotate_ensemblvep_snpeff"], + "patch": "modules/nf-core/bcftools/concat/bcftools-concat.diff" }, "bcftools/filter": { "branch": "master", diff --git a/modules/nf-core/bcftools/concat/bcftools-concat.diff b/modules/nf-core/bcftools/concat/bcftools-concat.diff new file mode 100644 index 00000000..97f3c59b --- /dev/null +++ b/modules/nf-core/bcftools/concat/bcftools-concat.diff @@ -0,0 +1,63 @@ +Changes in module 'nf-core/bcftools/concat' +Changes in 'bcftools/concat/main.nf': +--- modules/nf-core/bcftools/concat/main.nf ++++ modules/nf-core/bcftools/concat/main.nf +@@ -11,18 +11,22 @@ + tuple val(meta), path(vcfs), path(tbi) + + output: +- tuple val(meta), path("*.gz") , emit: vcf +- tuple val(meta), path("*.tbi"), emit: tbi, optional: true +- tuple val(meta), path("*.csi"), emit: csi, optional: true +- path "versions.yml" , emit: versions ++ tuple val(meta), path("${prefix}.vcf.gz") , emit: vcf ++ tuple val(meta), path("${prefix}.vcf.gz.tbi") , emit: tbi, optional: true ++ tuple val(meta), path("*.csi") , emit: csi, optional: true ++ 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}" ++ prefix = task.ext.prefix ?: "${meta.id}" ++ def tbi_names = tbi.findAll { file -> !(file instanceof List) }.collect { file -> file.name } ++ def create_input_index = vcfs.collect { vcf -> tbi_names.contains(vcf.name + ".tbi") ? "" : "tabix ${vcf}" }.join("\n ") + """ ++ ${create_input_index} ++ + bcftools concat \\ + --output ${prefix}.vcf.gz \\ + $args \\ +@@ -37,7 +41,7 @@ + + stub: + def args = task.ext.args ?: '' +- def prefix = task.ext.prefix ?: "${meta.id}" ++ prefix = task.ext.prefix ?: "${meta.id}" + def index = args.contains("--write-index=tbi") || args.contains("-W=tbi") ? "tbi" : + args.contains("--write-index=csi") || args.contains("-W=csi") ? "csi" : + args.contains("--write-index") || args.contains("-W") ? "csi" : + +Changes in 'bcftools/concat/environment.yml': +--- modules/nf-core/bcftools/concat/environment.yml ++++ modules/nf-core/bcftools/concat/environment.yml +@@ -1,7 +1,5 @@ +-name: bcftools_concat + channels: + - conda-forge + - bioconda +- - defaults + dependencies: + - bioconda::bcftools=1.20 + +'modules/nf-core/bcftools/concat/meta.yml' is unchanged +'modules/nf-core/bcftools/concat/tests/tags.yml' is unchanged +'modules/nf-core/bcftools/concat/tests/vcf_gz_index_csi.config' is unchanged +'modules/nf-core/bcftools/concat/tests/vcf_gz_index_tbi.config' is unchanged +'modules/nf-core/bcftools/concat/tests/main.nf.test' is unchanged +'modules/nf-core/bcftools/concat/tests/vcf_gz_index.config' is unchanged +'modules/nf-core/bcftools/concat/tests/main.nf.test.snap' is unchanged +'modules/nf-core/bcftools/concat/tests/nextflow.config' is unchanged +************************************************************ diff --git a/modules/nf-core/bcftools/concat/main.nf b/modules/nf-core/bcftools/concat/main.nf index e2337eff..c682c7f1 100644 --- a/modules/nf-core/bcftools/concat/main.nf +++ b/modules/nf-core/bcftools/concat/main.nf @@ -11,18 +11,22 @@ process BCFTOOLS_CONCAT { tuple val(meta), path(vcfs), path(tbi) output: - tuple val(meta), path("*.gz") , emit: vcf - tuple val(meta), path("*.tbi"), emit: tbi, optional: true - tuple val(meta), path("*.csi"), emit: csi, optional: true - path "versions.yml" , emit: versions + tuple val(meta), path("${prefix}.vcf.gz") , emit: vcf + tuple val(meta), path("${prefix}.vcf.gz.tbi") , emit: tbi, optional: true + tuple val(meta), path("*.csi") , emit: csi, optional: true + 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}" + prefix = task.ext.prefix ?: "${meta.id}" + def tbi_names = tbi.findAll { file -> !(file instanceof List) }.collect { file -> file.name } + def create_input_index = vcfs.collect { vcf -> tbi_names.contains(vcf.name + ".tbi") ? "" : "tabix ${vcf}" }.join("\n ") """ + ${create_input_index} + bcftools concat \\ --output ${prefix}.vcf.gz \\ $args \\ @@ -37,7 +41,7 @@ process BCFTOOLS_CONCAT { stub: def args = task.ext.args ?: '' - def prefix = task.ext.prefix ?: "${meta.id}" + prefix = task.ext.prefix ?: "${meta.id}" def index = args.contains("--write-index=tbi") || args.contains("-W=tbi") ? "tbi" : args.contains("--write-index=csi") || args.contains("-W=csi") ? "csi" : args.contains("--write-index") || args.contains("-W") ? "csi" : diff --git a/nextflow.config b/nextflow.config index 043a6187..c82a7267 100644 --- a/nextflow.config +++ b/nextflow.config @@ -79,10 +79,10 @@ params { // References cmgg_config_base = "/conf/" igenomes_base = null //'s3://ngi-igenomes/igenomes' - igenomes_ignore = false + igenomes_ignore = true genome = "GRCh38" genomes_base = "/references/" - genomes_ignore = true + genomes_ignore = false // Boilerplate options outdir = null From b9b8b8e6ceb7c5dbca904173ec9a5298133205a4 Mon Sep 17 00:00:00 2001 From: Nicolas Vannieuwkerke Date: Thu, 26 Sep 2024 09:34:28 +0200 Subject: [PATCH 2/5] bump version --- CHANGELOG.md | 6 ++++++ nextflow.config | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 292bee9d..f0f13fdf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## v1.8.2dev + +## Fixes + +1. Fixed some issues where indices were not created + ## v1.8.1 - Open Oostkamp - [September 25 2024] ### Fixes diff --git a/nextflow.config b/nextflow.config index c82a7267..1e541197 100644 --- a/nextflow.config +++ b/nextflow.config @@ -295,7 +295,7 @@ manifest { description = """A nextflow pipeline for calling and annotating small germline variants from short DNA reads for WES and WGS data""" mainScript = 'main.nf' nextflowVersion = '!>=24.04.0' - version = '1.8.1' + version = '1.8.2dev' doi = '' } From 73aee4b4b7eeeabe329d135f7fdb7aeb5cc755e8 Mon Sep 17 00:00:00 2001 From: Nicolas Vannieuwkerke Date: Thu, 26 Sep 2024 17:17:09 +0200 Subject: [PATCH 3/5] update bcftools/concat to latest version --- modules.json | 5 +- .../bcftools/concat/bcftools-concat.diff | 63 ------- modules/nf-core/bcftools/concat/main.nf | 8 +- modules/nf-core/bcftools/concat/meta.yml | 90 ++++++---- .../bcftools/concat/tests/main.nf.test | 18 +- .../bcftools/concat/tests/main.nf.test.snap | 158 +++++++++--------- 6 files changed, 151 insertions(+), 191 deletions(-) delete mode 100644 modules/nf-core/bcftools/concat/bcftools-concat.diff diff --git a/modules.json b/modules.json index 8b92c315..ac9d8d29 100644 --- a/modules.json +++ b/modules.json @@ -13,9 +13,8 @@ }, "bcftools/concat": { "branch": "master", - "git_sha": "cdf83b18471db290a28fe98c2a0852cb05864890", - "installed_by": ["vcf_annotate_ensemblvep_snpeff"], - "patch": "modules/nf-core/bcftools/concat/bcftools-concat.diff" + "git_sha": "d1e0ec7670fa77905a378627232566ce54c3c26d", + "installed_by": ["vcf_annotate_ensemblvep_snpeff"] }, "bcftools/filter": { "branch": "master", diff --git a/modules/nf-core/bcftools/concat/bcftools-concat.diff b/modules/nf-core/bcftools/concat/bcftools-concat.diff deleted file mode 100644 index 97f3c59b..00000000 --- a/modules/nf-core/bcftools/concat/bcftools-concat.diff +++ /dev/null @@ -1,63 +0,0 @@ -Changes in module 'nf-core/bcftools/concat' -Changes in 'bcftools/concat/main.nf': ---- modules/nf-core/bcftools/concat/main.nf -+++ modules/nf-core/bcftools/concat/main.nf -@@ -11,18 +11,22 @@ - tuple val(meta), path(vcfs), path(tbi) - - output: -- tuple val(meta), path("*.gz") , emit: vcf -- tuple val(meta), path("*.tbi"), emit: tbi, optional: true -- tuple val(meta), path("*.csi"), emit: csi, optional: true -- path "versions.yml" , emit: versions -+ tuple val(meta), path("${prefix}.vcf.gz") , emit: vcf -+ tuple val(meta), path("${prefix}.vcf.gz.tbi") , emit: tbi, optional: true -+ tuple val(meta), path("*.csi") , emit: csi, optional: true -+ 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}" -+ prefix = task.ext.prefix ?: "${meta.id}" -+ def tbi_names = tbi.findAll { file -> !(file instanceof List) }.collect { file -> file.name } -+ def create_input_index = vcfs.collect { vcf -> tbi_names.contains(vcf.name + ".tbi") ? "" : "tabix ${vcf}" }.join("\n ") - """ -+ ${create_input_index} -+ - bcftools concat \\ - --output ${prefix}.vcf.gz \\ - $args \\ -@@ -37,7 +41,7 @@ - - stub: - def args = task.ext.args ?: '' -- def prefix = task.ext.prefix ?: "${meta.id}" -+ prefix = task.ext.prefix ?: "${meta.id}" - def index = args.contains("--write-index=tbi") || args.contains("-W=tbi") ? "tbi" : - args.contains("--write-index=csi") || args.contains("-W=csi") ? "csi" : - args.contains("--write-index") || args.contains("-W") ? "csi" : - -Changes in 'bcftools/concat/environment.yml': ---- modules/nf-core/bcftools/concat/environment.yml -+++ modules/nf-core/bcftools/concat/environment.yml -@@ -1,7 +1,5 @@ --name: bcftools_concat - channels: - - conda-forge - - bioconda -- - defaults - dependencies: - - bioconda::bcftools=1.20 - -'modules/nf-core/bcftools/concat/meta.yml' is unchanged -'modules/nf-core/bcftools/concat/tests/tags.yml' is unchanged -'modules/nf-core/bcftools/concat/tests/vcf_gz_index_csi.config' is unchanged -'modules/nf-core/bcftools/concat/tests/vcf_gz_index_tbi.config' is unchanged -'modules/nf-core/bcftools/concat/tests/main.nf.test' is unchanged -'modules/nf-core/bcftools/concat/tests/vcf_gz_index.config' is unchanged -'modules/nf-core/bcftools/concat/tests/main.nf.test.snap' is unchanged -'modules/nf-core/bcftools/concat/tests/nextflow.config' is unchanged -************************************************************ diff --git a/modules/nf-core/bcftools/concat/main.nf b/modules/nf-core/bcftools/concat/main.nf index c682c7f1..a94b28d8 100644 --- a/modules/nf-core/bcftools/concat/main.nf +++ b/modules/nf-core/bcftools/concat/main.nf @@ -11,10 +11,10 @@ process BCFTOOLS_CONCAT { tuple val(meta), path(vcfs), path(tbi) output: - tuple val(meta), path("${prefix}.vcf.gz") , emit: vcf - tuple val(meta), path("${prefix}.vcf.gz.tbi") , emit: tbi, optional: true - tuple val(meta), path("*.csi") , emit: csi, optional: true - path "versions.yml" , emit: versions + tuple val(meta), path("${prefix}.vcf.gz") , emit: vcf + tuple val(meta), path("${prefix}.vcf.gz.tbi"), emit: tbi, optional: true + tuple val(meta), path("${prefix}.vcf.gz.csi"), emit: csi, optional: true + path "versions.yml" , emit: versions when: task.ext.when == null || task.ext.when diff --git a/modules/nf-core/bcftools/concat/meta.yml b/modules/nf-core/bcftools/concat/meta.yml index eeeb2071..d2565b28 100644 --- a/modules/nf-core/bcftools/concat/meta.yml +++ b/modules/nf-core/bcftools/concat/meta.yml @@ -13,44 +13,68 @@ tools: documentation: http://www.htslib.org/doc/bcftools.html doi: 10.1093/bioinformatics/btp352 licence: ["MIT"] + identifier: biotools:bcftools input: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - vcfs: - type: list - description: | - List containing 2 or more vcf files - e.g. [ 'file1.vcf', 'file2.vcf' ] - - tbi: - type: list - description: | - List containing 2 or more index files (optional) - e.g. [ 'file1.tbi', 'file2.tbi' ] + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - vcfs: + type: list + description: | + List containing 2 or more vcf files + e.g. [ 'file1.vcf', 'file2.vcf' ] + - tbi: + type: list + description: | + List containing 2 or more index files (optional) + e.g. [ 'file1.tbi', 'file2.tbi' ] output: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - vcf: - type: file - description: VCF concatenated output file - pattern: "*.{vcf.gz}" - - csi: - type: file - description: Default VCF file index - pattern: "*.csi" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + pattern: "*.{vcf.gz}" + - ${prefix}.vcf.gz: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + pattern: "*.{vcf.gz}" - tbi: - type: file - description: Alternative VCF file index - pattern: "*.tbi" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + pattern: "*.tbi" + - ${prefix}.vcf.gz.tbi: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + pattern: "*.tbi" + - csi: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + pattern: "*.csi" + - ${prefix}.vcf.gz.csi: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + pattern: "*.csi" - versions: - type: file - description: File containing software versions - pattern: "versions.yml" + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" authors: - "@abhi18av" - "@nvnieuwk" diff --git a/modules/nf-core/bcftools/concat/tests/main.nf.test b/modules/nf-core/bcftools/concat/tests/main.nf.test index cea386e3..cb4642b2 100644 --- a/modules/nf-core/bcftools/concat/tests/main.nf.test +++ b/modules/nf-core/bcftools/concat/tests/main.nf.test @@ -10,7 +10,7 @@ nextflow_process { tag "bcftools/concat" - test("sarscov2 - [[vcf1, vcf2], [tbi1, tbi2]]") { + test("homo_sapiens - [[vcf1, vcf2], [tbi1, tbi2]]") { config "./nextflow.config" @@ -41,7 +41,7 @@ nextflow_process { } - test("sarscov2 - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index") { + test("homo_sapiens - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index") { config "./vcf_gz_index.config" @@ -78,7 +78,7 @@ nextflow_process { } - test("sarscov2 - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index_csi") { + test("homo_sapiens - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index_csi") { config "./vcf_gz_index_csi.config" @@ -115,7 +115,7 @@ nextflow_process { } - test("sarscov2 - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index_tbi") { + test("homo_sapiens - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index_tbi") { config "./vcf_gz_index_tbi.config" @@ -153,7 +153,7 @@ nextflow_process { } - test("sarscov2 - [[vcf1, vcf2], []]") { + test("homo_sapiens - [[vcf1, vcf2], []]") { config "./nextflow.config" @@ -181,7 +181,7 @@ nextflow_process { } - test("sarscov2 - [[vcf1, vcf2], [tbi1, tbi2]] - stub") { + test("homo_sapiens - [[vcf1, vcf2], [tbi1, tbi2]] - stub") { config "./nextflow.config" options "-stub" @@ -213,7 +213,7 @@ nextflow_process { } - test("sarscov2 - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index - stub") { + test("homo_sapiens - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index - stub") { config "./vcf_gz_index.config" options "-stub" @@ -246,7 +246,7 @@ nextflow_process { } - test("sarscov2 - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index_csi - stub") { + test("homo_sapiens - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index_csi - stub") { config "./vcf_gz_index_csi.config" options "-stub" @@ -279,7 +279,7 @@ nextflow_process { } - test("sarscov2 - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index_tbi - stub") { + test("homo_sapiens - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index_tbi - stub") { config "./vcf_gz_index_tbi.config" options "-stub" diff --git a/modules/nf-core/bcftools/concat/tests/main.nf.test.snap b/modules/nf-core/bcftools/concat/tests/main.nf.test.snap index 1182854f..09e87cd3 100644 --- a/modules/nf-core/bcftools/concat/tests/main.nf.test.snap +++ b/modules/nf-core/bcftools/concat/tests/main.nf.test.snap @@ -1,5 +1,5 @@ { - "sarscov2 - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index - stub": { + "homo_sapiens - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index - stub": { "content": [ { "0": [ @@ -49,12 +49,12 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.4" }, - "timestamp": "2024-06-05T08:09:13.734103412" + "timestamp": "2024-09-26T11:04:11.178539482" }, - "sarscov2 - [[vcf1, vcf2], []]": { + "homo_sapiens - [[vcf1, vcf2], [tbi1, tbi2]]": { "content": [ { "0": [ @@ -94,12 +94,12 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.4" }, - "timestamp": "2024-06-04T15:19:09.213249578" + "timestamp": "2024-09-26T11:03:08.765639958" }, - "sarscov2 - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index": { + "homo_sapiens - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index": { "content": [ [ [ @@ -125,12 +125,12 @@ ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.4" }, - "timestamp": "2024-06-05T08:08:23.981388325" + "timestamp": "2024-09-26T11:03:21.607274757" }, - "sarscov2 - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index_csi - stub": { + "homo_sapiens - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index_tbi - stub": { "content": [ { "0": [ @@ -142,29 +142,29 @@ ] ], "1": [ - - ], - "2": [ [ { "id": "test3" }, - "test3_vcf.vcf.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + "test3_vcf.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" ] + ], + "2": [ + ], "3": [ "versions.yml:md5,c6e19f105510a46af1c5da9064e2e659" ], "csi": [ + + ], + "tbi": [ [ { "id": "test3" }, - "test3_vcf.vcf.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + "test3_vcf.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" ] - ], - "tbi": [ - ], "vcf": [ [ @@ -180,12 +180,43 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.4" + }, + "timestamp": "2024-09-26T11:04:27.332133878" + }, + "homo_sapiens - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index_csi": { + "content": [ + [ + [ + { + "id": "test3" + }, + "test3_vcf.vcf.gz:md5,5f6796c3ae109a1a5b87353954693f5a" + ] + ], + [ + [ + { + "id": "test3" + }, + "test3_vcf.vcf.gz.csi" + ] + ], + [ + + ], + [ + "versions.yml:md5,c6e19f105510a46af1c5da9064e2e659" + ] + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.04.4" }, - "timestamp": "2024-06-05T14:01:24.419027693" + "timestamp": "2024-09-26T11:03:36.575719606" }, - "sarscov2 - [[vcf1, vcf2], [tbi1, tbi2]]": { + "homo_sapiens - [[vcf1, vcf2], []]": { "content": [ { "0": [ @@ -225,43 +256,12 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.4" }, - "timestamp": "2024-06-04T15:19:03.597061078" + "timestamp": "2024-09-26T11:03:54.069826178" }, - "sarscov2 - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index_csi": { - "content": [ - [ - [ - { - "id": "test3" - }, - "test3_vcf.vcf.gz:md5,5f6796c3ae109a1a5b87353954693f5a" - ] - ], - [ - [ - { - "id": "test3" - }, - "test3_vcf.vcf.gz.csi" - ] - ], - [ - - ], - [ - "versions.yml:md5,c6e19f105510a46af1c5da9064e2e659" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-06-05T14:00:10.868487669" - }, - "sarscov2 - [[vcf1, vcf2], [tbi1, tbi2]] - stub": { + "homo_sapiens - [[vcf1, vcf2], [tbi1, tbi2]] - stub": { "content": [ { "0": [ @@ -301,12 +301,12 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.4" }, - "timestamp": "2024-06-04T15:19:14.836256897" + "timestamp": "2024-09-26T11:04:02.45346063" }, - "sarscov2 - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index_tbi": { + "homo_sapiens - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index_tbi": { "content": [ [ [ @@ -332,12 +332,12 @@ ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.4" }, - "timestamp": "2024-06-05T14:00:31.061411617" + "timestamp": "2024-09-26T11:03:44.618596639" }, - "sarscov2 - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index_tbi - stub": { + "homo_sapiens - [[vcf1, vcf2], [tbi1, tbi2]] - vcf_gz_index_csi - stub": { "content": [ { "0": [ @@ -349,29 +349,29 @@ ] ], "1": [ + + ], + "2": [ [ { "id": "test3" }, - "test3_vcf.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + "test3_vcf.vcf.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" ] - ], - "2": [ - ], "3": [ "versions.yml:md5,c6e19f105510a46af1c5da9064e2e659" ], "csi": [ - - ], - "tbi": [ [ { "id": "test3" }, - "test3_vcf.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + "test3_vcf.vcf.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" ] + ], + "tbi": [ + ], "vcf": [ [ @@ -387,9 +387,9 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.4" }, - "timestamp": "2024-06-05T14:01:35.209746508" + "timestamp": "2024-09-26T11:04:19.745768656" } } \ No newline at end of file From 12a243a873a4b86b006c7a849cbf89ccb805ab88 Mon Sep 17 00:00:00 2001 From: Nicolas Vannieuwkerke Date: Mon, 30 Sep 2024 11:46:56 +0200 Subject: [PATCH 4/5] bump to 1.8.2 --- CHANGELOG.md | 2 +- nextflow.config | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0f13fdf..5645802b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## v1.8.2dev +## v1.8.2 - Outstanding Oostkamp - [September 30 2024] ## Fixes diff --git a/nextflow.config b/nextflow.config index 1e541197..ea1909cb 100644 --- a/nextflow.config +++ b/nextflow.config @@ -295,7 +295,7 @@ manifest { description = """A nextflow pipeline for calling and annotating small germline variants from short DNA reads for WES and WGS data""" mainScript = 'main.nf' nextflowVersion = '!>=24.04.0' - version = '1.8.2dev' + version = '1.8.2' doi = '' } From 5bb62c63ad90c612aa3d77d539e8bbd05f3682db Mon Sep 17 00:00:00 2001 From: Nicolas Vannieuwkerke Date: Mon, 30 Sep 2024 11:59:32 +0200 Subject: [PATCH 5/5] update the docs --- CHANGELOG.md | 1 + docs/parameters.md | 55 +++++++++++++++++++++++----------------------- docs/usage.md | 11 ++++++++++ 3 files changed, 39 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5645802b..776e85ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Fixes 1. Fixed some issues where indices were not created +2. Updated the docs ## v1.8.1 - Open Oostkamp - [September 25 2024] diff --git a/docs/parameters.md b/docs/parameters.md index d4f25095..e2bd97e4 100644 --- a/docs/parameters.md +++ b/docs/parameters.md @@ -1,16 +1,18 @@ # nf-cmgg/germline pipeline parameters -A nextflow pipeline for calling and annotating variants +A nextflow pipeline for calling and annotating small germline variants from short DNA reads for WES and WGS data ## Input/output options Define where the pipeline should find input data and save output data. -| Parameter | Description | Type | Default | Required | Hidden | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ------- | -------- | ------ | -| `input` | Path to comma-separated file containing information about the samples in the experiment.
HelpYou will need to create a design file with information about the samples in your experiment before running the pipeline. Use this parameter to specify its location. It has to be a comma-separated file with samples, and a header row. See [usage docs](./usage.md).
| `string` | | True | | -| `outdir` | The output directory where the results will be saved. You have to use absolute paths to storage on Cloud infrastructure. | `string` | | True | | -| `email` | Email address for completion summary.
HelpSet this parameter to your e-mail address to get a summary e-mail with details of the run sent to you when the workflow exits. If set in your user config file (`~/.nextflow/config`) then you don't need to specify this on the command line for every run.
| `string` | | | | +| Parameter | Description | Type | Default | Required | Hidden | +| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ------- | -------- | ------ | +| `input` | Path to comma-separated file containing information about the samples in the experiment.
HelpYou will need to create a design file with information about the samples in your experiment before running the pipeline. Use this parameter to specify its location. It has to be a comma-separated file with samples, and a header row. See [usage docs](./usage.md).
| `string` | | True | | +| `outdir` | The output directory where the results will be saved. You have to use absolute paths to storage on Cloud infrastructure. | `string` | | True | | +| `watchdir` | A folder to watch for the creation of files that start with `watch:` in the samplesheet | `string` | | | | +| `email` | Email address for completion summary.
HelpSet this parameter to your e-mail address to get a summary e-mail with details of the run sent to you when the workflow exits. If set in your user config file (`~/.nextflow/config`) then you don't need to specify this on the command line for every run.
| `string` | | | | +| `ped` | Path to a pedigree file for all samples in the run | `string` | | | | ## Reference genome options @@ -28,7 +30,7 @@ Reference genome related files and options required for the workflow. | `cmgg_config_base` | The base directory for the local config files | `string` | /conf/ | | True | | `genomes_ignore` | Do not load the local references from the path specified with --genomes_base | `boolean` | | | True | | `igenomes_base` | Directory / URL base for iGenomes references. | `string` | | | True | -| `igenomes_ignore` | Do not load the iGenomes reference config.
HelpDo not load `igenomes.config` when running the pipeline. You may choose this option if you observe clashes between custom parameters and those supplied in `igenomes.config`.
| `boolean` | True | | True | +| `igenomes_ignore` | Do not load the iGenomes reference config.
HelpDo not load `igenomes.config` when running the pipeline. You may choose this option if you observe clashes between custom parameters and those supplied in `igenomes.config`.
| `boolean` | | | True | ## Pipeline specific parameters @@ -85,25 +87,22 @@ Parameters used to describe centralised config profiles. These should not be edi Less common options for the pipeline, typically set in a config file. -| Parameter | Description | Type | Default | Required | Hidden | -| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------- | ------------------------------- | -------- | ------ | -| `help` | Display help text. | `boolean` | | | | -| `version` | Display version and exit. | `boolean` | | | | -| `publish_dir_mode` | Method used to save pipeline results to output directory.
HelpThe Nextflow `publishDir` option specifies which intermediate files should be saved to the output directory. This option tells the pipeline what method should be used to move these files. See [Nextflow docs](https://www.nextflow.io/docs/latest/process.html#publishdir) for details.
| `string` | copy | | | -| `email_on_fail` | Email address for completion summary, only when pipeline fails.
HelpAn email address to send a summary email to when the pipeline is completed - ONLY sent if the pipeline does not exit successfully.
| `string` | | | True | -| `plaintext_email` | Send plain-text email instead of HTML. | `boolean` | | | True | -| `max_multiqc_email_size` | File size limit when attaching MultiQC reports to summary emails. | `string` | 25.MB | | True | -| `monochrome_logs` | Do not use coloured log outputs. | `boolean` | | | True | -| `hook_url` | Incoming hook URL for messaging service
HelpIncoming hook URL for messaging service. Currently, MS Teams and Slack are supported.
| `string` | | | | -| `multiqc_title` | MultiQC report title. Printed as page header, used for filename if not otherwise specified. | `string` | | | | -| `multiqc_config` | Custom config file to supply to MultiQC. | `string` | | | | -| `multiqc_logo` | Custom logo file to supply to MultiQC. File name must also be set in the MultiQC config file | `string` | | | | -| `multiqc_methods_description` | Custom MultiQC yaml file containing HTML including a methods description. | `string` | | | | -| `validate_params` | Boolean whether to validate parameters against the schema at runtime | `boolean` | True | | True | -| `validationShowHiddenParams` | Show all params when using `--help`
HelpBy default, parameters set as _hidden_ in the schema are not shown on the command line when a user runs with `--help`. Specifying this option will tell the pipeline to show all parameters.
| `boolean` | | | True | -| `validationLenientMode` | Lenient mode for parameter validation | `boolean` | | | True | -| `validationFailUnrecognisedParams` | Fail on unrecognised parameters | `boolean` | | | True | -| `validationSchemaIgnoreParams` | Comma-separated list of parameters to ignore when validating against the schema | `string` | genomes,igenomes_base,test_data | | True | +| Parameter | Description | Type | Default | Required | Hidden | +| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------- | -------------------------------------------------------- | -------- | ------ | +| `help` | Display help text. | `boolean` | | | | +| `version` | Display version and exit. | `boolean` | | | | +| `publish_dir_mode` | Method used to save pipeline results to output directory.
HelpThe Nextflow `publishDir` option specifies which intermediate files should be saved to the output directory. This option tells the pipeline what method should be used to move these files. See [Nextflow docs](https://www.nextflow.io/docs/latest/process.html#publishdir) for details.
| `string` | copy | | | +| `email_on_fail` | Email address for completion summary, only when pipeline fails.
HelpAn email address to send a summary email to when the pipeline is completed - ONLY sent if the pipeline does not exit successfully.
| `string` | | | True | +| `plaintext_email` | Send plain-text email instead of HTML. | `boolean` | | | True | +| `max_multiqc_email_size` | File size limit when attaching MultiQC reports to summary emails. | `string` | 25.MB | | True | +| `monochrome_logs` | Do not use coloured log outputs. | `boolean` | | | True | +| `hook_url` | Incoming hook URL for messaging service
HelpIncoming hook URL for messaging service. Currently, MS Teams and Slack are supported.
| `string` | | | | +| `multiqc_title` | MultiQC report title. Printed as page header, used for filename if not otherwise specified. | `string` | | | | +| `multiqc_config` | Custom config file to supply to MultiQC. | `string` | | | | +| `multiqc_logo` | Custom logo file to supply to MultiQC. File name must also be set in the MultiQC config file | `string` | | | | +| `multiqc_methods_description` | Custom MultiQC yaml file containing HTML including a methods description. | `string` | | | | +| `validate_params` | Boolean whether to validate parameters against the schema at runtime | `boolean` | True | | True | +| `pipelines_testdata_base_path` | Base URL or local path to location of pipeline test dataset files | `string` | https://raw.githubusercontent.com/nf-core/test-datasets/ | | True | ## Annotation parameters @@ -122,8 +121,8 @@ Parameters to configure Ensembl VEP and VCFanno | `vep_maxentscan` | Use the MaxEntScan plugin with Ensembl VEP
HelpThe '--maxentscan' parameter need to be specified when using this parameter.
| `boolean` | | | | | `vep_eog` | Use the custom EOG annotation with Ensembl VEP
HelpThe '--eog' and '--eog_tbi' parameters need to be specified when using this parameter.
| `boolean` | | | | | `vep_alphamissense` | Use the AlphaMissense plugin with Ensembl VEP
HelpThe '--alphamissense' and '--alphamissense_tbi' parameters need to be specified when using this parameter.
| `boolean` | | | | -| `vep_version` | The version of the VEP tool to be used | `string` | 105 | | | -| `vep_cache_version` | The version of the VEP cache to be used | `string` | 105 | | | +| `vep_version` | The version of the VEP tool to be used | `number` | 105.0 | | | +| `vep_cache_version` | The version of the VEP cache to be used | `integer` | 105 | | | | `dbnsfp` | Path to the dbSNFP file | `string` | | | | | `dbnsfp_tbi` | Path to the index of the dbSNFP file | `string` | | | | | `spliceai_indel` | Path to the VCF containing indels for spliceAI | `string` | | | | diff --git a/docs/usage.md b/docs/usage.md index 8273cdcc..4866cd53 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -12,6 +12,17 @@ You will need to create a samplesheet with information with the samples you woul --input '[path to samplesheet file]' ``` +### Watch for files in a directory + +When the `--watchdir` parameter has been given, the pipeline will automatically check for all files in the samplesheet that have the `watch:` prefix in the given directory. An example for watching CRAM files: + +```csv title="samplesheet.csv" +sample,cram,crai +SAMPLE_1,watch:INPUT.cram,watch:INPUT.cram.crai +``` + +The files `INPUT.cram` and `INPUT.cram.crai` will now watched for recursively in the watch directory. + ### Example of the samplesheet Below is an example of how the samplesheet could look like in the three formats.