diff --git a/.nf-core.yml b/.nf-core.yml index a5098b81..4fcb6d50 100644 --- a/.nf-core.yml +++ b/.nf-core.yml @@ -42,4 +42,4 @@ template: - igenomes - multiqc - fastqc - version: 2.0.0 + version: 2.0.1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 92055223..3af30f82 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [[2.0.1](https://github.com/sanger-tol/variantcalling/releases/tag/2.0.1)] - Qin Shi Huang (patch 1) - [2026-05-15] + +### Enhancements & fixes + +- Adjust memory for (G)VCF_STATS_REPORTS processes based on input size + ## [[2.0.0](https://github.com/sanger-tol/variantcalling/releases/tag/2.0.0)] - Qin Shi Huang - [2026-05-11] ### Enhancements & fixes diff --git a/CITATION.cff b/CITATION.cff index 3a52d46c..a023e2b1 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -40,13 +40,13 @@ authors: orcid: https://orcid.org/0000-0001-7029-0785 website: https://github.com/yz533cb cff-version: 1.2.0 -date-released: "2026-05-11" +date-released: "2026-05-15" doi: 10.5281/zenodo.7890527 license: MIT message: If you use this software, please cite it using the metadata from this file and all references from CITATIONS.md . repository-code: https://github.com/sanger-tol/variantcalling -title: sanger-tol/variantcalling v2.0.0 - Qin Shi Huang [2026-05-11] +title: sanger-tol/variantcalling v2.0.1 - Qin Shi Huang (patch 1) [2026-05-15] type: software url: https://pipelines.tol.sanger.ac.uk/variantcalling -version: 2.0.0 +version: 2.0.1 diff --git a/conf/base.config b/conf/base.config index 204cc335..feab3b36 100644 --- a/conf/base.config +++ b/conf/base.config @@ -71,4 +71,14 @@ process { // 8.h, 32.h, 128.h time = { 2.h * Math.pow(4, task.attempt) } } + + withName: VCF_STATS_REPORT { + // keep cpus,time from process_single, define memory based on input size + memory = { 1.GB * Math.ceil( vcf.size()/30000000 ) * task.attempt } + } + + withName: GVCF_STATS_REPORT { + // keep cpus,time from process_single, define memory based on input size + memory = { 1.GB * Math.ceil( vcf.size()/15000000 ) * task.attempt } + } } diff --git a/nextflow.config b/nextflow.config index 192d3aed..58e1eda6 100644 --- a/nextflow.config +++ b/nextflow.config @@ -305,7 +305,7 @@ manifest { mainScript = 'main.nf' defaultBranch = 'main' nextflowVersion = '!>=25.04.2' - version = '2.0.0' + version = '2.0.1' doi = '10.5281/zenodo.7890527' } diff --git a/ro-crate-metadata.json b/ro-crate-metadata.json index f1e12b17..f5ad319b 100644 --- a/ro-crate-metadata.json +++ b/ro-crate-metadata.json @@ -5,7 +5,7 @@ "@id": "./", "@type": "Dataset", "creativeWorkStatus": "Stable", - "datePublished": "2026-05-09T00:09:05+00:00", + "datePublished": "2026-05-14T15:51:22+00:00", "description": "# ![sanger-tol/variantcalling](docs/images/sanger-tol-variantcalling_logo.png)\n\n[![Open in GitHub Codespaces](https://img.shields.io/badge/Open_In_GitHub_Codespaces-black?labelColor=grey&logo=github)](https://github.com/codespaces/new/sanger-tol/variantcalling)\n[![GitHub Actions CI Status](https://github.com/sanger-tol/variantcalling/actions/workflows/nf-test.yml/badge.svg)](https://github.com/sanger-tol/variantcalling/actions/workflows/nf-test.yml)\n[![GitHub Actions Linting Status](https://github.com/sanger-tol/variantcalling/actions/workflows/linting.yml/badge.svg)](https://github.com/sanger-tol/variantcalling/actions/workflows/linting.yml)\n[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.7890527-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.7890527)\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%A525.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.5.2-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.5.2)\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/sanger-tol/variantcalling)\n\n## Introduction\n\n**sanger-tol/variantcalling** is a bioinformatics best-practice analysis pipeline for variant calling using [DeepVariant](https://github.com/google/deepvariant) for PacBio data.\n\nThe pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It uses Docker/Singularity containers making installation trivial and results highly reproducible. The [Nextflow DSL2](https://www.nextflow.io/docs/latest/dsl2.html) implementation of this pipeline uses one container per process which makes it much easier to maintain and update software dependencies. Where possible, these processes have been submitted to and installed from [nf-core/modules](https://github.com/nf-core/modules) in order to make them available to all nf-core pipelines, and to everyone within the Nextflow community!\n\nOn release, automated continuous integration tests run the pipeline on a full-sized dataset on the LSF infrastructure. This ensures that the pipeline runs on LSF, has sensible resource allocation defaults set to run on real-world datasets, and permits the persistent storage of results to benchmark between pipeline releases and other analysis sources.\n\n## Pipeline summary\n\nThe pipeline takes aligned or unaligned PacBio sample reads (CRAM/BAM files) from a CSV file and the reference file in FASTA format, and then uses DeepVariant tool to make variant calling.\n\nSteps involved:\n\n- Split fasta file into smaller files, normally one sequence per file unless the sequences are too small.\n- Align the reads if not aligned.\n- Merge input BAM/CRAM files together if they have the same sample names.\n- Filter out reads using the `-F 0x900` option to only retain the primary alignments.\n- Run DeepVariant using filtered BAM/CRAM files against each of split fasta files.\n- Merge all VCF and GVCF files generated by DeepVariant by sample together for each input BAM/CRAM file.\n- Run VCFtools to calculate heterozygosity and per site nucleotide diversity.\n\n\n\n## Quick Start\n\n1. Install [`Nextflow`](https://www.nextflow.io/docs/latest/getstarted.html#installation) (`>=23.10.1`)\n\n2. Install any of [`Docker`](https://docs.docker.com/engine/installation/), [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/) (you can follow [this tutorial](https://singularity-tutorial.github.io/01-installation/)), [`Podman`](https://podman.io/), [`Shifter`](https://nersc.gitlab.io/development/shifter/how-to-use/) or [`Charliecloud`](https://hpc.github.io/charliecloud/) for full pipeline reproducibility _(you can use [`Conda`](https://conda.io/miniconda.html) both to install Nextflow itself and also to manage software within pipelines. Please only use it within pipelines as a last resort; see [docs](https://nf-co.re/usage/configuration#basic-configuration-profiles))_.\n\n3. Download the pipeline and test it on a minimal dataset with a single command:\n\n ```bash\n # for aligned reads\n nextflow run sanger-tol/variantcalling -profile test,YOURPROFILE --outdir \n\n # for unaligned reads\n nextflow run sanger-tol/variantcalling -profile test_align,YOURPROFILE --outdir \n\n ```\n\n Note that some form of configuration will be needed so that Nextflow knows how to fetch the required software. This is usually done in the form of a config profile (`YOURPROFILE` in the example command above). You can chain multiple config profiles in a comma-separated string.\n\n > - The pipeline comes with config profiles called `docker`, `singularity`, `podman`, `shifter`, `charliecloud` and `conda` which instruct the pipeline to use the named tool for software management. For example, `-profile test,docker`.\n > - Please check [nf-core/configs](https://github.com/nf-core/configs#documentation) to see if a custom config file to run nf-core pipelines already exists for your Institute. If so, you can simply use `-profile ` in your command. This will enable either `docker` or `singularity` and set the appropriate execution settings for your local compute environment.\n > - If you are using `singularity`, please use the [`nf-core download`](https://nf-co.re/tools/#downloading-pipelines-for-offline-use) command to download images first, before running the pipeline. Setting the [`NXF_SINGULARITY_CACHEDIR` or `singularity.cacheDir`](https://www.nextflow.io/docs/latest/singularity.html?#singularity-docker-hub) Nextflow options enables you to store and re-use the images from a central location for future pipeline runs.\n > - If you are using `conda`, it is highly recommended to use the [`NXF_CONDA_CACHEDIR` or `conda.cacheDir`](https://www.nextflow.io/docs/latest/conda.html) settings to store the environments in a central location for future pipeline runs.\n\n4. Start running your own analysis!\n\n ```bash\n nextflow run sanger-tol/variantcalling --input samplesheet.csv --outdir --fasta genome.fasta.gz -profile \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\nsanger-tol/variantcalling was originally written by [Guoying Qi](https://github.com/gq1).\n\nWe thank the following people for their extensive assistance in the development of this pipeline:\n\n- [Priyanka Surana](https://github.com/priyanka-surana) for the pipeline design, code review and Nextflow technical supports.\n- [Matthieu Muffato](https://github.com/muffato) for the pipeline design, code review and Nextflow technical supports.\n\nWe also acknowledge the work of [Damon-Lee Pointon](https://github.com/DLBPointon) for attempting to create an short read variant calling subworkflow.\n\n## Contributions and Support\n\nIf you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md).\n\nFor further information or help, please [create an issue](https://github.com/sanger-tol/variantcalling/issues/new/choose) on GitHub if you are not on the Sanger slack channel.\n\n## Citations\n\nIf you use sanger-tol/variantcalling for your analysis, please cite it using the following doi: [10.5281/zenodo.7890527](https://doi.org/10.5281/zenodo.7890527)\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": [ { @@ -131,7 +131,7 @@ } ], "dateCreated": "", - "dateModified": "2026-05-09T01:09:05Z", + "dateModified": "2026-05-14T16:51:22Z", "dct:conformsTo": "https://bioschemas.org/profiles/ComputationalWorkflow/1.0-RELEASE/", "keywords": [ "nextflow", @@ -159,10 +159,10 @@ }, "url": [ "https://github.com/sanger-tol/variantcalling", - "https://pipelines.tol.sanger.ac.uk/variantcalling/2.0.0/" + "https://pipelines.tol.sanger.ac.uk/variantcalling/2.0.1/" ], "version": [ - "2.0.0" + "2.0.1" ] }, { diff --git a/tests/align.nf.test.snap b/tests/align.nf.test.snap index 9ef913f8..3118954d 100644 --- a/tests/align.nf.test.snap +++ b/tests/align.nf.test.snap @@ -74,7 +74,7 @@ "deepvariant": "1.10.0" }, "Workflow": { - "sanger-tol/variantcalling": "v2.0.0" + "sanger-tol/variantcalling": "v2.0.1" } }, [ diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap index 212b1c0d..1d3fa19f 100644 --- a/tests/default.nf.test.snap +++ b/tests/default.nf.test.snap @@ -41,7 +41,7 @@ "deepvariant": "1.10.0" }, "Workflow": { - "sanger-tol/variantcalling": "v2.0.0" + "sanger-tol/variantcalling": "v2.0.1" } }, [ diff --git a/workflows/variantcalling.nf b/workflows/variantcalling.nf index da11f8df..8ddb7911 100644 --- a/workflows/variantcalling.nf +++ b/workflows/variantcalling.nf @@ -100,7 +100,7 @@ workflow VARIANTCALLING { else { // - // SUBWORKFLOW: merge the input reads by sample name + // SUBWORKFLOW: merge the input reads by sample/specimen name // INPUT_MERGE( ch_genome_info.fasta,