Skip to content

nf-core/strict-syntax-health

Repository files navigation

nf-core Strict Syntax Health Report

This repository tracks the health of nf-core pipelines, modules, and subworkflows with respect to Nextflow's strict syntax linting.

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 nf-core 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-06-27 00:46:03 UTC
  • Nextflow version: 26.05.0-edge

Pipelines

  • Total: 0 parse errors, 1514 errors, 7488 warnings across 139 pipelines
  • Zero errors: 84 pipelines (60.4%)
Errors Warnings
Errors Warnings
Pipeline Results (139 pipelines)
Pipeline Parse Error Errors Warnings Prints Help Lint Output Help Output
eager No 117 367 - View -
genomeannotator No 79 151 - View -
hicar No 78 123 - View -
evexplorer No 74 55 - View -
oncoanalyser No 64 112 - View -
viralintegration No 64 15 - View -
phageannotator No 58 104 - View -
readsimulator No 53 53 - View -
metaboigniter No 52 125 - View -
spinningjenny No 50 12 - View -
variantcatalogue No 46 49 - View -
imcyto No 45 14 - View -
meerpipe No 44 85 - View -
callingcards No 41 177 - View -
radseq No 41 44 - View -
lncpipe No 40 180 - View -
nascent No 38 167 - View -
marsseq No 37 69 - View -
nanoseq No 36 80 - View -
omicsgenetraitassociation No 33 31 - View -
genomeskim No 33 14 - View -
denovotranscript No 31 56 - View -
sammyseq No 21 153 - View -
circdna No 21 30 - View -
metapep No 20 56 - View -
bactmap No 17 36 - View -
slamseq No 17 0 - View -
pathogensurveillance No 16 442 - View -
deepmodeloptim No 16 56 - View -
diaproteomics No 16 0 - View -
clipseq No 15 0 - View -
mnaseseq No 15 0 - View -
proteogenomicsdb No 15 0 - View -
pangenome No 14 67 - View -
rarevariantburden No 14 26 - View -
detaxizer No 13 65 - View -
crisprseq No 13 50 - View -
coproid No 12 52 - View -
hic No 12 31 - View -
panoramaseq No 11 28 - View -
hgtseq No 10 74 - View -
mcmicro No 9 80 - View -
fastqrepair No 9 37 - View -
pacsomatic No 7 120 - View -
sopa No 7 24 - View -
pacvar No 6 34 - View -
kmermaid No 6 21 - View -
mitodetect No 6 21 - View -
troughgraph No 6 21 - View -
methylarray No 4 24 - View -
rnadnavar No 3 382 - View -
methylseq No 3 69 - View -
dualrnaseq No 2 57 - View -
tbanalyzer No 2 27 - View -
cellpainting No 2 14 - View -
sarek No 0 585 Yes View View
multiplesequencealign No 0 178 Yes View View
longraredisease No 0 167 No View View
cutandrun No 0 160 No View View
riboseq No 0 160 Yes View View
viralrecon No 0 160 Yes View View
diseasemodulediscovery No 0 133 Yes View View
differentialabundance No 0 107 Yes View View
taxprofiler No 0 97 Yes View View
deepmutscan No 0 80 No View View
methylong No 0 79 No View View
chipseq No 0 76 Yes View View
funcscan No 0 70 Yes View View
epigenomesegmentation No 0 67 No View View
abotyper No 0 65 Yes View View
tumourevo No 0 56 No View View
bacmodel No 0 54 Yes View View
mhcquant No 0 51 Yes View View
molkart No 0 47 No View View
stableexpression No 0 43 No View View
airrflow No 0 40 Yes View View
variantbenchmarking No 0 36 Yes View View
drugresponseeval No 0 32 Yes View View
scdownstream No 0 32 Yes View View
hadge No 0 30 Yes View View
rnasplice No 0 30 No View View
circrna No 0 29 Yes View View
isoseq No 0 28 No View View
ampliseq No 0 27 Yes View View
funcprofiler No 0 25 Yes View View
mag No 0 25 Yes View View
dartseq No 0 23 No View View
genomeassembler No 0 23 Yes View View
lsmquant No 0 23 Yes View View
bacass No 0 21 Yes View View
pixelator No 0 21 Yes View View
alleleexpression No 0 20 No View View
atacseq No 0 19 Yes View View
phaseimpute No 0 19 No View View
reportho No 0 18 Yes View View
seqsubmit No 0 18 Yes View View
genephylomodeler No 0 17 No View View
genomicrelatedness No 0 17 Yes View View
pairgenomealign No 0 16 Yes View View
fetchngs No 0 15 Yes View View
genomeqc No 0 14 Yes View View
tfactivity No 0 14 Yes View View
raredisease No 0 13 Yes View View
createtaxdb No 0 12 Yes View View
gwas No 0 12 No View View
mspepid No 0 12 Yes View View
fastquorum No 0 11 Yes View View
variantprioritization No 0 11 Yes View View
viralmetagenome No 0 11 Yes View View
ncrnannotator No 0 10 No View View
hlatyping No 0 8 Yes View View
spatialaxe No 0 8 No View View
spatialvi No 0 8 Yes View View
proteinfamilies No 0 7 Yes View View
proteinfold No 0 7 Yes View View
bamtofastq No 0 6 Yes View View
cageseq No 0 6 Yes View View
provenancereport No 0 6 Yes View View
ribomsqc No 0 6 No View View
rnafusion No 0 6 No View View
scrnaseq No 0 6 Yes View View
datasync No 0 5 Yes View View
drop No 0 5 Yes View View
magmap No 0 5 Yes View View
nanostring No 0 5 Yes View View
proteinannotator No 0 5 Yes View View
rangeland No 0 5 Yes View View
rnaseq No 0 5 Yes View View
scnanoseq No 0 5 Yes View View
demo No 0 4 Yes View View
demultiplex No 0 4 Yes View View
epitopeprediction No 0 4 Yes View View
metatdenovo No 0 4 Yes View View
phyloplace No 0 4 Yes View View
references No 0 4 No View View
rnavar No 0 3 Yes View View
seqinspector No 0 3 Yes View View
smrnaseq No 0 3 Yes View View
createpanelrefs No 0 2 Yes View View

Workflow Outputs Migration

Adoption of the new workflow outputs syntax (a top-level output {} block) and migration away from the legacy publishDir directive. This is a separate dataset from the lint errors and warnings above.

  • Uses output {}: 9 pipelines (6.5%)
  • Still uses publishDir: 136 pipelines (97.8%)
  • Fully migrated (output {}, no publishDir): 3 pipelines (2.2%)

Workflow outputs migration

Workflow Outputs Migration (139 pipelines)

The status emoji next to each pipeline shows its migration state: ✅ fully migrated (only output {}), ⚠️ in progress (output {} and publishDir), ❌ not started (only publishDir).

Pipeline output {} publishDir Report
createpanelrefs Yes No View
references Yes No View
seqinspector Yes No View
⚠️ demultiplex Yes Yes (6) View
⚠️ differentialabundance Yes Yes (10) View
⚠️ proteinfamilies Yes Yes (73) View
⚠️ raredisease Yes Yes (2) View
⚠️ rnavar Yes Yes (33) View
⚠️ sarek Yes Yes (186) View
abotyper No Yes (14) View
airrflow No Yes (84) View
alleleexpression No Yes (15) View
ampliseq No Yes (97) View
atacseq No Yes (79) View
bacass No Yes (33) View
bacmodel No Yes (14) View
bactmap No Yes (53) View
bamtofastq No Yes (17) View
cageseq No Yes (30) View
callingcards No Yes (38) View
cellpainting No Yes (7) View
chipseq No Yes (56) View
circdna No Yes (36) View
circrna No Yes (127) View
clipseq No Yes (24) View
coproid No Yes (11) View
createtaxdb No Yes (17) View
crisprseq No Yes (45) View
cutandrun No Yes (81) View
dartseq No Yes (14) View
datasync No Yes (2) View
deepmodeloptim No Yes (12) View
deepmutscan No Yes (21) View
demo No Yes (5) View
denovotranscript No Yes (7) View
detaxizer No Yes (20) View
diaproteomics No Yes (13) View
diseasemodulediscovery No Yes (21) View
drop No Yes (28) View
drugresponseeval No Yes (26) View
dualrnaseq No Yes (30) View
eager No Yes (127) View
epigenomesegmentation No Yes (13) View
epitopeprediction No Yes (18) View
evexplorer No Yes (9) View
fastqrepair No Yes (6) View
fastquorum No Yes (15) View
fetchngs No Yes (10) View
funcprofiler No Yes (11) View
funcscan No Yes (22) View
genephylomodeler No Yes (12) View
genomeannotator No Yes (14) View
genomeassembler No Yes (91) View
genomeqc No Yes (37) View
genomeskim No Yes (3) View
genomicrelatedness No Yes (61) View
gwas No Yes (3) View
hadge No Yes (33) View
hgtseq No Yes (50) View
hic No Yes (39) View
hicar No Yes (156) View
hlatyping No Yes (20) View
imcyto No Yes (7) View
isoseq No Yes (16) View
kmermaid No Yes (2) View
lncpipe No Yes (39) View
longraredisease No Yes (76) View
lsmquant No Yes (5) View
mag No Yes (39) View
magmap No Yes (27) View
marsseq No Yes (23) View
mcmicro No Yes (10) View
meerpipe No Yes (9) View
metaboigniter No Yes (31) View
metapep No Yes (21) View
metatdenovo No Yes (14) View
methylarray No Yes (2) View
methylong No Yes (41) View
methylseq No Yes (45) View
mhcquant No Yes (46) View
mitodetect No Yes (2) View
mnaseseq No Yes (26) View
molkart No Yes (18) View
mspepid No Yes (9) View
multiplesequencealign No Yes (17) View
nanoseq No Yes (3) View
nanostring No Yes (7) View
nascent No Yes (41) View
ncrnannotator No Yes (6) View
omicsgenetraitassociation No Yes (11) View
oncoanalyser No Yes (35) View
pacsomatic No Yes (40) View
pacvar No Yes (15) View
pairgenomealign No Yes (11) View
pangenome No Yes (30) View
panoramaseq No Yes (15) View
pathogensurveillance No Yes (52) View
phageannotator No Yes (39) View
phaseimpute No Yes (90) View
phyloplace No Yes (2) View
pixelator No Yes (12) View
proteinannotator No Yes (19) View
proteinfold No Yes (51) View
proteogenomicsdb No Yes (5) View
provenancereport No Yes (1) View
radseq No Yes (25) View
rangeland No Yes (5) View
rarevariantburden No Yes (17) View
readsimulator No Yes (18) View
reportho No Yes (37) View
ribomsqc No Yes (1) View
riboseq No Yes (116) View
rnadnavar No Yes (98) View
rnafusion No Yes (35) View
rnaseq No Yes (115) View
rnasplice No Yes (66) View
sammyseq No Yes (30) View
scdownstream No Yes (63) View
scnanoseq No Yes (92) View
scrnaseq No Yes (25) View
seqsubmit No Yes (19) View
slamseq No Yes (8) View
smrnaseq No Yes (53) View
sopa No Yes (4) View
spatialaxe No Yes (39) View
spatialvi No Yes (7) View
spinningjenny No Yes (6) View
stableexpression No Yes (15) View
taxprofiler No Yes (82) View
tbanalyzer No Yes (2) View
tfactivity No Yes (75) View
troughgraph No Yes (2) View
tumourevo No Yes (18) View
variantbenchmarking No Yes (79) View
variantcatalogue No Yes (33) View
variantprioritization No Yes (13) View
viralintegration No Yes (2) View
viralmetagenome No Yes (116) View
viralrecon No Yes (173) View

Modules

  • Total: 0 parse errors, 0 errors, 14 warnings across 1928 modules
  • Zero errors: 1928 modules (100.0%)
Errors Warnings
Errors Warnings
Module Results (0 modules with errors)
Module Parse Error Errors Warnings Lint Output

Modules with zero errors are not shown above (1928 modules). They may still have warnings. See the modules results directory for all lint outputs.

Subworkflows

  • Total: 0 parse errors, 0 errors, 26 warnings across 120 subworkflows
  • Zero errors: 120 subworkflows (100.0%)
Errors Warnings
Errors Warnings
Subworkflow Results (0 subworkflows with errors)
Subworkflow Parse Error Errors Warnings Lint Output

Subworkflows with zero errors are not shown above (120 subworkflows). They may still have warnings. See the subworkflows results directory for all lint outputs.

About

This report is generated daily by running nextflow lint on each nf-core pipeline, module, and subworkflow. The linting checks for strict syntax compliance in Nextflow DSL2 code.

  • Parse errors indicate items where nextflow lint could 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.
  • Workflow Outputs Migration (pipelines only, shown in its own section) tracks adoption of the new workflow outputs syntax (a top-level output {} block) and migration away from the legacy publishDir directive (detected in both .nf and conf/*.config files). A pipeline is fully migrated once it uses output {} with no publishDir. Each pipeline links to a report listing exactly where both were found.

Running Locally

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.

Getting Help

If you need help fixing strict syntax errors in your pipeline, the Nextflow community forum is a great place to ask questions.

About

Track Nextflow strict syntax linting health across nf-core pipelines

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages