From 63416b8f3abe95097901554d67fa0f4892065fcc Mon Sep 17 00:00:00 2001 From: famosab Date: Fri, 13 Jun 2025 17:28:18 +0200 Subject: [PATCH 01/19] Add random subsampling as alternative to filtering --- bin/randomsubset.sh | 39 +++++ conf/modules.config | 10 +- modules.json | 46 ++++-- modules/local/randomsubset/environment.yml | 7 + modules/local/randomsubset/main.nf | 49 +++++++ modules/local/randomsubset/tests/main.nf.test | 66 +++++++++ .../randomsubset/tests/main.nf.test.snap | 69 +++++++++ nextflow.config | 1 + tests/filter.nf.test | 45 ++++++ tests/filter.nf.test.snap | 134 ++++++++++++++---- workflows/vcftocounts.nf | 17 ++- 11 files changed, 445 insertions(+), 38 deletions(-) create mode 100755 bin/randomsubset.sh create mode 100644 modules/local/randomsubset/environment.yml create mode 100644 modules/local/randomsubset/main.nf create mode 100644 modules/local/randomsubset/tests/main.nf.test create mode 100644 modules/local/randomsubset/tests/main.nf.test.snap diff --git a/bin/randomsubset.sh b/bin/randomsubset.sh new file mode 100755 index 0000000..995aadf --- /dev/null +++ b/bin/randomsubset.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +set -euo pipefail + +# Usage: randomsubset.sh +if [[ $# -ne 3 ]]; then + echo "Usage: $0 " + exit 1 +fi + +input_vcf="$1" +output_vcf="$2" +fraction="$3" + +# Create temp files and directories +tmpdir=$(mktemp -d) +tmp_vcf="$tmpdir/tmp.vcf" +tmp_sorted_vcf="$tmpdir/tmp.sorted.vcf" + +# Calculate number of records to sample +subset_count=$(bcftools stats "$input_vcf" | awk -v frac="$fraction" -F'\t' '$3=="number of records:" {print int($4*frac)}') + +echo "Sampling $subset_count records from $input_vcf" + +# Write header +bcftools view --header-only "$input_vcf" > "$tmp_vcf" + +# Randomly sample records +bcftools view --no-header "$input_vcf" | \ + awk '{printf("%f\t%s\n",rand(),$0);}' | \ + sort -t $'\t' -T "$tmpdir" -k1,1g | \ + head -n "$subset_count" | \ + cut -f 2- >> "$tmp_vcf" || true + +# Sort and write to output +bcftools sort -T "$tmpdir" -o "$output_vcf" "$tmp_vcf" + +# Clean up +rm -rf "$tmpdir" \ No newline at end of file diff --git a/conf/modules.config b/conf/modules.config index d430454..afa3df6 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -54,12 +54,20 @@ process { ] } + withName: 'RANDOMSUBSET' { + ext.prefix = { "${meta.id}.subset" } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/bcftools/subset/${meta.label}/" }, + ] + } + withName: 'BCFTOOLS_VIEW' { ext.prefix = { "${meta.id}.filter" } ext.args = { "--output-type z --write-index=tbi -i '${params.filter}'" } publishDir = [ mode: params.publish_dir_mode, - path: { "${params.outdir}/bcftools/view/" }, + path: { "${params.outdir}/bcftools/view/${meta.label}/" }, ] } diff --git a/modules.json b/modules.json index 544a3d1..23d5699 100644 --- a/modules.json +++ b/modules.json @@ -8,42 +8,58 @@ "bcftools/annotate": { "branch": "master", "git_sha": "c9c3ef86c1892413b3c86fb38c4e39fd7288512f", - "installed_by": ["modules"] + "installed_by": [ + "modules" + ] }, "bcftools/concat": { "branch": "master", "git_sha": "1503efe8f6450e71218097f93cf43e4b625018d4", - "installed_by": ["modules"] + "installed_by": [ + "modules" + ] }, "bcftools/merge": { "branch": "master", "git_sha": "c9c3ef86c1892413b3c86fb38c4e39fd7288512f", - "installed_by": ["modules"] + "installed_by": [ + "modules" + ] }, "bcftools/reheader": { "branch": "master", "git_sha": "c9c3ef86c1892413b3c86fb38c4e39fd7288512f", - "installed_by": ["modules"] + "installed_by": [ + "modules" + ] }, "bcftools/view": { "branch": "master", "git_sha": "c9c3ef86c1892413b3c86fb38c4e39fd7288512f", - "installed_by": ["modules"] + "installed_by": [ + "modules" + ] }, "gatk4/genotypegvcfs": { "branch": "master", "git_sha": "81880787133db07d9b4c1febd152c090eb8325dc", - "installed_by": ["modules"] + "installed_by": [ + "modules" + ] }, "multiqc": { "branch": "master", "git_sha": "7b50cb7be890e4b28cffb82e438cc6a8d7805d3f", - "installed_by": ["modules"] + "installed_by": [ + "modules" + ] }, "tabix/tabix": { "branch": "master", "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", - "installed_by": ["modules"] + "installed_by": [ + "modules" + ] } } }, @@ -52,20 +68,26 @@ "utils_nextflow_pipeline": { "branch": "master", "git_sha": "c2b22d85f30a706a3073387f30380704fcae013b", - "installed_by": ["subworkflows"] + "installed_by": [ + "subworkflows" + ] }, "utils_nfcore_pipeline": { "branch": "master", "git_sha": "51ae5406a030d4da1e49e4dab49756844fdd6c7a", - "installed_by": ["subworkflows"] + "installed_by": [ + "subworkflows" + ] }, "utils_nfschema_plugin": { "branch": "master", "git_sha": "2fd2cd6d0e7b273747f32e465fdc6bcc3ae0814e", - "installed_by": ["subworkflows"] + "installed_by": [ + "subworkflows" + ] } } } } } -} +} \ No newline at end of file diff --git a/modules/local/randomsubset/environment.yml b/modules/local/randomsubset/environment.yml new file mode 100644 index 0000000..a394b02 --- /dev/null +++ b/modules/local/randomsubset/environment.yml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - "bioconda::bcftools=1.21" diff --git a/modules/local/randomsubset/main.nf b/modules/local/randomsubset/main.nf new file mode 100644 index 0000000..20a3bc1 --- /dev/null +++ b/modules/local/randomsubset/main.nf @@ -0,0 +1,49 @@ +process RANDOMSUBSET { + tag "$meta.id" + label 'process_medium' + + 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/5a/5acacb55c52bec97c61fd34ffa8721fce82ce823005793592e2a80bf71632cd0/data': + 'community.wave.seqera.io/library/bcftools:1.21--4335bec1d7b44d11' }" + + input: + tuple val(meta), path(vcf), path(index) + val(fraction) + + output: + tuple val(meta), path("*.vcf.gz"), emit: vcf + tuple val(meta), path("*.tbi") , emit: tbi + 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}" + """ + randomsubset.sh ${vcf} ${prefix}.vcf ${fraction} + + bgzip ${prefix}.vcf + tabix -p vcf ${prefix}.vcf.gz + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + bcftools: \$(bcftools --version 2>&1 | head -n1 | sed 's/^.*bcftools //; s/ .*\$//') + END_VERSIONS + """ + + stub: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + """ + echo | gzip > ${prefix}.vcf.gz + touch ${prefix}.tbi + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + bcftools: \$(bcftools --version 2>&1 | head -n1 | sed 's/^.*bcftools //; s/ .*\$//') + END_VERSIONS + """ +} diff --git a/modules/local/randomsubset/tests/main.nf.test b/modules/local/randomsubset/tests/main.nf.test new file mode 100644 index 0000000..ded1afe --- /dev/null +++ b/modules/local/randomsubset/tests/main.nf.test @@ -0,0 +1,66 @@ +nextflow_process { + + name "Test Process RANDOMSUBSET" + script "../main.nf" + process "RANDOMSUBSET" + + tag "modules" + tag "modules_" + tag "randomsubset" + + test("sarscov2 - [vcf, tbi]") { + + when { + process { + """ + // The input VCF has 9 records so we expect 4 records in the output VCF + input[0] = [ + [ id:'out', single_end:false ], // meta map + file('https://github.com/nf-core/test-datasets/raw/refs/heads/modules/data/genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + file('https://github.com/nf-core/test-datasets/raw/refs/heads/modules/data/genomics/sarscov2/illumina/vcf/test.vcf.gz.tbi', checkIfExists: true) + ] + input[1] = 0.5 + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + path(process.out.vcf.get(0).get(1)).vcf.summary, + file(process.out.tbi.get(0).get(1)).name, + process.out.versions + ).match() }, + ) + } + + } + + test("sarscov2 - [vcf, tbi] - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'out', single_end:false ], // meta map + file('https://github.com/nf-core/test-datasets/raw/refs/heads/modules/data/genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + file('https://github.com/nf-core/test-datasets/raw/refs/heads/modules/data/genomics/sarscov2/illumina/vcf/test.vcf.gz.tbi', checkIfExists: true) + ] + input[1] = 0.00175 + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() }, + ) + } + + } +} + diff --git a/modules/local/randomsubset/tests/main.nf.test.snap b/modules/local/randomsubset/tests/main.nf.test.snap new file mode 100644 index 0000000..0ce530c --- /dev/null +++ b/modules/local/randomsubset/tests/main.nf.test.snap @@ -0,0 +1,69 @@ +{ + "sarscov2 - [vcf, tbi] - stub": { + "content": [ + { + "0": [ + [ + { + "id": "out", + "single_end": false + }, + "out.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + [ + { + "id": "out", + "single_end": false + }, + "out.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + "versions.yml:md5,ee7626565a01c36b7fb7a05f41e0653e" + ], + "tbi": [ + [ + { + "id": "out", + "single_end": false + }, + "out.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "vcf": [ + [ + { + "id": "out", + "single_end": false + }, + "out.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions": [ + "versions.yml:md5,ee7626565a01c36b7fb7a05f41e0653e" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "25.04.3" + }, + "timestamp": "2025-06-13T16:16:18.829548277" + }, + "sarscov2 - [vcf, tbi]": { + "content": [ + "VcfFile [chromosomes=[MT192765.1], sampleCount=1, variantCount=4, phased=false, phasedAutodetect=false]", + "out.vcf.gz.tbi", + [ + "versions.yml:md5,ee7626565a01c36b7fb7a05f41e0653e" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "25.04.3" + }, + "timestamp": "2025-06-13T16:59:43.857973338" + } +} \ No newline at end of file diff --git a/nextflow.config b/nextflow.config index 24c9d13..e2d3038 100644 --- a/nextflow.config +++ b/nextflow.config @@ -13,6 +13,7 @@ params { input = null rename = true filter = null + subset = null removeIDs = true // References diff --git a/tests/filter.nf.test b/tests/filter.nf.test index 12b55d8..ae27dd6 100644 --- a/tests/filter.nf.test +++ b/tests/filter.nf.test @@ -51,6 +51,51 @@ nextflow_pipeline { } } + test("-profile test --subset 0.005") { + + when { + params { + outdir = "$outputDir" + // Input data for subset test + input = "${projectDir}/tests/input-filter.csv" + subset = 0.005 + removeIDs = true + rename = true + + // Genome references + fasta = "https://github.com/nf-core/test-datasets/raw/refs/heads/modules/data/genomics/homo_sapiens/genome/genome.fasta" + fai = "https://github.com/nf-core/test-datasets/raw/refs/heads/modules/data/genomics/homo_sapiens/genome/genome.fasta.fai" + dict = "https://github.com/nf-core/test-datasets/raw/refs/heads/modules/data/genomics/homo_sapiens/genome/genome.dict" + } + } + + then { + // stable_name: All files + folders in ${params.outdir}/ with a stable name + def stable_name = getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ['pipeline_info/*.{html,json,txt}']) + // stable_path: All files in ${params.outdir}/ with stable content + def stable_path = getAllFilesFromDir(params.outdir, ignoreFile: 'tests/.nftignore') + // vcf_files: All files in ${params.outdir} + def vcf_files = getAllFilesFromDir(params.outdir, include: ['**/*.vcf{,.gz}']) + def csv_files = getAllFilesFromDir(params.outdir, include: ['**/*.csv']) + assert workflow.success + assertAll( + { assert snapshot( + // Number of successful tasks + workflow.trace.succeeded().size(), + // pipeline versions.yml file for multiqc from which Nextflow version is removed because we tests pipelines on multiple Nextflow versions + removeNextflowVersion("$outputDir/pipeline_info/vcftocounts_software_mqc_versions.yml"), + // All stable path name, with a relative path + stable_name, + // All files with stable contents + stable_path, + // All vcf files + vcf_files.collect{ file -> file.name + ":md5," + path(file.path).vcf.variantsMD5 }, + csv_files.collect{ file -> file.name + ":numVariants=" + (path(file.path).readLines().size() - 1) } + ).match() } + ) + } + } + test("-profile test --filter 'INFO/CSQ ~ 'HIGH'' - stub") { options "-stub" diff --git a/tests/filter.nf.test.snap b/tests/filter.nf.test.snap index 1f81753..d257028 100644 --- a/tests/filter.nf.test.snap +++ b/tests/filter.nf.test.snap @@ -1,4 +1,80 @@ { + "-profile test --filter 'INFO/CSQ ~ 'HIGH'' - stub": { + "content": [ + 7, + { + "BCFTOOLS_ANNOTATE": { + "bcftools": 1.21 + }, + "BCFTOOLS_REHEADER": { + "bcftools": 1.21 + }, + "BCFTOOLS_VIEW": { + "bcftools": 1.21 + }, + "CREATE_SAMPLE_FILE": { + "create_sample_file": "1.0.0" + }, + "TABIX_TABIX": { + "tabix": 1.21 + }, + "VCF2COUNTS": { + "vcf2counts.R": "1.0.0" + }, + "Workflow": { + "qbic-pipelines/vcftocounts": "v2.0.2dev" + } + }, + [ + "bcftools", + "bcftools/annotate", + "bcftools/annotate/chr21_ann_full.IDremoved.vcf.gz", + "bcftools/annotate/chr21_ann_full.IDremoved.vcf.gz.tbi", + "bcftools/annotate/versions.yml", + "bcftools/reheader", + "bcftools/reheader/chr21_ann.reheader.vcf.gz", + "bcftools/reheader/chr21_ann.reheader.vcf.gz.tbi", + "bcftools/reheader/samplefiles", + "bcftools/reheader/samplefiles/chr21_ann.txt", + "bcftools/reheader/samplefiles/versions.yml", + "bcftools/reheader/versions.yml", + "bcftools/view", + "bcftools/view/chr21_ann", + "bcftools/view/chr21_ann/chr21_ann_full.filter.vcf.gz", + "bcftools/view/chr21_ann/chr21_ann_full.filter.vcf.gz.tbi", + "bcftools/view/chr21_ann/versions.yml", + "multiqc", + "multiqc/multiqc_data", + "multiqc/multiqc_plots", + "multiqc/multiqc_report.html", + "pipeline_info", + "pipeline_info/vcftocounts_software_mqc_versions.yml", + "tabix", + "tabix/annotated.vcf.gz.csi", + "tabix/annotated.vcf.gz.tbi", + "vcf2counts", + "vcf2counts/chr21_ann_full.csv" + ], + [ + "versions.yml:md5,c805d5803ca9daca8965aa71800cb41e", + "chr21_ann.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "versions.yml:md5,4afe7b519f82d5d8c539950934477c1a", + "versions.yml:md5,033f0e38ea7e11362d7c210db7aa3f4c", + "versions.yml:md5,1a5d1838e25d3d402a582af327aed061", + "chr21_ann_full.csv:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + [ + "chr21_ann_full.IDremoved.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "chr21_ann.reheader.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "chr21_ann_full.filter.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "25.04.3" + }, + "timestamp": "2025-06-13T17:27:49.968238908" + }, "-profile test --filter 'INFO/CSQ ~ 'HIGH''": { "content": [ 7, @@ -40,9 +116,10 @@ "bcftools/reheader/samplefiles/versions.yml", "bcftools/reheader/versions.yml", "bcftools/view", - "bcftools/view/chr21_ann_full.filter.vcf.gz", - "bcftools/view/chr21_ann_full.filter.vcf.gz.tbi", - "bcftools/view/versions.yml", + "bcftools/view/chr21_ann", + "bcftools/view/chr21_ann/chr21_ann_full.filter.vcf.gz", + "bcftools/view/chr21_ann/chr21_ann_full.filter.vcf.gz.tbi", + "bcftools/view/chr21_ann/versions.yml", "multiqc", "multiqc/multiqc_data", "multiqc/multiqc_data/multiqc.log", @@ -87,11 +164,11 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.4" + "nextflow": "25.04.3" }, - "timestamp": "2025-05-14T13:24:58.71939" + "timestamp": "2025-06-13T17:26:03.346578814" }, - "-profile test --filter 'INFO/CSQ ~ 'HIGH'' - stub": { + "-profile test --subset 0.005": { "content": [ 7, { @@ -101,12 +178,12 @@ "BCFTOOLS_REHEADER": { "bcftools": 1.21 }, - "BCFTOOLS_VIEW": { - "bcftools": 1.21 - }, "CREATE_SAMPLE_FILE": { "create_sample_file": "1.0.0" }, + "RANDOMSUBSET": { + "bcftools": 1.21 + }, "TABIX_TABIX": { "tabix": 1.21 }, @@ -120,6 +197,7 @@ [ "bcftools", "bcftools/annotate", + "bcftools/annotate/chr21_ann.reheader.vcf.gz.csi", "bcftools/annotate/chr21_ann_full.IDremoved.vcf.gz", "bcftools/annotate/chr21_ann_full.IDremoved.vcf.gz.tbi", "bcftools/annotate/versions.yml", @@ -130,40 +208,48 @@ "bcftools/reheader/samplefiles/chr21_ann.txt", "bcftools/reheader/samplefiles/versions.yml", "bcftools/reheader/versions.yml", - "bcftools/view", - "bcftools/view/chr21_ann_full.filter.vcf.gz", - "bcftools/view/chr21_ann_full.filter.vcf.gz.tbi", - "bcftools/view/versions.yml", + "bcftools/subset", + "bcftools/subset/chr21_ann", + "bcftools/subset/chr21_ann/chr21_ann_full.subset.vcf.gz", + "bcftools/subset/chr21_ann/chr21_ann_full.subset.vcf.gz.tbi", + "bcftools/subset/chr21_ann/versions.yml", "multiqc", "multiqc/multiqc_data", - "multiqc/multiqc_plots", + "multiqc/multiqc_data/multiqc.log", + "multiqc/multiqc_data/multiqc_citations.txt", + "multiqc/multiqc_data/multiqc_data.json", + "multiqc/multiqc_data/multiqc_software_versions.txt", + "multiqc/multiqc_data/multiqc_sources.txt", "multiqc/multiqc_report.html", "pipeline_info", "pipeline_info/vcftocounts_software_mqc_versions.yml", "tabix", - "tabix/annotated.vcf.gz.csi", "tabix/annotated.vcf.gz.tbi", "vcf2counts", "vcf2counts/chr21_ann_full.csv" ], [ "versions.yml:md5,c805d5803ca9daca8965aa71800cb41e", - "chr21_ann.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "chr21_ann.txt:md5,67a48a0a8902f9e8493f85a6de469ebb", "versions.yml:md5,4afe7b519f82d5d8c539950934477c1a", "versions.yml:md5,033f0e38ea7e11362d7c210db7aa3f4c", - "versions.yml:md5,1a5d1838e25d3d402a582af327aed061", - "chr21_ann_full.csv:md5,d41d8cd98f00b204e9800998ecf8427e" + "versions.yml:md5,e0f218ef306127de5c57d21eb0b4d227", + "multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f", + "chr21_ann_full.csv:md5,04455fd09dac50535a9516874de9f23b" ], [ - "chr21_ann_full.IDremoved.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "chr21_ann.reheader.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "chr21_ann_full.filter.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + "chr21_ann_full.IDremoved.vcf.gz:md5,f3deb7f58f9a50ad963dbca8fafb7f31", + "chr21_ann.reheader.vcf.gz:md5,9c28803db167f710cd9a8f43278bc1b8", + "chr21_ann_full.subset.vcf.gz:md5,9c28803db167f710cd9a8f43278bc1b8" + ], + [ + "chr21_ann_full.csv:numVariants=29" ] ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.4" + "nextflow": "25.04.3" }, - "timestamp": "2025-05-14T13:25:30.958807" + "timestamp": "2025-06-13T17:27:06.485215364" } -} +} \ No newline at end of file diff --git a/workflows/vcftocounts.nf b/workflows/vcftocounts.nf index ad2f9a9..21600a1 100644 --- a/workflows/vcftocounts.nf +++ b/workflows/vcftocounts.nf @@ -7,6 +7,7 @@ include { MULTIQC } from '../modules/nf-core/multiqc/main' include { TABIX_TABIX } from '../modules/nf-core/tabix/tabix/main' include { GATK4_GENOTYPEGVCFS } from '../modules/nf-core/gatk4/genotypegvcfs/main' include { BCFTOOLS_CONCAT } from '../modules/nf-core/bcftools/concat/main' +include { RANDOMSUBSET } from '../modules/local/randomsubset/main' include { CREATE_SAMPLE_FILE } from '../modules/local/createsamplefile/main' include { BCFTOOLS_REHEADER } from '../modules/nf-core/bcftools/reheader/main' include { BCFTOOLS_VIEW } from '../modules/nf-core/bcftools/view/main' @@ -101,7 +102,21 @@ workflow VCFTOCOUNTS { ch_filtered_vcf = BCFTOOLS_VIEW.out.vcf .join(BCFTOOLS_VIEW.out.tbi) - } else { + } else if (params.subset != null) { + // + // Get a random subset of variants with given fraction of variants + // + RANDOMSUBSET( + ch_vcf.map{ it -> [it[0], it[1], it[2]] }, + params.subset + ) + + ch_versions = ch_versions.mix(RANDOMSUBSET.out.versions) + + ch_filtered_vcf = RANDOMSUBSET.out.vcf + .join(RANDOMSUBSET.out.tbi) + } + else { ch_filtered_vcf = ch_vcf } From b874f839cb3e6db7ed342de9d8b2a02c78b47ddc Mon Sep 17 00:00:00 2001 From: famosab Date: Mon, 16 Jun 2025 09:20:26 +0200 Subject: [PATCH 02/19] Change order to see changes --- tests/filter.nf.test.snap | 70 +++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/tests/filter.nf.test.snap b/tests/filter.nf.test.snap index d257028..e94b237 100644 --- a/tests/filter.nf.test.snap +++ b/tests/filter.nf.test.snap @@ -1,5 +1,5 @@ { - "-profile test --filter 'INFO/CSQ ~ 'HIGH'' - stub": { + "-profile test --filter 'INFO/CSQ ~ 'HIGH''": { "content": [ 7, { @@ -28,6 +28,7 @@ [ "bcftools", "bcftools/annotate", + "bcftools/annotate/chr21_ann.reheader.vcf.gz.csi", "bcftools/annotate/chr21_ann_full.IDremoved.vcf.gz", "bcftools/annotate/chr21_ann_full.IDremoved.vcf.gz.tbi", "bcftools/annotate/versions.yml", @@ -45,37 +46,53 @@ "bcftools/view/chr21_ann/versions.yml", "multiqc", "multiqc/multiqc_data", - "multiqc/multiqc_plots", + "multiqc/multiqc_data/multiqc.log", + "multiqc/multiqc_data/multiqc_citations.txt", + "multiqc/multiqc_data/multiqc_data.json", + "multiqc/multiqc_data/multiqc_software_versions.txt", + "multiqc/multiqc_data/multiqc_sources.txt", "multiqc/multiqc_report.html", "pipeline_info", "pipeline_info/vcftocounts_software_mqc_versions.yml", "tabix", - "tabix/annotated.vcf.gz.csi", "tabix/annotated.vcf.gz.tbi", "vcf2counts", "vcf2counts/chr21_ann_full.csv" ], [ "versions.yml:md5,c805d5803ca9daca8965aa71800cb41e", - "chr21_ann.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "chr21_ann.txt:md5,67a48a0a8902f9e8493f85a6de469ebb", "versions.yml:md5,4afe7b519f82d5d8c539950934477c1a", "versions.yml:md5,033f0e38ea7e11362d7c210db7aa3f4c", "versions.yml:md5,1a5d1838e25d3d402a582af327aed061", - "chr21_ann_full.csv:md5,d41d8cd98f00b204e9800998ecf8427e" + "multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f", + "chr21_ann_full.csv:md5,f528ae08b4afe723bbb06d13178a114c" ], [ - "chr21_ann_full.IDremoved.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "chr21_ann.reheader.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "chr21_ann_full.filter.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + "chr21_ann_full.IDremoved.vcf.gz:md5,7c6bad1d3e68da93751a08db70e2d92f", + "chr21_ann.reheader.vcf.gz:md5,97cd79b71fb0424bfa642e23f22bb035", + "chr21_ann_full.filter.vcf.gz:md5,97cd79b71fb0424bfa642e23f22bb035" + ], + [ + [ + "\"\",\"chr21_ann\"", + "\"chr21:10462834_A/G\",1", + "\"chr21:10569701_C/T\",1", + "\"chr21:10605416_G/T\",1", + "\"chr21:30541662_AG/A\",2", + "\"chr21:33576378_G/GA\",2", + "\"chr21:33576390_GA/G\",2", + "\"chr21:42383199_C/CTA\",1" + ] ] ], "meta": { "nf-test": "0.9.2", "nextflow": "25.04.3" }, - "timestamp": "2025-06-13T17:27:49.968238908" + "timestamp": "2025-06-13T17:26:03.346578814" }, - "-profile test --filter 'INFO/CSQ ~ 'HIGH''": { + "-profile test --filter 'INFO/CSQ ~ 'HIGH'' - stub": { "content": [ 7, { @@ -104,7 +121,6 @@ [ "bcftools", "bcftools/annotate", - "bcftools/annotate/chr21_ann.reheader.vcf.gz.csi", "bcftools/annotate/chr21_ann_full.IDremoved.vcf.gz", "bcftools/annotate/chr21_ann_full.IDremoved.vcf.gz.tbi", "bcftools/annotate/versions.yml", @@ -122,51 +138,35 @@ "bcftools/view/chr21_ann/versions.yml", "multiqc", "multiqc/multiqc_data", - "multiqc/multiqc_data/multiqc.log", - "multiqc/multiqc_data/multiqc_citations.txt", - "multiqc/multiqc_data/multiqc_data.json", - "multiqc/multiqc_data/multiqc_software_versions.txt", - "multiqc/multiqc_data/multiqc_sources.txt", + "multiqc/multiqc_plots", "multiqc/multiqc_report.html", "pipeline_info", "pipeline_info/vcftocounts_software_mqc_versions.yml", "tabix", + "tabix/annotated.vcf.gz.csi", "tabix/annotated.vcf.gz.tbi", "vcf2counts", "vcf2counts/chr21_ann_full.csv" ], [ "versions.yml:md5,c805d5803ca9daca8965aa71800cb41e", - "chr21_ann.txt:md5,67a48a0a8902f9e8493f85a6de469ebb", + "chr21_ann.txt:md5,d41d8cd98f00b204e9800998ecf8427e", "versions.yml:md5,4afe7b519f82d5d8c539950934477c1a", "versions.yml:md5,033f0e38ea7e11362d7c210db7aa3f4c", "versions.yml:md5,1a5d1838e25d3d402a582af327aed061", - "multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f", - "chr21_ann_full.csv:md5,f528ae08b4afe723bbb06d13178a114c" - ], - [ - "chr21_ann_full.IDremoved.vcf.gz:md5,7c6bad1d3e68da93751a08db70e2d92f", - "chr21_ann.reheader.vcf.gz:md5,97cd79b71fb0424bfa642e23f22bb035", - "chr21_ann_full.filter.vcf.gz:md5,97cd79b71fb0424bfa642e23f22bb035" + "chr21_ann_full.csv:md5,d41d8cd98f00b204e9800998ecf8427e" ], [ - [ - "\"\",\"chr21_ann\"", - "\"chr21:10462834_A/G\",1", - "\"chr21:10569701_C/T\",1", - "\"chr21:10605416_G/T\",1", - "\"chr21:30541662_AG/A\",2", - "\"chr21:33576378_G/GA\",2", - "\"chr21:33576390_GA/G\",2", - "\"chr21:42383199_C/CTA\",1" - ] + "chr21_ann_full.IDremoved.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "chr21_ann.reheader.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "chr21_ann_full.filter.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] ], "meta": { "nf-test": "0.9.2", "nextflow": "25.04.3" }, - "timestamp": "2025-06-13T17:26:03.346578814" + "timestamp": "2025-06-13T17:27:49.968238908" }, "-profile test --subset 0.005": { "content": [ From 5c3b49dbcf5e53ec7c748a51364a0983c1c64924 Mon Sep 17 00:00:00 2001 From: famosab Date: Mon, 16 Jun 2025 09:21:23 +0200 Subject: [PATCH 03/19] Changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e4ba045..9593b31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#33](https://github.com/qbic-pipelines/vcftocounts/pull/33) - Back to dev 2.0.2dev - [#35](https://github.com/qbic-pipelines/vcftocounts/pull/35) - Template update to version 3.2.1 - [#36](https://github.com/qbic-pipelines/vcftocounts/pull/36) - Update all nf-core modules +- [#39](https://github.com/qbic-pipelines/vcftocounts/pull/39) - Add random subsampling as alternative to filtering ### `Dependencies` From 1f6c285c832839f275869b4be2ddaa823aee17dc Mon Sep 17 00:00:00 2001 From: famosab Date: Mon, 16 Jun 2025 09:21:40 +0200 Subject: [PATCH 04/19] Changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9593b31..9899d9b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,13 +8,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Added` - [#34](https://github.com/qbic-pipelines/vcftocounts/pull/34) - Swap CI tests to nf-test and fix small channel issue +- [#39](https://github.com/qbic-pipelines/vcftocounts/pull/39) - Add random subsampling as alternative to filtering ### `Fixed` - [#33](https://github.com/qbic-pipelines/vcftocounts/pull/33) - Back to dev 2.0.2dev - [#35](https://github.com/qbic-pipelines/vcftocounts/pull/35) - Template update to version 3.2.1 - [#36](https://github.com/qbic-pipelines/vcftocounts/pull/36) - Update all nf-core modules -- [#39](https://github.com/qbic-pipelines/vcftocounts/pull/39) - Add random subsampling as alternative to filtering ### `Dependencies` From d1ad3327c2251bbac8d0f1287a3ee84a305e8c1f Mon Sep 17 00:00:00 2001 From: famosab Date: Wed, 18 Jun 2025 10:00:23 +0200 Subject: [PATCH 05/19] Update dev version to 2.1.0dev --- .nf-core.yml | 62 ++++++++++++------------ CHANGELOG.md | 2 +- nextflow.config | 2 +- ro-crate-metadata.json | 22 ++++----- tests/default.nf.test.snap | 8 ++-- tests/filter.nf.test.snap | 97 +++++++++++++++++++++++++------------- tests/full.nf.test.snap | 8 ++-- 7 files changed, 115 insertions(+), 86 deletions(-) diff --git a/.nf-core.yml b/.nf-core.yml index d8d5aea..f1e494a 100644 --- a/.nf-core.yml +++ b/.nf-core.yml @@ -1,49 +1,49 @@ lint: actions_ci: false files_exist: - - CODE_OF_CONDUCT.md - - assets/nf-core-vcftocounts_logo_light.png - - docs/images/nf-core-vcftocounts_logo_light.png - - docs/images/nf-core-vcftocounts_logo_dark.png - - .github/ISSUE_TEMPLATE/config.yml - - .github/workflows/awstest.yml - - .github/workflows/awsfulltest.yml - - .github/workflows/ci.yml + - CODE_OF_CONDUCT.md + - assets/nf-core-vcftocounts_logo_light.png + - docs/images/nf-core-vcftocounts_logo_light.png + - docs/images/nf-core-vcftocounts_logo_dark.png + - .github/ISSUE_TEMPLATE/config.yml + - .github/workflows/awstest.yml + - .github/workflows/awsfulltest.yml + - .github/workflows/ci.yml files_unchanged: - - .github/CONTRIBUTING.md - - .prettierignore - - .github/CONTRIBUTING.md - - .prettierignore - - CODE_OF_CONDUCT.md - - assets/nf-core-vcftocounts_logo_light.png - - docs/images/nf-core-vcftocounts_logo_light.png - - docs/images/nf-core-vcftocounts_logo_dark.png - - .github/ISSUE_TEMPLATE/bug_report.yml + - .github/CONTRIBUTING.md + - .prettierignore + - .github/CONTRIBUTING.md + - .prettierignore + - CODE_OF_CONDUCT.md + - assets/nf-core-vcftocounts_logo_light.png + - docs/images/nf-core-vcftocounts_logo_light.png + - docs/images/nf-core-vcftocounts_logo_dark.png + - .github/ISSUE_TEMPLATE/bug_report.yml included_configs: false multiqc_config: - - report_comment + - report_comment nextflow_config: - - manifest.name - - manifest.homePage - - validation.help.beforeText - - validation.help.afterText - - validation.summary.beforeText - - validation.summary.afterText + - manifest.name + - manifest.homePage + - validation.help.beforeText + - validation.help.afterText + - validation.summary.beforeText + - validation.summary.afterText nf_core_version: 3.3.1 repository_type: pipeline template: author: "Famke Bäuerle, Dorothy Ellis" - description: Nextflow pipeline to convert (g)vcfs to matrices suitable for statistical - analysis + description: Nextflow pipeline to convert (g)vcfs to matrices suitable for + statistical analysis force: false is_nfcore: false name: vcftocounts org: qbic-pipelines outdir: . skip_features: - - gitpod - - codespaces - - fastqc - - adaptivecard - version: 2.0.2dev + - gitpod + - codespaces + - fastqc + - adaptivecard + version: 2.1.0dev diff --git a/CHANGELOG.md b/CHANGELOG.md index 90c7e9c..0219ea4 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). -## v2.0.2dev +## v2.1.0dev ### `Added` diff --git a/nextflow.config b/nextflow.config index ac19dc5..2d0d8a7 100644 --- a/nextflow.config +++ b/nextflow.config @@ -250,7 +250,7 @@ manifest { mainScript = 'main.nf' defaultBranch = 'master' nextflowVersion = '!>=24.04.2' - version = '2.0.2dev' + version = '2.1.0dev' doi = '' } diff --git a/ro-crate-metadata.json b/ro-crate-metadata.json index 1c122e1..fed6595 100644 --- a/ro-crate-metadata.json +++ b/ro-crate-metadata.json @@ -22,7 +22,7 @@ "@id": "./", "@type": "Dataset", "creativeWorkStatus": "InProgress", - "datePublished": "2025-04-15T13:25:04+00:00", + "datePublished": "2025-06-18T07:57:14+00:00", "description": "# qbic-pipelines/vcftocounts\n\n[![GitHub Actions CI Status](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/ci.yml/badge.svg)](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/ci.yml)\n[![GitHub Actions Linting Status](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/linting.yml/badge.svg)](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/linting.yml)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.14616650-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.14616650)\n[![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com)\n\n[![Nextflow](https://img.shields.io/badge/version-%E2%89%A524.04.2-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/)\n[![nf-core template version](https://img.shields.io/badge/nf--core_template-3.3.1-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/3.3.1)\n[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)\n[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)\n[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)\n[![Launch on Seqera Platform](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Seqera%20Platform-%234256e7)](https://cloud.seqera.io/launch?pipeline=https://github.com/qbic-pipelines/vcftocounts)\n\n## Introduction\n\n**qbic-pipelines/vcftocounts** is a bioinformatics pipeline that processes g.vcf files to a matrix suitable for downstream analysis. The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes data using the following steps:\n\n1. Indexes (g.)vcf files ([`tabix`](http://www.htslib.org/doc/tabix.html))\n2. Converts g.vcf files to vcf with `genotypegvcf` ([`GATK`](https://gatk.broadinstitute.org/hc/en-us))\n3. Filters the VCF based on a string given to the `filter` param with `bcftools/view` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - Turned off by default.\n4. Concatenates all vcfs that have the same id and the same label with `bcftools/concat` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html))\n5. Changes the sample name in the vcf file to the filename with `bcftools/reheader` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - This can be turned off by adding `--rename false` to the `nextflow run` command.\n6. Merges all vcfs from the same sample with `bcftools/merge` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html))\n7. Removes entries in the ID column with `bcftools/annotate` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - his can be turned off by adding `--removeIDs false` to the `nextflow run` command.\n8. Converts the (merged) vcfs to a matrix using a custom R script written by @ellisdoro ([`R`](https://www.r-project.org/))\n9. Collects all reports into a MultiQC report ([`MultiQC`](http://multiqc.info/))\n\n![](./docs/images/vcftocounts-subway.excalidraw.png)\n\n## Usage\n\n> [!NOTE]\n> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline) with `-profile test` before running the workflow on actual data.\n\nFirst, prepare a samplesheet with your input data that looks as follows:\n\n`samplesheet.csv`:\n\n```csv\nsample,label,gvcf,vcf_path,vcf_index_path\nSAMPLE-1,pipelineA-callerA,false,path/to/vcf.gz,path/to/.vcf.gz.tbi\nSAMPLE-1,pipelineB-callerA,false,path/to/vcf.gz,path/to/.vcf.gz.tbi\nSAMPLE-2,pipelineB-callerB,true,path/to/g.vcf.gz,path/to/g.vcf.gz.tbi\nSAMPLE-2,pipelineB-callerB,true,path/to/g.vcf.gz,path/to/g.vcf.gz.tbi\n```\n\nEach row represents a VCF file coming from a sample. The `label` column enables concatenation of vcfs (for example when the pipeline produces different vcfs for chrM and chrY). The `gvcf` column indicates whether the file is a g.vcf file or not. The `vcf_path` and `vcf_index_path` columns contain the path to the VCF file and its index, respectively.\n\nNow, you can run the pipeline using:\n\n```bash\nnextflow run qbic-pipelines/vcftocounts \\\n -profile \\\n --input samplesheet.csv \\\n --genome GATK.GRCh38 \\\n --outdir \n```\n\n> [!WARNING]\n> Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_; see [docs](https://nf-co.re/docs/usage/getting_started/configuration#custom-configuration-files).\n\n## Credits\n\nqbic-pipelines/vcftocounts was originally written by Famke B\u00e4uerle, Dorothy Ellis.\n\nWe thank the following people for their extensive assistance in the development of this pipeline:\n\n## Contributions and Support\n\nIf you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md).\n\n## Citations\n\nIf you use qbic-pipelines/vcftocounts for your analysis, please cite it using the following doi: [10.5281/zenodo.14616650](https://doi.org/10.5281/zenodo.14616650)\n\n\n\nAn extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.\n\nThis pipeline uses code and infrastructure developed and maintained by the [nf-core](https://nf-co.re) community, reused here under the [MIT license](https://github.com/nf-core/tools/blob/main/LICENSE).\n\n> **The nf-core framework for community-curated bioinformatics pipelines.**\n>\n> Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.\n>\n> _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x).\n", "hasPart": [ { @@ -102,7 +102,7 @@ }, "mentions": [ { - "@id": "#0a69c269-aa71-493a-8675-0f0bf0bbac87" + "@id": "#cd73230b-0ef5-4c7c-9749-31f88b8fd3de" } ], "name": "qbic-pipelines/vcftocounts" @@ -132,14 +132,14 @@ "creator": [ "qbic", { - "@id": "#45968370+famosab@users.noreply.github.com" + "@id": "#famke.baeuerle@gmail.com" }, { "@id": "https://orcid.org/0000-0003-1387-0251" } ], "dateCreated": "", - "dateModified": "2025-04-15T15:25:04Z", + "dateModified": "2025-06-18T09:57:15Z", "dct:conformsTo": "https://bioschemas.org/profiles/ComputationalWorkflow/1.0-RELEASE/", "keywords": [ "nf-core", @@ -167,7 +167,7 @@ "https://nf-co.re/qbic-pipelines/vcftocounts/dev/" ], "version": [ - "2.0.2dev" + "2.1.0dev" ] }, { @@ -183,11 +183,11 @@ "version": "!>=24.04.2" }, { - "@id": "#0a69c269-aa71-493a-8675-0f0bf0bbac87", + "@id": "#cd73230b-0ef5-4c7c-9749-31f88b8fd3de", "@type": "TestSuite", "instance": [ { - "@id": "#09be11e9-c228-48c5-b7a1-cefba1528138" + "@id": "#6680d03f-8568-4178-adcd-07f6308c9c90" } ], "mainEntity": { @@ -196,10 +196,10 @@ "name": "Test suite for qbic-pipelines/vcftocounts" }, { - "@id": "#09be11e9-c228-48c5-b7a1-cefba1528138", + "@id": "#6680d03f-8568-4178-adcd-07f6308c9c90", "@type": "TestInstance", "name": "GitHub Actions workflow for testing qbic-pipelines/vcftocounts", - "resource": "repos/qbic-pipelines/vcftocounts/actions/workflows/ci.yml", + "resource": "repos/qbic-pipelines/vcftocounts/actions/workflows/nf-test.yml", "runsOn": { "@id": "https://w3id.org/ro/terms/test#GithubService" }, @@ -330,9 +330,9 @@ "url": "https://nf-co.re/" }, { - "@id": "#45968370+famosab@users.noreply.github.com", + "@id": "#famke.baeuerle@gmail.com", "@type": "Person", - "email": "45968370+famosab@users.noreply.github.com", + "email": "famke.baeuerle@gmail.com", "name": "Famke Ba\u0308uerle" }, { diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap index d830b8c..d4b0c3f 100644 --- a/tests/default.nf.test.snap +++ b/tests/default.nf.test.snap @@ -19,7 +19,7 @@ "vcf2counts.R": "1.0.0" }, "Workflow": { - "qbic-pipelines/vcftocounts": "v2.0.2dev" + "qbic-pipelines/vcftocounts": "v2.1.0dev" } }, [ @@ -64,7 +64,7 @@ "nf-test": "0.9.2", "nextflow": "25.04.3" }, - "timestamp": "2025-06-13T14:58:31.890894061" + "timestamp": "2025-06-18T09:58:04.986919663" }, "-profile test": { "content": [ @@ -86,7 +86,7 @@ "vcf2counts.R": "1.0.0" }, "Workflow": { - "qbic-pipelines/vcftocounts": "v2.0.2dev" + "qbic-pipelines/vcftocounts": "v2.1.0dev" } }, [ @@ -151,6 +151,6 @@ "nf-test": "0.9.2", "nextflow": "25.04.3" }, - "timestamp": "2025-06-16T10:38:37.201720882" + "timestamp": "2025-06-18T09:57:52.144590003" } } \ No newline at end of file diff --git a/tests/filter.nf.test.snap b/tests/filter.nf.test.snap index a39c598..9794a41 100644 --- a/tests/filter.nf.test.snap +++ b/tests/filter.nf.test.snap @@ -25,7 +25,7 @@ "vcf2counts.R": "1.0.0" }, "Workflow": { - "qbic-pipelines/vcftocounts": "v2.0.2dev" + "qbic-pipelines/vcftocounts": "v2.1.0dev" } }, [ @@ -50,10 +50,14 @@ "bcftools/reheader/samplefiles/chr21_ann_callerB.txt", "bcftools/reheader/samplefiles/versions.yml", "bcftools/view", - "bcftools/view/chr21_ann", - "bcftools/view/chr21_ann/chr21_ann_full.filter.vcf.gz", - "bcftools/view/chr21_ann/chr21_ann_full.filter.vcf.gz.tbi", - "bcftools/view/chr21_ann/versions.yml", + "bcftools/view/chr21_ann_callerA", + "bcftools/view/chr21_ann_callerA/annotated.filter.vcf.gz", + "bcftools/view/chr21_ann_callerA/annotated.filter.vcf.gz.tbi", + "bcftools/view/chr21_ann_callerA/versions.yml", + "bcftools/view/chr21_ann_callerB", + "bcftools/view/chr21_ann_callerB/annotated.filter.vcf.gz", + "bcftools/view/chr21_ann_callerB/annotated.filter.vcf.gz.tbi", + "bcftools/view/chr21_ann_callerB/versions.yml", "multiqc", "multiqc/multiqc_data", "multiqc/multiqc_data/BETA-multiqc.parquet", @@ -107,7 +111,7 @@ "nf-test": "0.9.2", "nextflow": "25.04.3" }, - "timestamp": "2025-06-13T17:26:03.346578814" + "timestamp": "2025-06-18T09:58:55.060177619" }, "-profile test --filter 'INFO/CSQ ~ 'HIGH'' - stub": { "content": [ @@ -135,7 +139,7 @@ "vcf2counts.R": "1.0.0" }, "Workflow": { - "qbic-pipelines/vcftocounts": "v2.0.2dev" + "qbic-pipelines/vcftocounts": "v2.1.0dev" } }, [ @@ -160,10 +164,14 @@ "bcftools/reheader/samplefiles/chr21_ann_callerB.txt", "bcftools/reheader/samplefiles/versions.yml", "bcftools/view", - "bcftools/view/chr21_ann", - "bcftools/view/chr21_ann/chr21_ann_full.filter.vcf.gz", - "bcftools/view/chr21_ann/chr21_ann_full.filter.vcf.gz.tbi", - "bcftools/view/chr21_ann/versions.yml", + "bcftools/view/chr21_ann_callerA", + "bcftools/view/chr21_ann_callerA/annotated.filter.vcf.gz", + "bcftools/view/chr21_ann_callerA/annotated.filter.vcf.gz.tbi", + "bcftools/view/chr21_ann_callerA/versions.yml", + "bcftools/view/chr21_ann_callerB", + "bcftools/view/chr21_ann_callerB/annotated.filter.vcf.gz", + "bcftools/view/chr21_ann_callerB/annotated.filter.vcf.gz.tbi", + "bcftools/view/chr21_ann_callerB/versions.yml", "multiqc", "multiqc/multiqc_data", "multiqc/multiqc_plots", @@ -200,15 +208,18 @@ "nf-test": "0.9.2", "nextflow": "25.04.3" }, - "timestamp": "2025-06-13T17:27:49.968238908" + "timestamp": "2025-06-18T09:59:36.172027044" }, "-profile test --subset 0.005": { "content": [ - 7, + 12, { "BCFTOOLS_ANNOTATE": { "bcftools": 1.21 }, + "BCFTOOLS_MERGE": { + "bcftools": 1.21 + }, "BCFTOOLS_REHEADER": { "bcftools": 1.21 }, @@ -225,30 +236,42 @@ "vcf2counts.R": "1.0.0" }, "Workflow": { - "qbic-pipelines/vcftocounts": "v2.0.2dev" + "qbic-pipelines/vcftocounts": "v2.1.0dev" } }, [ "bcftools", "bcftools/annotate", - "bcftools/annotate/chr21_ann.reheader.vcf.gz.csi", - "bcftools/annotate/chr21_ann_full.IDremoved.vcf.gz", - "bcftools/annotate/chr21_ann_full.IDremoved.vcf.gz.tbi", + "bcftools/annotate/chr21_ann_sample.IDremoved.vcf.gz", + "bcftools/annotate/chr21_ann_sample.IDremoved.vcf.gz.tbi", "bcftools/annotate/versions.yml", + "bcftools/merge", + "bcftools/merge/chr21_ann_sample.merge.vcf.gz", + "bcftools/merge/chr21_ann_sample.merge.vcf.gz.tbi", + "bcftools/merge/versions.yml", "bcftools/reheader", - "bcftools/reheader/chr21_ann.reheader.vcf.gz", - "bcftools/reheader/chr21_ann.reheader.vcf.gz.tbi", + "bcftools/reheader/chr21_ann_sample", + "bcftools/reheader/chr21_ann_sample/chr21_ann_sample.chr21_ann_callerA.reheader.vcf.gz", + "bcftools/reheader/chr21_ann_sample/chr21_ann_sample.chr21_ann_callerA.reheader.vcf.gz.tbi", + "bcftools/reheader/chr21_ann_sample/chr21_ann_sample.chr21_ann_callerB.reheader.vcf.gz", + "bcftools/reheader/chr21_ann_sample/chr21_ann_sample.chr21_ann_callerB.reheader.vcf.gz.tbi", + "bcftools/reheader/chr21_ann_sample/versions.yml", "bcftools/reheader/samplefiles", - "bcftools/reheader/samplefiles/chr21_ann.txt", + "bcftools/reheader/samplefiles/chr21_ann_callerA.txt", + "bcftools/reheader/samplefiles/chr21_ann_callerB.txt", "bcftools/reheader/samplefiles/versions.yml", - "bcftools/reheader/versions.yml", "bcftools/subset", - "bcftools/subset/chr21_ann", - "bcftools/subset/chr21_ann/chr21_ann_full.subset.vcf.gz", - "bcftools/subset/chr21_ann/chr21_ann_full.subset.vcf.gz.tbi", - "bcftools/subset/chr21_ann/versions.yml", + "bcftools/subset/chr21_ann_callerA", + "bcftools/subset/chr21_ann_callerA/chr21_ann_sample.subset.vcf.gz", + "bcftools/subset/chr21_ann_callerA/chr21_ann_sample.subset.vcf.gz.tbi", + "bcftools/subset/chr21_ann_callerA/versions.yml", + "bcftools/subset/chr21_ann_callerB", + "bcftools/subset/chr21_ann_callerB/chr21_ann_sample.subset.vcf.gz", + "bcftools/subset/chr21_ann_callerB/chr21_ann_sample.subset.vcf.gz.tbi", + "bcftools/subset/chr21_ann_callerB/versions.yml", "multiqc", "multiqc/multiqc_data", + "multiqc/multiqc_data/BETA-multiqc.parquet", "multiqc/multiqc_data/multiqc.log", "multiqc/multiqc_data/multiqc_citations.txt", "multiqc/multiqc_data/multiqc_data.json", @@ -260,30 +283,36 @@ "tabix", "tabix/annotated.vcf.gz.tbi", "vcf2counts", - "vcf2counts/chr21_ann_full.csv" + "vcf2counts/chr21_ann_sample.csv" ], [ "versions.yml:md5,c805d5803ca9daca8965aa71800cb41e", - "chr21_ann.txt:md5,67a48a0a8902f9e8493f85a6de469ebb", - "versions.yml:md5,4afe7b519f82d5d8c539950934477c1a", + "versions.yml:md5,429703c7a1b835b7e3cc81f91a87a167", "versions.yml:md5,033f0e38ea7e11362d7c210db7aa3f4c", + "chr21_ann_callerA.txt:md5,53d75ae10df3e0af2f8e2172826ed179", + "chr21_ann_callerB.txt:md5,c72e9e92762ccaf4b20f7e92126e7aef", + "versions.yml:md5,4afe7b519f82d5d8c539950934477c1a", + "versions.yml:md5,e0f218ef306127de5c57d21eb0b4d227", "versions.yml:md5,e0f218ef306127de5c57d21eb0b4d227", "multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f", - "chr21_ann_full.csv:md5,04455fd09dac50535a9516874de9f23b" + "chr21_ann_sample.csv:md5,4c585771453a3dd3ca8714b221840de8" ], [ - "chr21_ann_full.IDremoved.vcf.gz:md5,f3deb7f58f9a50ad963dbca8fafb7f31", - "chr21_ann.reheader.vcf.gz:md5,9c28803db167f710cd9a8f43278bc1b8", - "chr21_ann_full.subset.vcf.gz:md5,9c28803db167f710cd9a8f43278bc1b8" + "chr21_ann_sample.IDremoved.vcf.gz:md5,e722ddcbf5e6bee2478277d032c3d22a", + "chr21_ann_sample.merge.vcf.gz:md5,3528215fc1be71ba79ce5ec47d1f9ba0", + "chr21_ann_sample.chr21_ann_callerA.reheader.vcf.gz:md5,1692caed10803620ebae48f68a4cedbb", + "chr21_ann_sample.chr21_ann_callerB.reheader.vcf.gz:md5,fd72b1863e4dd8e7f930e8cd22cf8ca9", + "chr21_ann_sample.subset.vcf.gz:md5,1692caed10803620ebae48f68a4cedbb", + "chr21_ann_sample.subset.vcf.gz:md5,fd72b1863e4dd8e7f930e8cd22cf8ca9" ], [ - "chr21_ann_full.csv:numVariants=29" + "chr21_ann_sample.csv:numVariants=58" ] ], "meta": { "nf-test": "0.9.2", "nextflow": "25.04.3" }, - "timestamp": "2025-06-13T17:27:06.485215364" + "timestamp": "2025-06-18T09:59:22.120873927" } } \ No newline at end of file diff --git a/tests/full.nf.test.snap b/tests/full.nf.test.snap index 7f38e07..4ea31e0 100644 --- a/tests/full.nf.test.snap +++ b/tests/full.nf.test.snap @@ -28,7 +28,7 @@ "vcf2counts.R": "1.0.0" }, "Workflow": { - "qbic-pipelines/vcftocounts": "v2.0.2dev" + "qbic-pipelines/vcftocounts": "v2.1.0dev" } }, [ @@ -215,7 +215,7 @@ "nf-test": "0.9.2", "nextflow": "25.04.3" }, - "timestamp": "2025-06-13T15:01:55.67824494" + "timestamp": "2025-06-18T09:58:18.779339304" }, "-profile test_full - stub": { "content": [ @@ -246,7 +246,7 @@ "vcf2counts.R": "1.0.0" }, "Workflow": { - "qbic-pipelines/vcftocounts": "v2.0.2dev" + "qbic-pipelines/vcftocounts": "v2.1.0dev" } }, [ @@ -394,6 +394,6 @@ "nf-test": "0.9.2", "nextflow": "25.04.3" }, - "timestamp": "2025-06-13T15:02:16.0250005" + "timestamp": "2025-06-18T09:58:38.896324197" } } \ No newline at end of file From b76a746f45336fc793445893df4e1465513f0fb5 Mon Sep 17 00:00:00 2001 From: famosab Date: Wed, 18 Jun 2025 10:00:44 +0200 Subject: [PATCH 06/19] prettier --- .nf-core.yml | 58 ++++++++++++++++++++++++++-------------------------- modules.json | 46 +++++++++++------------------------------ 2 files changed, 41 insertions(+), 63 deletions(-) diff --git a/.nf-core.yml b/.nf-core.yml index f1e494a..ab8281b 100644 --- a/.nf-core.yml +++ b/.nf-core.yml @@ -1,40 +1,40 @@ lint: actions_ci: false files_exist: - - CODE_OF_CONDUCT.md - - assets/nf-core-vcftocounts_logo_light.png - - docs/images/nf-core-vcftocounts_logo_light.png - - docs/images/nf-core-vcftocounts_logo_dark.png - - .github/ISSUE_TEMPLATE/config.yml - - .github/workflows/awstest.yml - - .github/workflows/awsfulltest.yml - - .github/workflows/ci.yml + - CODE_OF_CONDUCT.md + - assets/nf-core-vcftocounts_logo_light.png + - docs/images/nf-core-vcftocounts_logo_light.png + - docs/images/nf-core-vcftocounts_logo_dark.png + - .github/ISSUE_TEMPLATE/config.yml + - .github/workflows/awstest.yml + - .github/workflows/awsfulltest.yml + - .github/workflows/ci.yml files_unchanged: - - .github/CONTRIBUTING.md - - .prettierignore - - .github/CONTRIBUTING.md - - .prettierignore - - CODE_OF_CONDUCT.md - - assets/nf-core-vcftocounts_logo_light.png - - docs/images/nf-core-vcftocounts_logo_light.png - - docs/images/nf-core-vcftocounts_logo_dark.png - - .github/ISSUE_TEMPLATE/bug_report.yml + - .github/CONTRIBUTING.md + - .prettierignore + - .github/CONTRIBUTING.md + - .prettierignore + - CODE_OF_CONDUCT.md + - assets/nf-core-vcftocounts_logo_light.png + - docs/images/nf-core-vcftocounts_logo_light.png + - docs/images/nf-core-vcftocounts_logo_dark.png + - .github/ISSUE_TEMPLATE/bug_report.yml included_configs: false multiqc_config: - - report_comment + - report_comment nextflow_config: - - manifest.name - - manifest.homePage - - validation.help.beforeText - - validation.help.afterText - - validation.summary.beforeText - - validation.summary.afterText + - manifest.name + - manifest.homePage + - validation.help.beforeText + - validation.help.afterText + - validation.summary.beforeText + - validation.summary.afterText nf_core_version: 3.3.1 repository_type: pipeline template: author: "Famke Bäuerle, Dorothy Ellis" - description: Nextflow pipeline to convert (g)vcfs to matrices suitable for + description: Nextflow pipeline to convert (g)vcfs to matrices suitable for statistical analysis force: false is_nfcore: false @@ -42,8 +42,8 @@ template: org: qbic-pipelines outdir: . skip_features: - - gitpod - - codespaces - - fastqc - - adaptivecard + - gitpod + - codespaces + - fastqc + - adaptivecard version: 2.1.0dev diff --git a/modules.json b/modules.json index c874b28..c5de17f 100644 --- a/modules.json +++ b/modules.json @@ -8,58 +8,42 @@ "bcftools/annotate": { "branch": "master", "git_sha": "c9c3ef86c1892413b3c86fb38c4e39fd7288512f", - "installed_by": [ - "modules" - ] + "installed_by": ["modules"] }, "bcftools/concat": { "branch": "master", "git_sha": "1503efe8f6450e71218097f93cf43e4b625018d4", - "installed_by": [ - "modules" - ] + "installed_by": ["modules"] }, "bcftools/merge": { "branch": "master", "git_sha": "c9c3ef86c1892413b3c86fb38c4e39fd7288512f", - "installed_by": [ - "modules" - ] + "installed_by": ["modules"] }, "bcftools/reheader": { "branch": "master", "git_sha": "c9c3ef86c1892413b3c86fb38c4e39fd7288512f", - "installed_by": [ - "modules" - ] + "installed_by": ["modules"] }, "bcftools/view": { "branch": "master", "git_sha": "c9c3ef86c1892413b3c86fb38c4e39fd7288512f", - "installed_by": [ - "modules" - ] + "installed_by": ["modules"] }, "gatk4/genotypegvcfs": { "branch": "master", "git_sha": "81880787133db07d9b4c1febd152c090eb8325dc", - "installed_by": [ - "modules" - ] + "installed_by": ["modules"] }, "multiqc": { "branch": "master", "git_sha": "e594e9dfaffa7572afc11bafc634984fd4cbd87b", - "installed_by": [ - "modules" - ] + "installed_by": ["modules"] }, "tabix/tabix": { "branch": "master", "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", - "installed_by": [ - "modules" - ] + "installed_by": ["modules"] } } }, @@ -68,26 +52,20 @@ "utils_nextflow_pipeline": { "branch": "master", "git_sha": "c2b22d85f30a706a3073387f30380704fcae013b", - "installed_by": [ - "subworkflows" - ] + "installed_by": ["subworkflows"] }, "utils_nfcore_pipeline": { "branch": "master", "git_sha": "51ae5406a030d4da1e49e4dab49756844fdd6c7a", - "installed_by": [ - "subworkflows" - ] + "installed_by": ["subworkflows"] }, "utils_nfschema_plugin": { "branch": "master", "git_sha": "2fd2cd6d0e7b273747f32e465fdc6bcc3ae0814e", - "installed_by": [ - "subworkflows" - ] + "installed_by": ["subworkflows"] } } } } } -} \ No newline at end of file +} From b002497e01fa3d43c45bf3fa7cad2b01a37f98b9 Mon Sep 17 00:00:00 2001 From: famosab Date: Wed, 18 Jun 2025 10:05:05 +0200 Subject: [PATCH 07/19] fix whitespace --- bin/randomsubset.sh | 2 +- modules/local/randomsubset/main.nf | 4 ++-- modules/local/randomsubset/tests/main.nf.test | 1 - workflows/vcftocounts.nf | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/bin/randomsubset.sh b/bin/randomsubset.sh index 995aadf..28e1191 100755 --- a/bin/randomsubset.sh +++ b/bin/randomsubset.sh @@ -36,4 +36,4 @@ bcftools view --no-header "$input_vcf" | \ bcftools sort -T "$tmpdir" -o "$output_vcf" "$tmp_vcf" # Clean up -rm -rf "$tmpdir" \ No newline at end of file +rm -rf "$tmpdir" diff --git a/modules/local/randomsubset/main.nf b/modules/local/randomsubset/main.nf index 20a3bc1..62eba56 100644 --- a/modules/local/randomsubset/main.nf +++ b/modules/local/randomsubset/main.nf @@ -23,10 +23,10 @@ process RANDOMSUBSET { def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" """ - randomsubset.sh ${vcf} ${prefix}.vcf ${fraction} + randomsubset.sh ${vcf} ${prefix}.vcf ${fraction} bgzip ${prefix}.vcf - tabix -p vcf ${prefix}.vcf.gz + tabix -p vcf ${prefix}.vcf.gz cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/local/randomsubset/tests/main.nf.test b/modules/local/randomsubset/tests/main.nf.test index ded1afe..f98a25b 100644 --- a/modules/local/randomsubset/tests/main.nf.test +++ b/modules/local/randomsubset/tests/main.nf.test @@ -63,4 +63,3 @@ nextflow_process { } } - diff --git a/workflows/vcftocounts.nf b/workflows/vcftocounts.nf index 5d58d5a..63b3999 100644 --- a/workflows/vcftocounts.nf +++ b/workflows/vcftocounts.nf @@ -113,7 +113,7 @@ workflow VCFTOCOUNTS { ) ch_versions = ch_versions.mix(RANDOMSUBSET.out.versions) - + ch_filtered_vcf = RANDOMSUBSET.out.vcf .join(RANDOMSUBSET.out.tbi) } From f58044912589010bc173102cd69eb62425526c8e Mon Sep 17 00:00:00 2001 From: famosab Date: Wed, 18 Jun 2025 10:07:05 +0200 Subject: [PATCH 08/19] Update nextflow schema --- nextflow_schema.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nextflow_schema.json b/nextflow_schema.json index 8460300..17123f9 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -32,6 +32,10 @@ "type": "string", "description": "Add a filtering criterium suitable for bcftools/view. For example 'INFO/CSQ ~ \"HIGH\"'." }, + "subset": { + "type": "string", + "description": "Get a random subset of variants. Set this variable to the fraction you want to keep (f.ex. 0.5 if you want to keep half of the variants)." + }, "removeIDs": { "type": "boolean", "default": true, From 87ae761c2796396ce280d7995ba96be7e7993a7c Mon Sep 17 00:00:00 2001 From: famosab Date: Wed, 18 Jun 2025 10:22:56 +0200 Subject: [PATCH 09/19] Update docs --- docs/output.md | 14 ++++++++++++++ docs/usage.md | 7 +++++++ nextflow_schema.json | 2 +- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/docs/output.md b/docs/output.md index 37071dd..d3315d9 100644 --- a/docs/output.md +++ b/docs/output.md @@ -13,6 +13,7 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d - [Tabix](#tabix) - Indexes (g.)vcf files - [GenotypeGVCFs](#genotypegvcfs) - Converts g.vcf files to vcf with GATK - [Filter VCFs](#filter-vcfs) - Filters the VCF based on a string given to the `filter` param with bcftools/view +- [Subsample VCFs](#subsample-vcfs) - Keeps only a fraction of random variants based on the `subset` param - [Concatenate VCFs](#concatenate-vcfs) - Concatenates all vcfs that have the same id and the same label with bcftools/concat - [Rename Samples](#rename-samples) - Changes the sample name in the vcf file to the label with bcftools/reheader - [Merge VCFs](#merge-vcfs) - Merges all vcfs from the same sample with bcftools/merge @@ -59,6 +60,19 @@ The GATK GenotypeGVCFs module translates genotype (g) vcf files into classic vcf VEP annotated VCF files can be filtered for certain flags present after VEP annotation. Notably, this enables filtering for variants with certain impact levels or consequences. Filtering will produces VCF files holding just the variants matching the specific patterns. +### Filter VCFs + +
+Output files + +- `bcftools/subset/{meta.label}/` + - `{filename}.subset.vcf.gz`: vcf file with fraction of random variants. + - `{filename}.seubset.vcf.gz.tbi`: tabix index of the vcf file. + +
+ +VCF files can be randomly subsampled to keep only a specific fraction of variants. This enables comparison to the filtered variants. + ### Concatenate VCFs
diff --git a/docs/usage.md b/docs/usage.md index 9bcd1ba..0e9697a 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -96,6 +96,13 @@ Notably, this enables filtering for variants with certain impact levels or conse > [!NOTE] > The filtering step only works with conda for nextflow versions above 24.10.2 (use docker or singularity if you want to use an older nextflow version) +### Subsample VCFs + +VCF files can be randomly subsampled to keep only a specific fraction of variants. This enables comparison to the filtered variants. + +You can determine appropriate fractions by comparing the number of filtered variants with the total number of variants. This can be done with a script that collects the number of variants by using `bcftools stats` from both files and dividing them. The more VCF files you use to compare the more robust the fraction becomes. (We compared f.ex. around 90 files and landed at an average fraction of 0.00175 when using `--filter 'INFO/CSQ ~ "HIGH"'`). + + ### Updating the pipeline When you run the above command, Nextflow automatically pulls the pipeline code from GitHub and stores it as a cached version. When running the pipeline after this, it will always use the cached version if available - even if the pipeline has been updated since. To make sure that you're running the latest version of the pipeline, make sure that you regularly update the cached version of the pipeline: diff --git a/nextflow_schema.json b/nextflow_schema.json index 17123f9..51c4c48 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -33,7 +33,7 @@ "description": "Add a filtering criterium suitable for bcftools/view. For example 'INFO/CSQ ~ \"HIGH\"'." }, "subset": { - "type": "string", + "type": "number", "description": "Get a random subset of variants. Set this variable to the fraction you want to keep (f.ex. 0.5 if you want to keep half of the variants)." }, "removeIDs": { From 0ca1868deb36ce4ddbcc1bd43a89a227287edce4 Mon Sep 17 00:00:00 2001 From: famosab Date: Wed, 18 Jun 2025 10:27:34 +0200 Subject: [PATCH 10/19] Update readme and citations --- CITATIONS.md | 12 ++++++++++++ README.md | 15 +++++++-------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/CITATIONS.md b/CITATIONS.md index a662707..2feaab4 100644 --- a/CITATIONS.md +++ b/CITATIONS.md @@ -10,6 +10,18 @@ ## Pipeline tools +- [BCFTools](https://pubmed.ncbi.nlm.nih.gov/21903627/) + + > Li H: A statistical framework for SNP calling, mutation discovery, association mapping and population genetical parameter estimation from sequencing data. Bioinformatics. 2011 Nov 1;27(21):2987-93. doi: 10.1093/bioinformatics/btr509. PubMed PMID: 21903627; PubMed Central PMCID: PMC3198575. + +- [GATK](https://pubmed.ncbi.nlm.nih.gov/20644199/) + + > McKenna A, Hanna M, Banks E, et al.: The Genome Analysis Toolkit: a MapReduce framework for analyzing next-generation DNA sequencing data. Genome Res. 2010 Sep;20(9):1297-303. doi: 10.1101/gr.107524.110. Epub 2010 Jul 19. PubMed PMID: 20644199; PubMed Central PMCID: PMC2928508. + +- [Tabix](https://academic.oup.com/bioinformatics/article/27/5/718/262743) + + > Li H, Tabix: fast retrieval of sequence features from generic TAB-delimited files, Bioinformatics, Volume 27, Issue 5, 1 March 2011, Pages 718–719, doi: 10.1093/bioinformatics/btq671. PubMed PMID: 21208982. PubMed Central PMCID: PMC3042176. + - [MultiQC](https://pubmed.ncbi.nlm.nih.gov/27312411/) > Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924. diff --git a/README.md b/README.md index b21b117..89b41cd 100644 --- a/README.md +++ b/README.md @@ -18,12 +18,13 @@ 1. Indexes (g.)vcf files ([`tabix`](http://www.htslib.org/doc/tabix.html)) 2. Converts g.vcf files to vcf with `genotypegvcf` ([`GATK`](https://gatk.broadinstitute.org/hc/en-us)) 3. Filters the VCF based on a string given to the `filter` param with `bcftools/view` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - Turned off by default. -4. Concatenates all vcfs that have the same id and the same label with `bcftools/concat` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) -5. Changes the sample name in the vcf file to the filename with `bcftools/reheader` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - This can be turned off by adding `--rename false` to the `nextflow run` command. -6. Merges all vcfs from the same sample with `bcftools/merge` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) -7. Removes entries in the ID column with `bcftools/annotate` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - his can be turned off by adding `--removeIDs false` to the `nextflow run` command. -8. Converts the (merged) vcfs to a matrix using a custom R script written by @ellisdoro ([`R`](https://www.r-project.org/)) -9. Collects all reports into a MultiQC report ([`MultiQC`](http://multiqc.info/)) +4. Keeps only a fraction of random variants based on the `subset` param with a custom bash script using `bcftools/stats`, `view` and `sort` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - Turned off by default, should be used as alternative to filtering. +5. Concatenates all vcfs that have the same id and the same label with `bcftools/concat` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) +6. Changes the sample name in the vcf file to the filename with `bcftools/reheader` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - This can be turned off by adding `--rename false` to the `nextflow run` command. +7. Merges all vcfs from the same sample with `bcftools/merge` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) +8. Removes entries in the ID column with `bcftools/annotate` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - his can be turned off by adding `--removeIDs false` to the `nextflow run` command. +9. Converts the (merged) vcfs to a matrix using a custom R script written by @ellisdoro ([`R`](https://www.r-project.org/)) +10. Collects all reports into a MultiQC report ([`MultiQC`](http://multiqc.info/)) ![](./docs/images/vcftocounts-subway.excalidraw.png) @@ -73,8 +74,6 @@ If you would like to contribute to this pipeline, please see the [contributing g If you use qbic-pipelines/vcftocounts for your analysis, please cite it using the following doi: [10.5281/zenodo.14616650](https://doi.org/10.5281/zenodo.14616650) - - An extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file. This pipeline uses code and infrastructure developed and maintained by the [nf-core](https://nf-co.re) community, reused here under the [MIT license](https://github.com/nf-core/tools/blob/main/LICENSE). From 464adb4d3eefbef95e0586c0ad9646d239ae5305 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Famke=20Ba=CC=88uerle?= Date: Wed, 18 Jun 2025 10:35:08 +0200 Subject: [PATCH 11/19] udpate subway map --- docs/images/vcftocounts-subway.excalidraw.png | Bin 84001 -> 236720 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/vcftocounts-subway.excalidraw.png b/docs/images/vcftocounts-subway.excalidraw.png index e7d3d1b1b044a4a5f19a965557fc6791e76db821..deddecd624ab49bda51e953d0f27883c57d519cc 100644 GIT binary patch literal 236720 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 literal 84001 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 xNY^_$ Date: Wed, 18 Jun 2025 10:50:28 +0200 Subject: [PATCH 12/19] update snap --- docs/usage.md | 1 - ro-crate-metadata.json | 2 +- tests/filter.nf.test | 4 ++-- tests/filter.nf.test.snap | 16 ++++++++-------- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/docs/usage.md b/docs/usage.md index 0e9697a..6e9d3c7 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -102,7 +102,6 @@ VCF files can be randomly subsampled to keep only a specific fraction of variant You can determine appropriate fractions by comparing the number of filtered variants with the total number of variants. This can be done with a script that collects the number of variants by using `bcftools stats` from both files and dividing them. The more VCF files you use to compare the more robust the fraction becomes. (We compared f.ex. around 90 files and landed at an average fraction of 0.00175 when using `--filter 'INFO/CSQ ~ "HIGH"'`). - ### Updating the pipeline When you run the above command, Nextflow automatically pulls the pipeline code from GitHub and stores it as a cached version. When running the pipeline after this, it will always use the cached version if available - even if the pipeline has been updated since. To make sure that you're running the latest version of the pipeline, make sure that you regularly update the cached version of the pipeline: diff --git a/ro-crate-metadata.json b/ro-crate-metadata.json index fed6595..c749558 100644 --- a/ro-crate-metadata.json +++ b/ro-crate-metadata.json @@ -23,7 +23,7 @@ "@type": "Dataset", "creativeWorkStatus": "InProgress", "datePublished": "2025-06-18T07:57:14+00:00", - "description": "# qbic-pipelines/vcftocounts\n\n[![GitHub Actions CI Status](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/ci.yml/badge.svg)](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/ci.yml)\n[![GitHub Actions Linting Status](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/linting.yml/badge.svg)](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/linting.yml)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.14616650-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.14616650)\n[![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com)\n\n[![Nextflow](https://img.shields.io/badge/version-%E2%89%A524.04.2-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/)\n[![nf-core template version](https://img.shields.io/badge/nf--core_template-3.3.1-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/3.3.1)\n[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)\n[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)\n[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)\n[![Launch on Seqera Platform](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Seqera%20Platform-%234256e7)](https://cloud.seqera.io/launch?pipeline=https://github.com/qbic-pipelines/vcftocounts)\n\n## Introduction\n\n**qbic-pipelines/vcftocounts** is a bioinformatics pipeline that processes g.vcf files to a matrix suitable for downstream analysis. The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes data using the following steps:\n\n1. Indexes (g.)vcf files ([`tabix`](http://www.htslib.org/doc/tabix.html))\n2. Converts g.vcf files to vcf with `genotypegvcf` ([`GATK`](https://gatk.broadinstitute.org/hc/en-us))\n3. Filters the VCF based on a string given to the `filter` param with `bcftools/view` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - Turned off by default.\n4. Concatenates all vcfs that have the same id and the same label with `bcftools/concat` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html))\n5. Changes the sample name in the vcf file to the filename with `bcftools/reheader` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - This can be turned off by adding `--rename false` to the `nextflow run` command.\n6. Merges all vcfs from the same sample with `bcftools/merge` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html))\n7. Removes entries in the ID column with `bcftools/annotate` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - his can be turned off by adding `--removeIDs false` to the `nextflow run` command.\n8. Converts the (merged) vcfs to a matrix using a custom R script written by @ellisdoro ([`R`](https://www.r-project.org/))\n9. Collects all reports into a MultiQC report ([`MultiQC`](http://multiqc.info/))\n\n![](./docs/images/vcftocounts-subway.excalidraw.png)\n\n## Usage\n\n> [!NOTE]\n> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline) with `-profile test` before running the workflow on actual data.\n\nFirst, prepare a samplesheet with your input data that looks as follows:\n\n`samplesheet.csv`:\n\n```csv\nsample,label,gvcf,vcf_path,vcf_index_path\nSAMPLE-1,pipelineA-callerA,false,path/to/vcf.gz,path/to/.vcf.gz.tbi\nSAMPLE-1,pipelineB-callerA,false,path/to/vcf.gz,path/to/.vcf.gz.tbi\nSAMPLE-2,pipelineB-callerB,true,path/to/g.vcf.gz,path/to/g.vcf.gz.tbi\nSAMPLE-2,pipelineB-callerB,true,path/to/g.vcf.gz,path/to/g.vcf.gz.tbi\n```\n\nEach row represents a VCF file coming from a sample. The `label` column enables concatenation of vcfs (for example when the pipeline produces different vcfs for chrM and chrY). The `gvcf` column indicates whether the file is a g.vcf file or not. The `vcf_path` and `vcf_index_path` columns contain the path to the VCF file and its index, respectively.\n\nNow, you can run the pipeline using:\n\n```bash\nnextflow run qbic-pipelines/vcftocounts \\\n -profile \\\n --input samplesheet.csv \\\n --genome GATK.GRCh38 \\\n --outdir \n```\n\n> [!WARNING]\n> Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_; see [docs](https://nf-co.re/docs/usage/getting_started/configuration#custom-configuration-files).\n\n## Credits\n\nqbic-pipelines/vcftocounts was originally written by Famke B\u00e4uerle, Dorothy Ellis.\n\nWe thank the following people for their extensive assistance in the development of this pipeline:\n\n## Contributions and Support\n\nIf you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md).\n\n## Citations\n\nIf you use qbic-pipelines/vcftocounts for your analysis, please cite it using the following doi: [10.5281/zenodo.14616650](https://doi.org/10.5281/zenodo.14616650)\n\n\n\nAn extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.\n\nThis pipeline uses code and infrastructure developed and maintained by the [nf-core](https://nf-co.re) community, reused here under the [MIT license](https://github.com/nf-core/tools/blob/main/LICENSE).\n\n> **The nf-core framework for community-curated bioinformatics pipelines.**\n>\n> Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.\n>\n> _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x).\n", + "description": "# qbic-pipelines/vcftocounts\n\n[![GitHub Actions CI Status](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/ci.yml/badge.svg)](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/ci.yml)\n[![GitHub Actions Linting Status](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/linting.yml/badge.svg)](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/linting.yml)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.14616650-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.14616650)\n[![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com)\n\n[![Nextflow](https://img.shields.io/badge/version-%E2%89%A524.04.2-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/)\n[![nf-core template version](https://img.shields.io/badge/nf--core_template-3.3.1-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/3.3.1)\n[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)\n[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)\n[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)\n[![Launch on Seqera Platform](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Seqera%20Platform-%234256e7)](https://cloud.seqera.io/launch?pipeline=https://github.com/qbic-pipelines/vcftocounts)\n\n## Introduction\n\n**qbic-pipelines/vcftocounts** is a bioinformatics pipeline that processes g.vcf files to a matrix suitable for downstream analysis. The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes data using the following steps:\n\n1. Indexes (g.)vcf files ([`tabix`](http://www.htslib.org/doc/tabix.html))\n2. Converts g.vcf files to vcf with `genotypegvcf` ([`GATK`](https://gatk.broadinstitute.org/hc/en-us))\n3. Filters the VCF based on a string given to the `filter` param with `bcftools/view` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - Turned off by default.\n4. Keeps only a fraction of random variants based on the `subset` param with a custom bash script using `bcftools/stats`, `view` and `sort` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - Turned off by default, should be used as alternative to filtering.\n5. Concatenates all vcfs that have the same id and the same label with `bcftools/concat` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html))\n6. Changes the sample name in the vcf file to the filename with `bcftools/reheader` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - This can be turned off by adding `--rename false` to the `nextflow run` command.\n7. Merges all vcfs from the same sample with `bcftools/merge` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html))\n8. Removes entries in the ID column with `bcftools/annotate` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - his can be turned off by adding `--removeIDs false` to the `nextflow run` command.\n9. Converts the (merged) vcfs to a matrix using a custom R script written by @ellisdoro ([`R`](https://www.r-project.org/))\n10. Collects all reports into a MultiQC report ([`MultiQC`](http://multiqc.info/))\n\n![](./docs/images/vcftocounts-subway.excalidraw.png)\n\n## Usage\n\n> [!NOTE]\n> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline) with `-profile test` before running the workflow on actual data.\n\nFirst, prepare a samplesheet with your input data that looks as follows:\n\n`samplesheet.csv`:\n\n```csv\nsample,label,gvcf,vcf_path,vcf_index_path\nSAMPLE-1,pipelineA-callerA,false,path/to/vcf.gz,path/to/.vcf.gz.tbi\nSAMPLE-1,pipelineB-callerA,false,path/to/vcf.gz,path/to/.vcf.gz.tbi\nSAMPLE-2,pipelineB-callerB,true,path/to/g.vcf.gz,path/to/g.vcf.gz.tbi\nSAMPLE-2,pipelineB-callerB,true,path/to/g.vcf.gz,path/to/g.vcf.gz.tbi\n```\n\nEach row represents a VCF file coming from a sample. The `label` column enables concatenation of vcfs (for example when the pipeline produces different vcfs for chrM and chrY). The `gvcf` column indicates whether the file is a g.vcf file or not. The `vcf_path` and `vcf_index_path` columns contain the path to the VCF file and its index, respectively.\n\nNow, you can run the pipeline using:\n\n```bash\nnextflow run qbic-pipelines/vcftocounts \\\n -profile \\\n --input samplesheet.csv \\\n --genome GATK.GRCh38 \\\n --outdir \n```\n\n> [!WARNING]\n> Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_; see [docs](https://nf-co.re/docs/usage/getting_started/configuration#custom-configuration-files).\n\n## Credits\n\nqbic-pipelines/vcftocounts was originally written by Famke B\u00e4uerle, Dorothy Ellis.\n\nWe thank the following people for their extensive assistance in the development of this pipeline:\n\n## Contributions and Support\n\nIf you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md).\n\n## Citations\n\nIf you use qbic-pipelines/vcftocounts for your analysis, please cite it using the following doi: [10.5281/zenodo.14616650](https://doi.org/10.5281/zenodo.14616650)\n\nAn extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.\n\nThis pipeline uses code and infrastructure developed and maintained by the [nf-core](https://nf-co.re) community, reused here under the [MIT license](https://github.com/nf-core/tools/blob/main/LICENSE).\n\n> **The nf-core framework for community-curated bioinformatics pipelines.**\n>\n> Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.\n>\n> _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x).\n", "hasPart": [ { "@id": "main.nf" diff --git a/tests/filter.nf.test b/tests/filter.nf.test index ae27dd6..07ed403 100644 --- a/tests/filter.nf.test +++ b/tests/filter.nf.test @@ -73,7 +73,7 @@ nextflow_pipeline { // stable_name: All files + folders in ${params.outdir}/ with a stable name def stable_name = getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ['pipeline_info/*.{html,json,txt}']) // stable_path: All files in ${params.outdir}/ with stable content - def stable_path = getAllFilesFromDir(params.outdir, ignoreFile: 'tests/.nftignore') + def stable_path = getAllFilesFromDir(params.outdir, ignoreFile: 'tests/.nftignore', ignore: ['chr21_ann_sample.csv']) // vcf_files: All files in ${params.outdir} def vcf_files = getAllFilesFromDir(params.outdir, include: ['**/*.vcf{,.gz}']) def csv_files = getAllFilesFromDir(params.outdir, include: ['**/*.csv']) @@ -89,7 +89,7 @@ nextflow_pipeline { // All files with stable contents stable_path, // All vcf files - vcf_files.collect{ file -> file.name + ":md5," + path(file.path).vcf.variantsMD5 }, + vcf_files.collect{ file -> file.name + ":numVariants=" + path(file.path).vcf.variants.size() }, csv_files.collect{ file -> file.name + ":numVariants=" + (path(file.path).readLines().size() - 1) } ).match() } ) diff --git a/tests/filter.nf.test.snap b/tests/filter.nf.test.snap index 9794a41..c5655cb 100644 --- a/tests/filter.nf.test.snap +++ b/tests/filter.nf.test.snap @@ -295,15 +295,15 @@ "versions.yml:md5,e0f218ef306127de5c57d21eb0b4d227", "versions.yml:md5,e0f218ef306127de5c57d21eb0b4d227", "multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f", - "chr21_ann_sample.csv:md5,4c585771453a3dd3ca8714b221840de8" + "chr21_ann_sample.csv:md5,8cf4a4c0ce62c9156ae84329c5c460ea" ], [ - "chr21_ann_sample.IDremoved.vcf.gz:md5,e722ddcbf5e6bee2478277d032c3d22a", - "chr21_ann_sample.merge.vcf.gz:md5,3528215fc1be71ba79ce5ec47d1f9ba0", - "chr21_ann_sample.chr21_ann_callerA.reheader.vcf.gz:md5,1692caed10803620ebae48f68a4cedbb", - "chr21_ann_sample.chr21_ann_callerB.reheader.vcf.gz:md5,fd72b1863e4dd8e7f930e8cd22cf8ca9", - "chr21_ann_sample.subset.vcf.gz:md5,1692caed10803620ebae48f68a4cedbb", - "chr21_ann_sample.subset.vcf.gz:md5,fd72b1863e4dd8e7f930e8cd22cf8ca9" + "chr21_ann_sample.IDremoved.vcf.gz:numVariants=58", + "chr21_ann_sample.merge.vcf.gz:numVariants=58", + "chr21_ann_sample.chr21_ann_callerA.reheader.vcf.gz:numVariants=29", + "chr21_ann_sample.chr21_ann_callerB.reheader.vcf.gz:numVariants=29", + "chr21_ann_sample.subset.vcf.gz:numVariants=29", + "chr21_ann_sample.subset.vcf.gz:numVariants=29" ], [ "chr21_ann_sample.csv:numVariants=58" @@ -313,6 +313,6 @@ "nf-test": "0.9.2", "nextflow": "25.04.3" }, - "timestamp": "2025-06-18T09:59:22.120873927" + "timestamp": "2025-06-18T10:44:41.225101511" } } \ No newline at end of file From a19de46bdeaff04ab5e1f8570c5ee98665015fb2 Mon Sep 17 00:00:00 2001 From: famosab Date: Wed, 18 Jun 2025 10:54:00 +0200 Subject: [PATCH 13/19] update local snap --- modules/local/randomsubset/tests/main.nf.test.snap | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/local/randomsubset/tests/main.nf.test.snap b/modules/local/randomsubset/tests/main.nf.test.snap index 0ce530c..43ef2b2 100644 --- a/modules/local/randomsubset/tests/main.nf.test.snap +++ b/modules/local/randomsubset/tests/main.nf.test.snap @@ -8,7 +8,7 @@ "id": "out", "single_end": false }, - "out.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + "out.subset.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] ], "1": [ @@ -17,7 +17,7 @@ "id": "out", "single_end": false }, - "out.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + "out.subset.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "2": [ @@ -29,7 +29,7 @@ "id": "out", "single_end": false }, - "out.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + "out.subset.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "vcf": [ @@ -38,7 +38,7 @@ "id": "out", "single_end": false }, - "out.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + "out.subset.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] ], "versions": [ @@ -50,12 +50,12 @@ "nf-test": "0.9.2", "nextflow": "25.04.3" }, - "timestamp": "2025-06-13T16:16:18.829548277" + "timestamp": "2025-06-18T10:53:32.966380045" }, "sarscov2 - [vcf, tbi]": { "content": [ "VcfFile [chromosomes=[MT192765.1], sampleCount=1, variantCount=4, phased=false, phasedAutodetect=false]", - "out.vcf.gz.tbi", + "out.subset.vcf.gz.tbi", [ "versions.yml:md5,ee7626565a01c36b7fb7a05f41e0653e" ] @@ -64,6 +64,6 @@ "nf-test": "0.9.2", "nextflow": "25.04.3" }, - "timestamp": "2025-06-13T16:59:43.857973338" + "timestamp": "2025-06-18T10:53:26.441286474" } } \ No newline at end of file From 94ffe9dd767ec727ff466e7b00760396daba9a8a Mon Sep 17 00:00:00 2001 From: famosab Date: Wed, 18 Jun 2025 11:00:23 +0200 Subject: [PATCH 14/19] ignore csv md5 --- tests/filter.nf.test | 2 +- tests/filter.nf.test.snap | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/filter.nf.test b/tests/filter.nf.test index 07ed403..6c1674b 100644 --- a/tests/filter.nf.test +++ b/tests/filter.nf.test @@ -73,7 +73,7 @@ nextflow_pipeline { // stable_name: All files + folders in ${params.outdir}/ with a stable name def stable_name = getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ['pipeline_info/*.{html,json,txt}']) // stable_path: All files in ${params.outdir}/ with stable content - def stable_path = getAllFilesFromDir(params.outdir, ignoreFile: 'tests/.nftignore', ignore: ['chr21_ann_sample.csv']) + def stable_path = getAllFilesFromDir(params.outdir, ignoreFile: 'tests/.nftignore', ignore: ['vcf2counts/chr21_ann_sample.csv']) // vcf_files: All files in ${params.outdir} def vcf_files = getAllFilesFromDir(params.outdir, include: ['**/*.vcf{,.gz}']) def csv_files = getAllFilesFromDir(params.outdir, include: ['**/*.csv']) diff --git a/tests/filter.nf.test.snap b/tests/filter.nf.test.snap index c5655cb..cc4dcda 100644 --- a/tests/filter.nf.test.snap +++ b/tests/filter.nf.test.snap @@ -294,8 +294,7 @@ "versions.yml:md5,4afe7b519f82d5d8c539950934477c1a", "versions.yml:md5,e0f218ef306127de5c57d21eb0b4d227", "versions.yml:md5,e0f218ef306127de5c57d21eb0b4d227", - "multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f", - "chr21_ann_sample.csv:md5,8cf4a4c0ce62c9156ae84329c5c460ea" + "multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f" ], [ "chr21_ann_sample.IDremoved.vcf.gz:numVariants=58", From 42e169e9e6f58c9b37d455c0404e597c4c73a797 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Famke=20B=C3=A4uerle?= <45968370+famosab@users.noreply.github.com> Date: Wed, 18 Jun 2025 13:55:25 +0200 Subject: [PATCH 15/19] Update README.md Co-authored-by: SusiJo <43847534+SusiJo@users.noreply.github.com> --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 89b41cd..979ed22 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,9 @@ 1. Indexes (g.)vcf files ([`tabix`](http://www.htslib.org/doc/tabix.html)) 2. Converts g.vcf files to vcf with `genotypegvcf` ([`GATK`](https://gatk.broadinstitute.org/hc/en-us)) -3. Filters the VCF based on a string given to the `filter` param with `bcftools/view` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - Turned off by default. +3. Optional filtering of VCF files +3.1 Filtering based on a string given to the `filter` param with `bcftools/view` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - Turned off by default. +3.2 Filtering based on a random subset of variants... The `--subset` parameter specifies the fraction of variants to keep.... 4. Keeps only a fraction of random variants based on the `subset` param with a custom bash script using `bcftools/stats`, `view` and `sort` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - Turned off by default, should be used as alternative to filtering. 5. Concatenates all vcfs that have the same id and the same label with `bcftools/concat` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) 6. Changes the sample name in the vcf file to the filename with `bcftools/reheader` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - This can be turned off by adding `--rename false` to the `nextflow run` command. From 28cdbfa2baf3a883a3b3834175d9c9117bf28b50 Mon Sep 17 00:00:00 2001 From: famosab Date: Wed, 18 Jun 2025 13:55:45 +0200 Subject: [PATCH 16/19] Update docs --- docs/output.md | 4 ++-- docs/usage.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/output.md b/docs/output.md index d3315d9..d898864 100644 --- a/docs/output.md +++ b/docs/output.md @@ -13,7 +13,7 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d - [Tabix](#tabix) - Indexes (g.)vcf files - [GenotypeGVCFs](#genotypegvcfs) - Converts g.vcf files to vcf with GATK - [Filter VCFs](#filter-vcfs) - Filters the VCF based on a string given to the `filter` param with bcftools/view -- [Subsample VCFs](#subsample-vcfs) - Keeps only a fraction of random variants based on the `subset` param +- [Subset VCFs](#subsetvcfs) - Keeps only a fraction of random variants based on the `subset` param - [Concatenate VCFs](#concatenate-vcfs) - Concatenates all vcfs that have the same id and the same label with bcftools/concat - [Rename Samples](#rename-samples) - Changes the sample name in the vcf file to the label with bcftools/reheader - [Merge VCFs](#merge-vcfs) - Merges all vcfs from the same sample with bcftools/merge @@ -60,7 +60,7 @@ The GATK GenotypeGVCFs module translates genotype (g) vcf files into classic vcf VEP annotated VCF files can be filtered for certain flags present after VEP annotation. Notably, this enables filtering for variants with certain impact levels or consequences. Filtering will produces VCF files holding just the variants matching the specific patterns. -### Filter VCFs +### Subset VCFs
Output files diff --git a/docs/usage.md b/docs/usage.md index 6e9d3c7..c82e8dc 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -96,9 +96,9 @@ Notably, this enables filtering for variants with certain impact levels or conse > [!NOTE] > The filtering step only works with conda for nextflow versions above 24.10.2 (use docker or singularity if you want to use an older nextflow version) -### Subsample VCFs +### Subset VCFs -VCF files can be randomly subsampled to keep only a specific fraction of variants. This enables comparison to the filtered variants. +VCF files can be randomly subsetted to keep only a specific fraction of variants. This enables comparison to the filtered variants. You can determine appropriate fractions by comparing the number of filtered variants with the total number of variants. This can be done with a script that collects the number of variants by using `bcftools stats` from both files and dividing them. The more VCF files you use to compare the more robust the fraction becomes. (We compared f.ex. around 90 files and landed at an average fraction of 0.00175 when using `--filter 'INFO/CSQ ~ "HIGH"'`). From aa26396a828075fd61a2b00793fc30cb79f3d85f Mon Sep 17 00:00:00 2001 From: famosab Date: Wed, 18 Jun 2025 13:58:00 +0200 Subject: [PATCH 17/19] Update README --- README.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 979ed22..5d58d3b 100644 --- a/README.md +++ b/README.md @@ -18,15 +18,14 @@ 1. Indexes (g.)vcf files ([`tabix`](http://www.htslib.org/doc/tabix.html)) 2. Converts g.vcf files to vcf with `genotypegvcf` ([`GATK`](https://gatk.broadinstitute.org/hc/en-us)) 3. Optional filtering of VCF files -3.1 Filtering based on a string given to the `filter` param with `bcftools/view` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - Turned off by default. -3.2 Filtering based on a random subset of variants... The `--subset` parameter specifies the fraction of variants to keep.... -4. Keeps only a fraction of random variants based on the `subset` param with a custom bash script using `bcftools/stats`, `view` and `sort` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - Turned off by default, should be used as alternative to filtering. -5. Concatenates all vcfs that have the same id and the same label with `bcftools/concat` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) -6. Changes the sample name in the vcf file to the filename with `bcftools/reheader` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - This can be turned off by adding `--rename false` to the `nextflow run` command. -7. Merges all vcfs from the same sample with `bcftools/merge` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) -8. Removes entries in the ID column with `bcftools/annotate` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - his can be turned off by adding `--removeIDs false` to the `nextflow run` command. -9. Converts the (merged) vcfs to a matrix using a custom R script written by @ellisdoro ([`R`](https://www.r-project.org/)) -10. Collects all reports into a MultiQC report ([`MultiQC`](http://multiqc.info/)) + 3.1 Filtering based on a string given to the `filter` param with `bcftools/view` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - Turned off by default. + 3.2 Keeping only a fraction of random variants based on the `subset` param with a custom bash script using `bcftools/stats`, `view` and `sort` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - Turned off by default, should be used as alternative to filtering. +4. Concatenates all vcfs that have the same id and the same label with `bcftools/concat` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) +5. Changes the sample name in the vcf file to the filename with `bcftools/reheader` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - This can be turned off by adding `--rename false` to the `nextflow run` command. +6. Merges all vcfs from the same sample with `bcftools/merge` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) +7. Removes entries in the ID column with `bcftools/annotate` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - his can be turned off by adding `--removeIDs false` to the `nextflow run` command. +8. Converts the (merged) vcfs to a matrix using a custom R script written by @ellisdoro ([`R`](https://www.r-project.org/)) +9. Collects all reports into a MultiQC report ([`MultiQC`](http://multiqc.info/)) ![](./docs/images/vcftocounts-subway.excalidraw.png) From 2176b83dd5f31ca4cebeba8ab3b9344fa9b0055e Mon Sep 17 00:00:00 2001 From: famosab Date: Wed, 18 Jun 2025 15:35:39 +0200 Subject: [PATCH 18/19] fix rocrate --- ro-crate-metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ro-crate-metadata.json b/ro-crate-metadata.json index c749558..7914acb 100644 --- a/ro-crate-metadata.json +++ b/ro-crate-metadata.json @@ -23,7 +23,7 @@ "@type": "Dataset", "creativeWorkStatus": "InProgress", "datePublished": "2025-06-18T07:57:14+00:00", - "description": "# qbic-pipelines/vcftocounts\n\n[![GitHub Actions CI Status](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/ci.yml/badge.svg)](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/ci.yml)\n[![GitHub Actions Linting Status](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/linting.yml/badge.svg)](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/linting.yml)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.14616650-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.14616650)\n[![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com)\n\n[![Nextflow](https://img.shields.io/badge/version-%E2%89%A524.04.2-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/)\n[![nf-core template version](https://img.shields.io/badge/nf--core_template-3.3.1-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/3.3.1)\n[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)\n[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)\n[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)\n[![Launch on Seqera Platform](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Seqera%20Platform-%234256e7)](https://cloud.seqera.io/launch?pipeline=https://github.com/qbic-pipelines/vcftocounts)\n\n## Introduction\n\n**qbic-pipelines/vcftocounts** is a bioinformatics pipeline that processes g.vcf files to a matrix suitable for downstream analysis. The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes data using the following steps:\n\n1. Indexes (g.)vcf files ([`tabix`](http://www.htslib.org/doc/tabix.html))\n2. Converts g.vcf files to vcf with `genotypegvcf` ([`GATK`](https://gatk.broadinstitute.org/hc/en-us))\n3. Filters the VCF based on a string given to the `filter` param with `bcftools/view` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - Turned off by default.\n4. Keeps only a fraction of random variants based on the `subset` param with a custom bash script using `bcftools/stats`, `view` and `sort` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - Turned off by default, should be used as alternative to filtering.\n5. Concatenates all vcfs that have the same id and the same label with `bcftools/concat` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html))\n6. Changes the sample name in the vcf file to the filename with `bcftools/reheader` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - This can be turned off by adding `--rename false` to the `nextflow run` command.\n7. Merges all vcfs from the same sample with `bcftools/merge` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html))\n8. Removes entries in the ID column with `bcftools/annotate` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - his can be turned off by adding `--removeIDs false` to the `nextflow run` command.\n9. Converts the (merged) vcfs to a matrix using a custom R script written by @ellisdoro ([`R`](https://www.r-project.org/))\n10. Collects all reports into a MultiQC report ([`MultiQC`](http://multiqc.info/))\n\n![](./docs/images/vcftocounts-subway.excalidraw.png)\n\n## Usage\n\n> [!NOTE]\n> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline) with `-profile test` before running the workflow on actual data.\n\nFirst, prepare a samplesheet with your input data that looks as follows:\n\n`samplesheet.csv`:\n\n```csv\nsample,label,gvcf,vcf_path,vcf_index_path\nSAMPLE-1,pipelineA-callerA,false,path/to/vcf.gz,path/to/.vcf.gz.tbi\nSAMPLE-1,pipelineB-callerA,false,path/to/vcf.gz,path/to/.vcf.gz.tbi\nSAMPLE-2,pipelineB-callerB,true,path/to/g.vcf.gz,path/to/g.vcf.gz.tbi\nSAMPLE-2,pipelineB-callerB,true,path/to/g.vcf.gz,path/to/g.vcf.gz.tbi\n```\n\nEach row represents a VCF file coming from a sample. The `label` column enables concatenation of vcfs (for example when the pipeline produces different vcfs for chrM and chrY). The `gvcf` column indicates whether the file is a g.vcf file or not. The `vcf_path` and `vcf_index_path` columns contain the path to the VCF file and its index, respectively.\n\nNow, you can run the pipeline using:\n\n```bash\nnextflow run qbic-pipelines/vcftocounts \\\n -profile \\\n --input samplesheet.csv \\\n --genome GATK.GRCh38 \\\n --outdir \n```\n\n> [!WARNING]\n> Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_; see [docs](https://nf-co.re/docs/usage/getting_started/configuration#custom-configuration-files).\n\n## Credits\n\nqbic-pipelines/vcftocounts was originally written by Famke B\u00e4uerle, Dorothy Ellis.\n\nWe thank the following people for their extensive assistance in the development of this pipeline:\n\n## Contributions and Support\n\nIf you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md).\n\n## Citations\n\nIf you use qbic-pipelines/vcftocounts for your analysis, please cite it using the following doi: [10.5281/zenodo.14616650](https://doi.org/10.5281/zenodo.14616650)\n\nAn extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.\n\nThis pipeline uses code and infrastructure developed and maintained by the [nf-core](https://nf-co.re) community, reused here under the [MIT license](https://github.com/nf-core/tools/blob/main/LICENSE).\n\n> **The nf-core framework for community-curated bioinformatics pipelines.**\n>\n> Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.\n>\n> _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x).\n", + "description": "# qbic-pipelines/vcftocounts\n\n[![GitHub Actions CI Status](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/ci.yml/badge.svg)](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/ci.yml)\n[![GitHub Actions Linting Status](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/linting.yml/badge.svg)](https://github.com/qbic-pipelines/vcftocounts/actions/workflows/linting.yml)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.14616650-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.14616650)\n[![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com)\n\n[![Nextflow](https://img.shields.io/badge/version-%E2%89%A524.04.2-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/)\n[![nf-core template version](https://img.shields.io/badge/nf--core_template-3.3.1-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/3.3.1)\n[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)\n[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)\n[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)\n[![Launch on Seqera Platform](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Seqera%20Platform-%234256e7)](https://cloud.seqera.io/launch?pipeline=https://github.com/qbic-pipelines/vcftocounts)\n\n## Introduction\n\n**qbic-pipelines/vcftocounts** is a bioinformatics pipeline that processes g.vcf files to a matrix suitable for downstream analysis. The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes data using the following steps:\n\n1. Indexes (g.)vcf files ([`tabix`](http://www.htslib.org/doc/tabix.html))\n2. Converts g.vcf files to vcf with `genotypegvcf` ([`GATK`](https://gatk.broadinstitute.org/hc/en-us))\n3. Optional filtering of VCF files\n 3.1 Filtering based on a string given to the `filter` param with `bcftools/view` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - Turned off by default.\n 3.2 Keeping only a fraction of random variants based on the `subset` param with a custom bash script using `bcftools/stats`, `view` and `sort` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - Turned off by default, should be used as alternative to filtering.\n4. Concatenates all vcfs that have the same id and the same label with `bcftools/concat` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html))\n5. Changes the sample name in the vcf file to the filename with `bcftools/reheader` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - This can be turned off by adding `--rename false` to the `nextflow run` command.\n6. Merges all vcfs from the same sample with `bcftools/merge` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html))\n7. Removes entries in the ID column with `bcftools/annotate` ([`bcftools`](https://samtools.github.io/bcftools/bcftools.html)) - his can be turned off by adding `--removeIDs false` to the `nextflow run` command.\n8. Converts the (merged) vcfs to a matrix using a custom R script written by @ellisdoro ([`R`](https://www.r-project.org/))\n9. Collects all reports into a MultiQC report ([`MultiQC`](http://multiqc.info/))\n\n![](./docs/images/vcftocounts-subway.excalidraw.png)\n\n## Usage\n\n> [!NOTE]\n> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline) with `-profile test` before running the workflow on actual data.\n\nFirst, prepare a samplesheet with your input data that looks as follows:\n\n`samplesheet.csv`:\n\n```csv\nsample,label,gvcf,vcf_path,vcf_index_path\nSAMPLE-1,pipelineA-callerA,false,path/to/vcf.gz,path/to/.vcf.gz.tbi\nSAMPLE-1,pipelineB-callerA,false,path/to/vcf.gz,path/to/.vcf.gz.tbi\nSAMPLE-2,pipelineB-callerB,true,path/to/g.vcf.gz,path/to/g.vcf.gz.tbi\nSAMPLE-2,pipelineB-callerB,true,path/to/g.vcf.gz,path/to/g.vcf.gz.tbi\n```\n\nEach row represents a VCF file coming from a sample. The `label` column enables concatenation of vcfs (for example when the pipeline produces different vcfs for chrM and chrY). The `gvcf` column indicates whether the file is a g.vcf file or not. The `vcf_path` and `vcf_index_path` columns contain the path to the VCF file and its index, respectively.\n\nNow, you can run the pipeline using:\n\n```bash\nnextflow run qbic-pipelines/vcftocounts \\\n -profile \\\n --input samplesheet.csv \\\n --genome GATK.GRCh38 \\\n --outdir \n```\n\n> [!WARNING]\n> Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_; see [docs](https://nf-co.re/docs/usage/getting_started/configuration#custom-configuration-files).\n\n## Credits\n\nqbic-pipelines/vcftocounts was originally written by Famke B\u00e4uerle, Dorothy Ellis.\n\nWe thank the following people for their extensive assistance in the development of this pipeline:\n\n## Contributions and Support\n\nIf you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md).\n\n## Citations\n\nIf you use qbic-pipelines/vcftocounts for your analysis, please cite it using the following doi: [10.5281/zenodo.14616650](https://doi.org/10.5281/zenodo.14616650)\n\nAn extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.\n\nThis pipeline uses code and infrastructure developed and maintained by the [nf-core](https://nf-co.re) community, reused here under the [MIT license](https://github.com/nf-core/tools/blob/main/LICENSE).\n\n> **The nf-core framework for community-curated bioinformatics pipelines.**\n>\n> Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.\n>\n> _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x).\n", "hasPart": [ { "@id": "main.nf" From 268f7cd1faaeb0205dab25c5b450f8a657acdcaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Famke=20B=C3=A4uerle?= <45968370+famosab@users.noreply.github.com> Date: Fri, 20 Jun 2025 16:20:46 +0200 Subject: [PATCH 19/19] Update docs/usage.md Co-authored-by: SusiJo <43847534+SusiJo@users.noreply.github.com> --- docs/usage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/usage.md b/docs/usage.md index c82e8dc..0061480 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -100,7 +100,7 @@ Notably, this enables filtering for variants with certain impact levels or conse VCF files can be randomly subsetted to keep only a specific fraction of variants. This enables comparison to the filtered variants. -You can determine appropriate fractions by comparing the number of filtered variants with the total number of variants. This can be done with a script that collects the number of variants by using `bcftools stats` from both files and dividing them. The more VCF files you use to compare the more robust the fraction becomes. (We compared f.ex. around 90 files and landed at an average fraction of 0.00175 when using `--filter 'INFO/CSQ ~ "HIGH"'`). +You can determine appropriate fractions by comparing the number of filtered variants with the total number of variants. This can be done with a script that collects the number of variants by using `bcftools stats` from both files and dividing them. The more VCF files you use for comparison, the more robust the fraction becomes. (We compared around 90 files and obtained an average fraction of 0.00175 when using `--filter 'INFO/CSQ ~ "HIGH"'`). ### Updating the pipeline