This repository tracks the health of sanger-tol pipelines, modules, and subworkflows with respect to Nextflow's strict syntax linting. It is a mere sanger-tol-ification of the upstream nf-core https://github.com/nf-core/strict-syntax-health.
The Nextflow docs describes the differences from standard Nextflow syntax and includes many examples to help with migration and fixing errors. Strict syntax is backwards compatible with existing Nextflow code, but enforces stricter rules to catch common errors and improve code quality.
The goal is for all sanger-tol pipelines to run without errors using strict syntax.
Important
See the nf-core blog post for details on the migration timeline.
Fixing all errors from nextflow lint will be a requirement by early spring 2026.
- Last updated: 2026-03-27 00:12:56 UTC
- Nextflow version: 26.03.1-edge
- Strict syntax: 0 parse errors, 6 errors, 117 warnings across 19 pipelines
- Versions Mix: 6/19 (31.6%) pipelines do not use the
ch_versions += +ch_versions.mixanti-pattern - Zero issues: 11 pipelines (57.9%)
| Errors | Warnings |
|---|---|
![]() |
![]() |
| Pipeline Versions Mix |
|---|
![]() |
Pipeline Results (19 pipelines)
| Pipeline | Parse Error | Errors | Warnings | Prints Help | Versions Mix | Lint Output | Help Output |
|---|---|---|---|---|---|---|---|
| ❌ zippypretext | No | 5 | 15 | - | ❎ | View | - |
| ❌ ascc | No | 1 | 7 | - | ❎ | View | - |
| ❌ ear | No | 0 | 52 | No | ❎ | View | View |
| ❌ nfmicrofinder | No | 0 | 21 | No | ❎ | View | View |
| ❌ tollongc | No | 0 | 8 | No | ✅ | View | View |
| ❌ blobtoolkit | No | 0 | 7 | Yes | ❎ | View | View |
| ❌ purging | No | 0 | 5 | No | ✅ | View | View |
| ❌ treeval | No | 0 | 2 | No | ❎ | View | View |
| ✅ curationpretext | No | 0 | 0 | Yes | ✅ | View | View |
| ✅ ensemblgenedownload | No | 0 | 0 | Yes | ✅ | View | View |
| ✅ ensemblrepeatdownload | No | 0 | 0 | Yes | ✅ | View | View |
| ✅ genomeassembly | No | 0 | 0 | Yes | ❎ | View | View |
| ✅ genomenote | No | 0 | 0 | Yes | ❎ | View | View |
| ✅ insdcdownload | No | 0 | 0 | Yes | ✅ | View | View |
| ✅ metagenomeassembly | No | 0 | 0 | Yes | ❎ | View | View |
| ✅ readmapping | No | 0 | 0 | Yes | ❎ | View | View |
| ✅ sequencecomposition | No | 0 | 0 | Yes | ❎ | View | View |
| ✅ variantcalling | No | 0 | 0 | Yes | ❎ | View | View |
| ✅ variantcomposition | No | 0 | 0 | Yes | ❎ | View | View |
- Strict syntax: 0 parse errors, 0 errors, 0 warnings across 32 modules
- Topic + Version: 32/32 (100.0%) modules have
topics:andversions:in meta.yml - Zero errors: 32 modules (100.0%)
| Errors | Warnings |
|---|---|
![]() |
![]() |
| Module Topic Version Usage |
|---|
![]() |
Module Results (32 modules)
- Strict syntax: 0 parse errors, 0 errors, 0 warnings across 20 subworkflows
- Versions channel: 20/20 (100.0%) subworkflows do not emit a
versionsoutput channel - Zero errors: 20 subworkflows (100.0%)
| Errors | Warnings |
|---|---|
![]() |
![]() |
Subworkflow Results (20 subworkflows)
| Subworkflow | Parse Error | Errors | Warnings | versions channel | Lint Output |
|---|---|---|---|---|---|
| ✅ ancestral_annotation | No | 0 | 0 | ✅ | View |
| ✅ bam2cool | No | 0 | 0 | ✅ | View |
| ✅ bam_samtools_merge_markdup | No | 0 | 0 | ✅ | View |
| ✅ cram_map_illumina_hic | No | 0 | 0 | ✅ | View |
| ✅ cram_map_long_reads | No | 0 | 0 | ✅ | View |
| ✅ fasta_10x_polishing_longranger_freebayes | No | 0 | 0 | ✅ | View |
| ✅ fasta_bam_scaffolding_yahs | No | 0 | 0 | ✅ | View |
| ✅ fasta_compress_index | No | 0 | 0 | ✅ | View |
| ✅ fasta_purge_retained_haplotype | No | 0 | 0 | ✅ | View |
| ✅ fastx_map_long_reads | No | 0 | 0 | ✅ | View |
| ✅ feature_density | No | 0 | 0 | ✅ | View |
| ✅ gap_finder | No | 0 | 0 | ✅ | View |
| ✅ genome_statistics | No | 0 | 0 | ✅ | View |
| ✅ get_blobtk_plots | No | 0 | 0 | ✅ | View |
| ✅ pacbio_preprocess | No | 0 | 0 | ✅ | View |
| ✅ pairs_create_contact_maps | No | 0 | 0 | ✅ | View |
| ✅ repeat_density | No | 0 | 0 | ✅ | View |
| ✅ repeat_masking | No | 0 | 0 | ✅ | View |
| ✅ soft_masked_fasta_repeats | No | 0 | 0 | ✅ | View |
| ✅ telo_finder | No | 0 | 0 | ✅ | View |
This report is generated daily by running nextflow lint on each sanger-tol pipeline, module, and subworkflow.
The linting checks for strict syntax compliance in Nextflow DSL2 code.
- Parse errors indicate items where
nextflow lintcould not run at all, typically due to syntax errors that prevent Nextflow from parsing the code - Errors indicate syntax issues that will cause problems in future Nextflow versions
- Warnings indicate deprecated patterns that should be updated, but having warnings is fine (though it's nice to fix those as well if possible)
- Prints Help (pipelines only) tests whether the pipeline can print its help message using the v2 syntax parser (
NXF_SYNTAX_PARSER=v2 nextflow run . --help). This test only runs for pipelines with zero lint errors.
You can run nextflow lint on your own pipeline to check for strict syntax issues:
nextflow lint .Note: Until this fix is included in a Nextflow edge release, you may need to exclude nf-test files manually:
nextflow lint . -exclude ".git,.nf-test,nf-test.config"
See the strict syntax documentation for more information about the rules being checked.
If you need help fixing strict syntax errors in your pipeline, the Nextflow community forum is a great place to ask questions.







