Skip to content

Release PR 3.7.0#2063

Merged
FriederikeHanssen merged 21 commits into
masterfrom
dev
Dec 4, 2025
Merged

Release PR 3.7.0#2063
FriederikeHanssen merged 21 commits into
masterfrom
dev

Conversation

@FriederikeHanssen
Copy link
Copy Markdown
Contributor

@FriederikeHanssen FriederikeHanssen commented Dec 1, 2025

This release adds new variant calling features and fixes several important bugs.

Key Features:

Bug Fixes:

New Parameters:

  • --filter_vcfs - Enable VCF filtering
  • --bcftools_filter_criteria - Filter criteria for bcftools
  • --snv_consensus_calling - Enable consensus calling
  • --consensus_min_count - Minimum tool count for consensus

Developer Changes:

famosab and others added 16 commits October 27, 2025 11:14
<!--
# nf-core/sarek pull request

Many thanks for contributing to nf-core/sarek!

Please fill in the appropriate checklist below (delete whatever is not
relevant).
These are the most common things requested on pull requests (PRs).

Remember that PRs should be made against the dev branch, unless you're
preparing a pipeline release.

Learn more about contributing:
[CONTRIBUTING.md](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
-->

## PR checklist

- [ ] This comment contains a description of changes (with reason).
- [ ] If you've fixed a bug or added code that should be tested, add
tests!
- [ ] If you've added a new tool - have you followed the pipeline
conventions in the [contribution
docs](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
- [ ] If necessary, also make a PR on the nf-core/sarek _branch_ on the
[nf-core/test-datasets](https://github.com/nf-core/test-datasets)
repository.
- [ ] Make sure your code lints (`nf-core pipelines lint`).
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker
--outdir <OUTDIR>`).
- [ ] Check for unexpected warnings in debug mode (`nextflow run .
-profile debug,test,docker --outdir <OUTDIR>`).
- [ ] Usage Documentation in `docs/usage.md` is updated.
- [ ] Output Documentation in `docs/output.md` is updated.
- [ ] `CHANGELOG.md` is updated.
- [ ] `README.md` is updated (including new tool citations and
authors/contributors).
<!--
# nf-core/sarek pull request

Many thanks for contributing to nf-core/sarek!

Please fill in the appropriate checklist below (delete whatever is not
relevant).
These are the most common things requested on pull requests (PRs).

Remember that PRs should be made against the dev branch, unless you're
preparing a pipeline release.

Learn more about contributing:
[CONTRIBUTING.md](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
-->

## PR checklist

- [ ] This comment contains a description of changes (with reason).
- [ ] If you've fixed a bug or added code that should be tested, add
tests!
- [ ] If you've added a new tool - have you followed the pipeline
conventions in the [contribution
docs](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
- [ ] If necessary, also make a PR on the nf-core/sarek _branch_ on the
[nf-core/test-datasets](https://github.com/nf-core/test-datasets)
repository.
- [ ] Make sure your code lints (`nf-core pipelines lint`).
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker
--outdir <OUTDIR>`).
- [ ] Check for unexpected warnings in debug mode (`nextflow run .
-profile debug,test,docker --outdir <OUTDIR>`).
- [ ] Usage Documentation in `docs/usage.md` is updated.
- [ ] Output Documentation in `docs/output.md` is updated.
- [ ] `CHANGELOG.md` is updated.
- [ ] `README.md` is updated (including new tool citations and
authors/contributors).
Pushing all the logic for reference files in the prepare_genome
subworkflow to streamline the root main.nf script.
Hopefully that'll prepare for references at the same time

<!--
# nf-core/sarek pull request

Many thanks for contributing to nf-core/sarek!

Please fill in the appropriate checklist below (delete whatever is not
relevant).
These are the most common things requested on pull requests (PRs).

Remember that PRs should be made against the dev branch, unless you're
preparing a pipeline release.

Learn more about contributing:
[CONTRIBUTING.md](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
-->

## PR checklist

- [ ] This comment contains a description of changes (with reason).
- [ ] If you've fixed a bug or added code that should be tested, add
tests!
- [ ] If you've added a new tool - have you followed the pipeline
conventions in the [contribution
docs](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
- [ ] If necessary, also make a PR on the nf-core/sarek _branch_ on the
[nf-core/test-datasets](https://github.com/nf-core/test-datasets)
repository.
- [ ] Make sure your code lints (`nf-core pipelines lint`).
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker
--outdir <OUTDIR>`).
- [ ] Check for unexpected warnings in debug mode (`nextflow run .
-profile debug,test,docker --outdir <OUTDIR>`).
- [ ] Usage Documentation in `docs/usage.md` is updated.
- [ ] Output Documentation in `docs/output.md` is updated.
- [ ] `CHANGELOG.md` is updated.
- [ ] `README.md` is updated (including new tool citations and
authors/contributors).
…#2043)

Previously, the post-variant calling logic allowed mixing different
post-processing strategies (varlociraptor,
normalization, concatenation) in confusing ways. The main workflow had
complex conditional logic to determine which VCFs was used based on what
post-processing was requested, a lot of computation was repeated on both
raw and post-processed variants. This made the data flow hard to follow
and error-prone.

  **Changes**

  Enforced either-or logic in post-variant calling:
- If varlociraptor is requested → process through varlociraptor
workflows exclusively
- Else if concatenate_vcfs or normalize_vcfs → perform standard
post-processing
  - Else → pass through original VCFs unchanged

  **Simplified main workflow:**
  - Removed conditional VCF gathering logic from main SAREK workflow
- POST_VARIANTCALLING now always outputs VCFs (either processed or
pass-through)
  - Annotation always consumes POST_VARIANTCALLING.out.vcfs
- VCF QC now runs exclusively on raw variant calls (before any
post-processing)

  **Additional improvements:**
  - Standardized varlociraptor scenario file handling in main.nf
  - Disabled redundant publishing of intermediate normalized files
  - Increase time out for MultiQC to ensure all plots are published
  - Varlociraptor subworkflows now emit separate vcf and tbi outputs
  - This matches the pattern used by other post-processing subworkflows
  - Added branching logic to handle single chunks without concatenation

  **Resume limitations with varlociraptor**

While the overall data flow is cleaner, varlociraptor is currently not
reliable resuming. I marked the likely location where this occurs but it
is currently not clear to me why.
Based on #2043 

This PR adds optional VCF filtering functionality to the post-variant
calling workflow, enabling users to filter variant calls
from all variant callers using `bcftools view`. Additionally, it
refactors the post-variant calling logic to handle implicit
index creation and improve handling of variant callers that produce
multiple outputs.

 **Why These Changes**

1. Streamlines the workflow by providing PASS-filtered variants directly
  2. Maintains flexibility through customizable filtering criteria
3. Integrates seamlessly with existing normalization and concatenation
steps
4. Improves handling of variant callers with complex output structures
(e.g., Strelka, Manta)

  **New Filtering Feature**
- Adds --filter_vcfs parameter to enable optional VCF filtering with
`bcftools view` with default PASS filter
- Supports custom filtering criteria through
`--bcftools_filter_criteria` parameter
- Publishes filtered VCFs to variant_calling/filtered/<sample>/
<sample>.<variantcaller>.bcftools_filtered.vcf.gz

  **Workflow Refactoring**
- Makes index computation implicit for all bcftools operations,
simplifying channel handling
- Updates emit channel structure to properly account for implicit index
creation (.tbi/.csi)
- Uses basename consistently to handle variant callers that produce
multiple outputs
- Fixes channel wiring between filtering, normalization, and
concatenation steps
  - Removes unnecessary explicit tabix indexing process
  - Fix output structure in docs
  
  **Testing & CI**
  - Adds filtering tests for multiple variant callers
  - Enables filtering on full-size test profiles
  - Fixes FreeBayes filtered output publishing
  - Updates snapshots to reflect new output structure
  
  **Documentation**
  - Updates docs/output.md with new filtering section
  - Updates subway map diagrams to reflect new workflow

<!--
# nf-core/sarek pull request

Many thanks for contributing to nf-core/sarek!

Please fill in the appropriate checklist below (delete whatever is not
relevant).
These are the most common things requested on pull requests (PRs).

Remember that PRs should be made against the dev branch, unless you're
preparing a pipeline release.

Learn more about contributing:
[CONTRIBUTING.md](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
-->

## PR checklist

- [ ] This comment contains a description of changes (with reason).
- [ ] If you've fixed a bug or added code that should be tested, add
tests!
- [ ] If you've added a new tool - have you followed the pipeline
conventions in the [contribution
docs](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
- [ ] If necessary, also make a PR on the nf-core/sarek _branch_ on the
[nf-core/test-datasets](https://github.com/nf-core/test-datasets)
repository.
- [ ] Make sure your code lints (`nf-core pipelines lint`).
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker
--outdir <OUTDIR>`).
- [ ] Check for unexpected warnings in debug mode (`nextflow run .
-profile debug,test,docker --outdir <OUTDIR>`).
- [ ] Usage Documentation in `docs/usage.md` is updated.
- [ ] Output Documentation in `docs/output.md` is updated.
- [ ] `CHANGELOG.md` is updated.
- [ ] `README.md` is updated (including new tool citations and
authors/contributors).
<!--
# nf-core/sarek pull request

Many thanks for contributing to nf-core/sarek!

Please fill in the appropriate checklist below (delete whatever is not
relevant).
These are the most common things requested on pull requests (PRs).

Remember that PRs should be made against the dev branch, unless you're
preparing a pipeline release.

Learn more about contributing:
[CONTRIBUTING.md](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
-->

## PR checklist

- [ ] This comment contains a description of changes (with reason).
- [ ] If you've fixed a bug or added code that should be tested, add
tests!
- [ ] If you've added a new tool - have you followed the pipeline
conventions in the [contribution
docs](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
- [ ] If necessary, also make a PR on the nf-core/sarek _branch_ on the
[nf-core/test-datasets](https://github.com/nf-core/test-datasets)
repository.
- [ ] Make sure your code lints (`nf-core pipelines lint`).
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker
--outdir <OUTDIR>`).
- [ ] Check for unexpected warnings in debug mode (`nextflow run .
-profile debug,test,docker --outdir <OUTDIR>`).
- [ ] Usage Documentation in `docs/usage.md` is updated.
- [ ] Output Documentation in `docs/output.md` is updated.
- [ ] `CHANGELOG.md` is updated.
- [ ] `README.md` is updated (including new tool citations and
authors/contributors).

---------

Co-authored-by: Friederike Hanssen <friederike.hanssen@seqera.io>
<!--
# nf-core/sarek pull request

Many thanks for contributing to nf-core/sarek!

Please fill in the appropriate checklist below (delete whatever is not
relevant).
These are the most common things requested on pull requests (PRs).

Remember that PRs should be made against the dev branch, unless you're
preparing a pipeline release.

Learn more about contributing:
[CONTRIBUTING.md](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
-->

## PR checklist

- [ ] This comment contains a description of changes (with reason).
- [ ] If you've fixed a bug or added code that should be tested, add
tests!
- [ ] If you've added a new tool - have you followed the pipeline
conventions in the [contribution
docs](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
- [ ] If necessary, also make a PR on the nf-core/sarek _branch_ on the
[nf-core/test-datasets](https://github.com/nf-core/test-datasets)
repository.
- [ ] Make sure your code lints (`nf-core pipelines lint`).
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker
--outdir <OUTDIR>`).
- [ ] Check for unexpected warnings in debug mode (`nextflow run .
-profile debug,test,docker --outdir <OUTDIR>`).
- [ ] Usage Documentation in `docs/usage.md` is updated.
- [ ] Output Documentation in `docs/output.md` is updated.
- [ ] `CHANGELOG.md` is updated.
- [ ] `README.md` is updated (including new tool citations and
authors/contributors).
…ndering (#2053)

<!--
# nf-core/sarek pull request

Many thanks for contributing to nf-core/sarek!

Please fill in the appropriate checklist below (delete whatever is not
relevant).
These are the most common things requested on pull requests (PRs).

Remember that PRs should be made against the dev branch, unless you're
preparing a pipeline release.

Learn more about contributing:
[CONTRIBUTING.md](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
-->

## PR checklist

- [ ] This comment contains a description of changes (with reason).
- [ ] If you've fixed a bug or added code that should be tested, add
tests!
- [ ] If you've added a new tool - have you followed the pipeline
conventions in the [contribution
docs](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
- [ ] If necessary, also make a PR on the nf-core/sarek _branch_ on the
[nf-core/test-datasets](https://github.com/nf-core/test-datasets)
repository.
- [ ] Make sure your code lints (`nf-core pipelines lint`).
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker
--outdir <OUTDIR>`).
- [ ] Check for unexpected warnings in debug mode (`nextflow run .
-profile debug,test,docker --outdir <OUTDIR>`).
- [ ] Usage Documentation in `docs/usage.md` is updated.
- [ ] Output Documentation in `docs/output.md` is updated.
- [ ] `CHANGELOG.md` is updated.
- [ ] `README.md` is updated (including new tool citations and
authors/contributors).

---------

Co-authored-by: Maxime U Garcia <max.u.garcia@gmail.com>
<!--
# nf-core/sarek pull request

Many thanks for contributing to nf-core/sarek!

Please fill in the appropriate checklist below (delete whatever is not
relevant).
These are the most common things requested on pull requests (PRs).

Remember that PRs should be made against the dev branch, unless you're
preparing a pipeline release.

Learn more about contributing:
[CONTRIBUTING.md](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
-->

## PR checklist

- [ ] This comment contains a description of changes (with reason).
- [ ] If you've fixed a bug or added code that should be tested, add
tests!
- [ ] If you've added a new tool - have you followed the pipeline
conventions in the [contribution
docs](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
- [ ] If necessary, also make a PR on the nf-core/sarek _branch_ on the
[nf-core/test-datasets](https://github.com/nf-core/test-datasets)
repository.
- [ ] Make sure your code lints (`nf-core pipelines lint`).
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker
--outdir <OUTDIR>`).
- [ ] Check for unexpected warnings in debug mode (`nextflow run .
-profile debug,test,docker --outdir <OUTDIR>`).
- [ ] Usage Documentation in `docs/usage.md` is updated.
- [ ] Output Documentation in `docs/output.md` is updated.
- [ ] `CHANGELOG.md` is updated.
- [ ] `README.md` is updated (including new tool citations and
authors/contributors).

---------

Co-authored-by: Michael L Heuer <heuermh@acm.org>
Co-authored-by: maxulysse <max.u.garcia@gmail.com>
Version `3.5.1` of [nf-core/tools](https://github.com/nf-core/tools) has
just been released with updates to the nf-core template. For more
details, check out the blog post: https://nf-co.re/blog/2025/tools-3_5_0

Please make sure to merge this pull-request as soon as possible,
resolving any merge conflicts in the `nf-core-template-merge-3.5.1`
branch (or your own fork, if you prefer). Once complete, make a new
minor release of your pipeline.

For instructions on how to merge this PR, please see
[https://nf-co.re/docs/contributing/sync/](https://nf-co.re/docs/contributing/sync/#merging-automated-prs).

For more information about this release of
[nf-core/tools](https://github.com/nf-core/tools), please see the
`v3.5.1` [release
page](https://github.com/nf-core/tools/releases/tag/3.5.1).

> [!NOTE]
> Since nf-core/tools 3.5.0, older template update PRs will not be
automatically closed, but will remain open in your pipeline repository.
Older template PRs will be automatically closed once a newer template PR
has been merged.

---------

Co-authored-by: maxulysse <max.u.garcia@gmail.com>
Co-authored-by: FriederikeHanssen <friederike.hanssen@seqera.io>
Co-authored-by: Matthias Hörtenhuber <mashehu@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Dec 1, 2025

nf-core pipelines lint overall result: Passed ✅ ⚠️

Posted for pipeline commit f9b609f

+| ✅ 226 tests passed       |+
#| ❔  13 tests were ignored |#
#| ❔   1 tests had warnings |#
!| ❗   7 tests had warnings |!
Details

❗ Test warnings:

  • pipeline_todos - TODO string in base.config: Check the defaults for all processes
  • pipeline_todos - TODO string in main.nf: Optionally add in-text citation tools to this list.
  • pipeline_todos - TODO string in main.nf: Optionally add bibliographic entries to this list.
  • pipeline_todos - TODO string in main.nf: Only uncomment below if logic in toolCitationText/toolBibliographyText has been filled!
  • schema_lint - Input mimetype is missing or empty
  • schema_description - No description provided in schema for parameter: markduplicates_pixel_distance
  • schema_description - No description provided in schema for parameter: gatk_pcr_indel_model

❔ Tests ignored:

❔ Tests fixed:

✅ Tests passed:

Run details

  • nf-core/tools version 3.5.1
  • Run at 2025-12-03 11:35:19

Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md Outdated
## PR checklist

- [ ] This comment contains a description of changes (with reason).
- [ ] If you've fixed a bug or added code that should be tested, add
tests!
- [ ] If you've added a new tool - have you followed the pipeline
conventions in the [contribution
docs](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
- [ ] If necessary, also make a PR on the nf-core/sarek _branch_ on the
[nf-core/test-datasets](https://github.com/nf-core/test-datasets)
repository.
- [ ] Make sure your code lints (`nf-core pipelines lint`).
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker
--outdir <OUTDIR>`).
- [ ] Check for unexpected warnings in debug mode (`nextflow run .
-profile debug,test,docker --outdir <OUTDIR>`).
- [ ] Usage Documentation in `docs/usage.md` is updated.
- [ ] Output Documentation in `docs/output.md` is updated.
- [ ] `CHANGELOG.md` is updated.
- [ ] `README.md` is updated (including new tool citations and
authors/contributors).
@FriederikeHanssen FriederikeHanssen marked this pull request as ready for review December 2, 2025 10:14
Copy link
Copy Markdown
Member

@dialvarezs dialvarezs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. I only found some typos.

Comment thread docs/output.md Outdated
Comment thread docs/output.md Outdated
@maxulysse
Copy link
Copy Markdown
Member

What is still wrong with the megatests???

Co-authored-by: Diego Alvarez S. <dialvarezs@gmail.com>
@FriederikeHanssen
Copy link
Copy Markdown
Contributor Author

What is still wrong with the megatests???

just the azure ones failing: https://github.com/nf-core/sarek/actions/runs/19867922486/job/56935615763 not suprised given we don't have credits 💸

@maxulysse
Copy link
Copy Markdown
Member

Fixing the AWS megatests with #2065

<!--
# nf-core/sarek pull request

Many thanks for contributing to nf-core/sarek!

Please fill in the appropriate checklist below (delete whatever is not
relevant).
These are the most common things requested on pull requests (PRs).

Remember that PRs should be made against the dev branch, unless you're
preparing a pipeline release.

Learn more about contributing:
[CONTRIBUTING.md](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
-->

## PR checklist

- [ ] This comment contains a description of changes (with reason).
- [ ] If you've fixed a bug or added code that should be tested, add
tests!
- [ ] If you've added a new tool - have you followed the pipeline
conventions in the [contribution
docs](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
- [ ] If necessary, also make a PR on the nf-core/sarek _branch_ on the
[nf-core/test-datasets](https://github.com/nf-core/test-datasets)
repository.
- [ ] Make sure your code lints (`nf-core pipelines lint`).
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker
--outdir <OUTDIR>`).
- [ ] Check for unexpected warnings in debug mode (`nextflow run .
-profile debug,test,docker --outdir <OUTDIR>`).
- [ ] Usage Documentation in `docs/usage.md` is updated.
- [ ] Output Documentation in `docs/output.md` is updated.
- [ ] `CHANGELOG.md` is updated.
- [ ] `README.md` is updated (including new tool citations and
authors/contributors).
@maxulysse
Copy link
Copy Markdown
Member

Megatests would now just need to be restarted with nextflow 25.10.2 in the setup script or when the platform finally switch minimal version

@FriederikeHanssen FriederikeHanssen merged commit 185ab6e into master Dec 4, 2025
116 of 118 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants