Skip to content

Merge dev into template sync PR #634 - #635

Draft
Skitionek wants to merge 2040 commits into
nf-core-template-merge-4.2.1from
template-merge-634
Draft

Skitionek wants to merge 2040 commits into
nf-core-template-merge-4.2.1from
template-merge-634

Conversation

@Skitionek

Copy link
Copy Markdown

Records the merge of dev into the template branch. Reviewed by PR 2.

sateeshperi and others added 30 commits July 27, 2025 09:55
Add GitHub Actions CI for automated GPU snapshot updates and update C…
…g bwameth container, and raising Nextflow version requirement. Add GitHub Actions CI for GPU tests snapshot update.
…rimer on Bisulfite Sequencing and Three-Base Aligners. Standardize references to the new documentation structure.
modules update + minor bug fix + doc link fix
…xtflow_schema.json and nextflow.config, and enhance usage documentation with examples for BWA-MEM2 algorithm.
…dexing and alignment, including `--use_mem2` parameter and updates to related workflows and modules.
Adding test for mem2 mode
…, including path adjustments and minor documentation fixes
FelixKrueger and others added 29 commits July 20, 2026 18:55
Brings in dev's rastair strict-parser fix (#618, clears the pre-commit check)
and Trim Galore 2.3.0 (#617). The 8 pipeline snapshots are resolved to the
template-branch versions here as placeholders; they are regenerated in the
following commit against the merged modules (multiqc 1.34 + Trim Galore 2.3.0),
since neither branch's snapshots match the merged combination.
…im Galore 2.3.0)

After merging dev (Trim Galore 2.3.0, #617) into the template branch (multiqc 1.34
etc.), all CPU pipeline snapshots were regenerated against the merged modules on
Nextflow 25.04.0 + docker; every file passes. GPU (bwameth_use_gpu) regenerated
separately via the update-gpu-snapshot bot.
The container_configs lint check flagged conf/containers_*.config as out of date
after the dev merge (added the missing Bismark 3.1.0 process container mappings).
Regenerated via 'nf-core pipelines lint --fix container_configs' (nf-core 4.0.2,
Nextflow 25.04.6); nf-core lint now passes with 0 failures.
The combined_index.nf.test snapshot was frozen with Trim Galore 0.6.10 before
#617 (TG 2.3.0) landed on dev. Regenerated on Nextflow 25.04.0 + docker; all 5
scenarios pass (directional, non-directional, PBAT, HISAT2, loud-fail).
Important! Template update for nf-core/tools v4.0.2
…merge)

#606 (template v4.0.2, multiqc 1.32->1.34) landed on dev and was merged into this
branch, re-staling the combined_index snapshot. Regenerated on Nextflow 25.04.0 +
docker against the merged modules (multiqc 1.34 + Trim Galore 2.3.0); all 5
scenarios pass.
Add opt-in Bismark combined-index alignment (`--combined_index`)
Resolve template sync v4.0.3 conflicts:
- README.md: keep the >=25.04.0 Nextflow badge (pipeline is not 25.10 strict-clean), take the 4.0.3 template badge.
- ro-crate-metadata.json: keep dev's richer author/maintainer metadata (the bot-regenerated crate lost it); crate is regenerated at release anyway.
Important! Template update for nf-core/tools v4.0.3
Repins all seven modules/nf-core/bismark/* from 7d264419 (the bismark 3.1.0
bump) to c565f1b2, and retires the local bismark-align.diff patch.

The patch is not being cleaned up, it is being removed because it blocks the
change: its combined-index branch demoted the classic path's `--multicore`
block to an `else if`, so importing nf-core/modules#12385 without removing the
patch would ship the new -p model and disable it on every non-combined run.

Upstream's general model subsumes the patch exactly. For every argument set
conf/modules/bismark_align.config can emit, `--combined_index` resolves to
n_instances = 1, so pthreads == task.cpus -- the same value the patch computed,
with the same `>= 2` floor. The combined-index rows therefore do not change.

What does change, at the CI cap of 4 cpus: directional Bowtie 2 and HISAT2 go
from no threading flag to `-p 2`. At the production process_high of 12 cpus,
directional goes from `--multicore 4` to `-p 6`, non-directional from
`--multicore 2` to `-p 3`, and bismark_hisat from an effective `-p 4` (bismark
remaps --multicore for HISAT2) to `-p 6`. Bowtie 2 output is byte-identical
under `-p N --reorder`; HISAT2 is thread-count dependent, so bismark_hisat
results can shift for real users -- hence the CHANGELOG note.

No snapshot is expected to move. Upstream's own module tests snapshot a reads
MD5, made this exact no-flag -> `-p 2` transition at cpus = 4, and their
tests/main.nf.test.snap blob is identical either side of #12385 (validated by
green CI across docker, singularity and conda).

Also adds a published-report assertion to the bismark and bismark_hisat
pipeline tests so the emitted -p value is checked by CI rather than by hand.
The size guard in front of it matters: Groovy's every{} is true on an empty
list, so without it the assertion would pass when no report was found.

Drops a now-misleading clause from the unreleased combined-index changelog
entry, which described `-p` as specific to combined-index mode.

Imported with `git checkout <sha> -- modules/nf-core/bismark/` rather than
`nf-core modules update`, which cascades into unrelated modules.

The prettier pre-commit hook was bypassed: upstream dev's modules.json is
already prettier-dirty under the pinned version, so running the hook would have
reformatted ~117 lines unrelated to this change.
Two conda shards fail on this branch because conda builds a different
BS_CT.1.ht2 / BS_GA.1.ht2 / BS_combined.1.ht2 than the committed snapshots
expect. Nothing in the pipeline changed: .2 through .8 of every index, all the
.bt2 files, the converted FASTAs and every alignment and methylation output
match byte-for-byte, on every engine.

The mismatch is a bioconda hisat2 rebuild, not a regression here. It is
deterministic (a re-run produced byte-identical hashes), the conda value has
never been committed to this repo, and #616 ran 30 conda jobs green on 24 July
with the same expected hashes. Since a single snapshot cannot satisfy conda and
the containers at once, the .1.ht2 bytes are not something these tests can
assert.

Scope is deliberately narrow: only the .1.ht2 of each index is ignored, so 35
.2-.8 hashes and 66 .bt2 hashes stay asserted, and because stable_name does not
consult .nftignore the five index files are still checked for existence and
naming — only their bytes are dropped.

The five snapshot entries were removed by hand rather than regenerated: no
local run can produce CI-comparable hashes here (arm64, and the container
registry is unreachable from this Docker VM), and a wrong edit fails loudly in
CI. Verified the ignore glob against java.nio.file.PathMatcher in both
directions before applying it.

The remaining red check, GPU Test | singularity, is unrelated and already red
on dev: apptainer cannot create a user namespace on that runner and the job
dies at the first process of a bwameth test.
…12385

Sync bismark/* modules to pick up intra-instance -p threading
Add `manifest.diagram` to `nextflow.config`
@github-actions

Copy link
Copy Markdown

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

Posted for pipeline commit 3956d1d

+| ✅ 196 tests passed       |+
#| ❔   8 tests were ignored |#
!| ❗  31 tests had warnings |!
Details

❗ Test warnings:

  • nextflow_config - Config variable not found: manifest.diagram
  • readme - README contains the placeholder zenodo.XXXXXXX. This should be replaced with the zenodo doi (after the first release).
  • pipeline_todos - TODO string in CHANGELOG.md: ## v4.3.0dev - [unreleased replace with date on release ]
  • pipeline_todos - TODO string in nextflow.config: Specify your pipeline's command line flags
  • pipeline_todos - TODO string in nextflow.config: Optionally, you can add a pipeline-specific nf-core config at https://github.com/nf-core/configs
  • pipeline_todos - TODO string in nextflow.config: Update the field with the details of the contributors to your pipeline. New with Nextflow version 24.10.0
  • pipeline_todos - TODO string in nextflow.config: Make a metro map and add relative path to the SVG below. See https://nf-co.re/docs/community/brand/workflow-schematics
  • pipeline_todos - TODO string in README.md: TODO nf-core:
  • pipeline_todos - TODO string in README.md: Include a figure that guides the user through the major workflow steps. Many nf-core
  • pipeline_todos - TODO string in README.md: Fill in short bullet-pointed list of the default steps in the pipeline 1. Read QC (FastQC)2. Present QC for raw reads (MultiQC)
  • pipeline_todos - TODO string in README.md: Describe the minimum required steps to execute the pipeline, e.g. how to prepare samplesheets.
  • pipeline_todos - TODO string in README.md: update the following command to include all required parameters for a minimal example
  • pipeline_todos - TODO string in README.md: If applicable, make list of people who have also contributed
  • pipeline_todos - TODO string in README.md: Add citation for pipeline after first release. Uncomment lines below and update Zenodo doi and badge at the top of this file.
  • pipeline_todos - TODO string in README.md: Add bibliography of tools and data used in your pipeline
  • pipeline_todos - TODO string in main.nf: Remove this line if you don't need a FASTA file
  • pipeline_todos - TODO string in methods_description_template.yml: #Update the HTML below to your preferred methods description, e.g. add publication citation for this pipeline
  • pipeline_todos - TODO string in usage.md: Add documentation about anything specific to running your pipeline. For general topics, please point to (and add to) the main nf-core website.
  • pipeline_todos - TODO string in output.md: Write this documentation describing your workflow's output
  • pipeline_todos - TODO string in CONTRIBUTING.md: Add any pipeline specific contribution guidelines here, such as coding styles, procedures, checklists etc.
  • pipeline_todos - TODO string in test_full.config: Specify the paths to your full test data ( on nf-core/test-datasets or directly in repositories, e.g. SRA)
  • pipeline_todos - TODO string in test_full.config: Give any required params for the test so that command line flags are not needed
  • pipeline_todos - TODO string in test.config: Specify the paths to your test data on nf-core/test-datasets
  • pipeline_todos - TODO string in test.config: Give any required params for the test so that command line flags are not needed
  • pipeline_todos - TODO string in base.config: Check the defaults for all processes
  • pipeline_todos - TODO string in base.config: Customise requirements for specific 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!
  • pipeline_todos - TODO string in awsfulltest.yml: You can customise AWS full pipeline tests as required
  • pipeline_todos - TODO string in nextflow.config: Specify any additional parameters here

❔ Tests ignored:

  • files_exist - File is ignored: lib/nfcore_external_java_deps.jar
  • files_exist - File is ignored: conf/modules.config
  • files_exist - File is ignored: .github/workflows/ci.yml
  • files_unchanged - File ignored due to lint config: assets/nf-core-methylseq_logo_light.png
  • files_unchanged - File ignored due to lint config: docs/images/nf-core-methylseq_logo_light.png
  • files_unchanged - File ignored due to lint config: docs/images/nf-core-methylseq_logo_dark.png
  • files_unchanged - File ignored due to lint config: .gitignore or .prettierignore
  • modules_config - modules_config

✅ Tests passed:

Run details

  • nf-core/tools version 4.2.1
  • Run at 2026-10-28 06:47:17

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.