Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
74fb6af
Remove vendored nf-core utils subworkflows, use plugin imports
maxulysse Jun 17, 2026
77ed0ac
Trigger Build
maxulysse Jun 17, 2026
e80b2d8
properly remove subworkflow
maxulysse Jun 17, 2026
39e1c25
polish
maxulysse Jun 17, 2026
a908999
snapshot
maxulysse Jun 17, 2026
2a09950
correct call for function
maxulysse Jun 17, 2026
88d8026
Update CHANGELOG.md
maxulysse Jun 17, 2026
f771924
Merge branch 'dev' into remove-nfcore-utils-subworkflows
maxulysse Jun 17, 2026
5eb9074
snapshot
maxulysse Jun 18, 2026
6278fb9
use coming versions
maxulysse Jun 18, 2026
6f8ef71
use citationsonthefly
maxulysse Jun 18, 2026
c5956e0
feat: use nested publication object for citation metadata
maxulysse Jun 22, 2026
109f24c
fix: remove citation metadata from bbmap (not available)
maxulysse Jun 22, 2026
8842cbd
fix: update metadata for bwamem2, fastqscreen, multiqcsav, samtools
maxulysse Jun 22, 2026
2daaff2
fix: add missing source field to krona and bwamem2 publication
maxulysse Jun 22, 2026
13f69c0
Harvard
maxulysse Jun 25, 2026
6439291
Pin nf-core-utils 0.7.0
maxulysse Oct 31, 2026
ecbab37
Merge remote-tracking branch 'origin/dev' into remove-nfcore-utils-su…
maxulysse Oct 31, 2026
fb727bf
Use citationsOnTheFly for tool citations, patch module meta.yml
maxulysse Oct 31, 2026
32a2009
Apply Harshil alignment and keep multi-line lists with trailing commas
maxulysse Oct 31, 2026
4c14128
Ignore citation warnings for pigz, python and pyyaml in snapshots
maxulysse Oct 31, 2026
7b469fb
Add citations for pigz, python and pyyaml
maxulysse Nov 2, 2026
add0238
Regenerate snapshots with Nextflow 25.10.4
maxulysse Nov 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### `Changed`

- [#241](https://github.com/nf-core/seqinspector/pull/241) Remove vendored nf-core utils subworkflows, use plugin imports from nf-core-utils and nf-schema, build tool citations from module `meta.yml` with `citationsOnTheFly()` (@maxulysse)
- [#278](https://github.com/nf-core/seqinspector/pull/278) Back to dev (@maxulysse)
- [#279](https://github.com/nf-core/seqinspector/pull/279) Exclude CheckQC from individual MultiQC reports to prevent runfolder information from bleeding into other samples' reports (@maxulysse)
- [#282](https://github.com/nf-core/seqinspector/pull/282) Template update for nf-core/tools v4.1.0 (@maxulysse)
Expand Down
26 changes: 14 additions & 12 deletions conf/modules.config
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Config file for defining DSL2 per module options and publishing paths
Config file for defining DSL2 per module options and publishing paths
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Available keys to override module options:
ext.args = Additional arguments appended to command in module.
ext.args2 = Second set of arguments appended to command in module (multi-tool modules).
ext.args3 = Third set of arguments appended to command in module (multi-tool modules).
ext.prefix = File name prefix for output files.
Available keys to override module options:
ext.args = Additional arguments appended to command in module.
ext.args2 = Second set of arguments appended to command in module (multi-tool modules).
ext.args3 = Third set of arguments appended to command in module (multi-tool modules).
ext.prefix = File name prefix for output files.
----------------------------------------------------------------------------------------
*/
*/

process {
withName: BBMAP_CLUMPIFY {
Expand All @@ -25,19 +25,21 @@ process {

withName: FQ_LINT {
errorStrategy = {
task.exitStatus in ((130..145) + 104) ? 'retry' :
params.continue_with_lint_fail ? 'ignore' :
'finish'
task.exitStatus in ((130..145) + 104)
? 'retry'
: params.continue_with_lint_fail
? 'ignore'
: 'finish'
}
ext.args = { params.fq_lint_args }
}

withName: 'MULTIQC_.*' {
ext.args = { params.multiqc_title ? "--title \"${params.multiqc_title}\"" : '' }
ext.args = { params.multiqc_title ? "--title \"${params.multiqc_title}\"" : '' }
}

withName: PICARD_COLLECTHSMETRICS {
ext.args = { "--TMP_DIR ." }
ext.args = { "--TMP_DIR ." }
}

withName: RIKER_MULTI {
Expand Down
12 changes: 6 additions & 6 deletions conf/test.config
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Nextflow config file for running minimal tests
Nextflow config file for running minimal tests
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Defines input files and everything required to run a fast and simple pipeline test.
Defines input files and everything required to run a fast and simple pipeline test.

Use as follows:
nextflow run nf-core/seqinspector -profile test,<docker/singularity> --outdir <OUTDIR>
Use as follows:
nextflow run nf-core/seqinspector -profile test,<docker/singularity> --outdir <OUTDIR>

----------------------------------------------------------------------------------------
*/
*/

params {
config_profile_name = 'Test profile'
Expand All @@ -26,7 +26,7 @@ process {
resourceLimits = [
cpus: 4,
memory: '8.GB',
time: '1.h'
time: '1.h',
]

withName: CHECKQC {
Expand Down
10 changes: 5 additions & 5 deletions conf/test_full.config
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Nextflow config file for running full-size tests
Nextflow config file for running full-size tests
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Defines input files and everything required to run a full size pipeline test.
Defines input files and everything required to run a full size pipeline test.

Use as follows:
nextflow run nf-core/seqinspector -profile test_full,<docker/singularity> --outdir <OUTDIR>
Use as follows:
nextflow run nf-core/seqinspector -profile test_full,<docker/singularity> --outdir <OUTDIR>

----------------------------------------------------------------------------------------
*/
*/


params {
Expand Down
31 changes: 29 additions & 2 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,6 @@ Tool entries, includes, and references throughout the pipeline must follow alpha
- `include` statements in workflow files
- Module invocations within workflows
- Tool entries in `defineToolsList()` bundles
- Entries in `toolReferencesMap()`
- Regex patterns in `nextflow_schema.json`
- Lists in `docs/usage.md`, `docs/output.md`, `README.md`, and `CITATIONS.md`

Expand All @@ -209,11 +208,39 @@ The nf-core/seqinspector pipeline has a strong emphasis on a broad spectrum of t
- If the tool should be part of any pre-defined bundle, update the `help_text` of the `tools_bundle` property to include it in the relevant bundle(s).
4. Add your tool to the table `Compatibility between tools and data type` in `README.md`.
5. Add your tool to the tools version table in `README.md` (alphabetical order).
6. Add your tool to the `toolReferencesMap()` in `subworkflows/local/utils_nfcore_seqinspector_pipeline/main.nf` with name, authors, description, and DOI or URL.
6. Check that the tool entry in the module `meta.yml` has a `publication` block, see [Tool citations](#tool-citations).
7. Add a citation entry in `CITATIONS.md` (alphabetical order).
8. Update the metromap (can be found in `assets`) to include your new step.
9. Update the `CHANGELOG.md` file in the base directory of the pipeline.

### Tool citations

The MultiQC methods description cites tools on the fly with `citationsOnTheFly()` from the nf-core-utils plugin.
It reads the tools that ran from the `versions` topic and takes their citation from the `tools` entries of every `modules/**/meta.yml`.
The tool name in the `versions` topic must match the tool key in `meta.yml`.

Each cited tool entry in `meta.yml` should carry a `doi` and a nested `publication` block in Harvard style:

```yaml
tools:
- fastp:
doi: "10.1093/bioinformatics/bty560"
publication:
author: "Chen S., Zhou Y., Chen Y. & Gu J."
year: 2018
title: "fastp: an ultra-fast all-in-one FASTQ preprocessor"
source: "Bioinformatics"
```

A tool without a `publication` block falls back to its `doi`, then its `homepage`.

The `publication` block is not yet in every upstream nf-core module.
When an installed module lacks it, add it to the module `meta.yml`, then run `nf-core modules patch <tool>` so the change survives module updates and passes `nf-core pipelines lint`.
If the module already has a patch, delete the `.diff` file and its `patch` entry in `modules.json`, then run `nf-core modules patch <tool>` again so the new patch covers both changes.
Open a PR to nf-core/modules to upstream the `publication` block.

MultiQC and MultiQC_SAV run after the `versions` topic is collected, so `workflows/seqinspector.nf` passes them to `citationsOnTheFly()` as extra tools.

### Things to consider regarding displaying results for a new tool

- If a MultiQC module exist for the tool, start by using the standard settings of the module.
Expand Down
26 changes: 13 additions & 13 deletions main.nf
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
#!/usr/bin/env nextflow
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nf-core/seqinspector
nf-core/seqinspector
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Github : https://github.com/nf-core/seqinspector
Website: https://nf-co.re/seqinspector
Slack : https://nfcore.slack.com/channels/seqinspector
Github : https://github.com/nf-core/seqinspector
Website: https://nf-co.re/seqinspector
Slack : https://nfcore.slack.com/channels/seqinspector
----------------------------------------------------------------------------------------
*/
*/

/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IMPORT FUNCTIONS / MODULES / SUBWORKFLOWS / WORKFLOWS
IMPORT FUNCTIONS / MODULES / SUBWORKFLOWS / WORKFLOWS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
*/

include { SEQINSPECTOR } from './workflows/seqinspector'
include { PIPELINE_INITIALISATION } from './subworkflows/local/utils_nfcore_seqinspector_pipeline'
Expand All @@ -26,9 +26,9 @@ include { defineSubsampleToolsList } from './subworkflows/local/utils_nfcore_seq

/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GENOME PARAMETER VALUES
GENOME PARAMETER VALUES
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
*/

params.bwamem2 = getGenomeAttribute('bwamem2')
params.dict = getGenomeAttribute('dict')
Expand All @@ -37,9 +37,9 @@ params.fasta = getGenomeAttribute('fasta')

/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RUN MAIN WORKFLOW
RUN MAIN WORKFLOW
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
*/

workflow {

Expand Down Expand Up @@ -194,9 +194,9 @@ output {

/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NAMED WORKFLOWS FOR PIPELINE
NAMED WORKFLOWS FOR PIPELINE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
*/

//
// WORKFLOW: Run main analysis pipeline depending on type of input
Expand Down
31 changes: 8 additions & 23 deletions modules.json
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,14 @@
"multiqc": {
"branch": "master",
"git_sha": "98403d15b0e50edae1f3fec5eae5e24982f1fade",
"installed_by": ["modules"]
"installed_by": ["modules"],
"patch": "modules/nf-core/multiqc/multiqc.diff"
},
"multiqcsav": {
"branch": "master",
"git_sha": "6ef220fd9252b42fb3c50348bbdbcb6246730686",
"installed_by": ["modules"]
"installed_by": ["modules"],
"patch": "modules/nf-core/multiqcsav/multiqcsav.diff"
},
"picard/collecthsmetrics": {
"branch": "master",
Expand Down Expand Up @@ -116,12 +118,14 @@
"samtools/faidx": {
"branch": "master",
"git_sha": "9339809fcb90af8a8b7051e6cd914894d5c52002",
"installed_by": ["modules"]
"installed_by": ["modules"],
"patch": "modules/nf-core/samtools/faidx/samtools-faidx.diff"
},
"samtools/index": {
"branch": "master",
"git_sha": "9339809fcb90af8a8b7051e6cd914894d5c52002",
"installed_by": ["modules"]
"installed_by": ["modules"],
"patch": "modules/nf-core/samtools/index/samtools-index.diff"
},
"seqfu/stats": {
"branch": "master",
Expand Down Expand Up @@ -158,25 +162,6 @@
"installed_by": ["modules"]
}
}
},
"subworkflows": {
"nf-core": {
"utils_nextflow_pipeline": {
"branch": "master",
"git_sha": "6ef220fd9252b42fb3c50348bbdbcb6246730686",
"installed_by": ["subworkflows"]
},
"utils_nfcore_pipeline": {
"branch": "master",
"git_sha": "6ef220fd9252b42fb3c50348bbdbcb6246730686",
"installed_by": ["subworkflows"]
},
"utils_nfschema_plugin": {
"branch": "master",
"git_sha": "a7b27fd25bfa8dcc07d299e88bd790585901a436",
"installed_by": ["subworkflows"]
}
}
}
}
}
Expand Down
22 changes: 22 additions & 0 deletions modules/local/rundirparser/meta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,28 @@ tools:
documentation: https://github.com/nf-core/seqinspector
licence:
- "MIT"
- python:
description: Python programming language
homepage: https://www.python.org/
documentation: https://docs.python.org/3/
publication:
author: "Van Rossum G. & Drake F.L."
year: 2009
title: "Python 3 Reference Manual"
source: "CreateSpace, Scotts Valley, CA"
licence:
- "PSF-2.0"
- pyyaml:
description: YAML parser and emitter for Python
homepage: https://pyyaml.org/
documentation: https://pyyaml.org/wiki/PyYAMLDocumentation
publication:
author: "Simonov K."
year: 2006
title: "PyYAML: YAML parser and emitter for Python"
source: "https://pyyaml.org/"
licence:
- "MIT"
input:
- - meta:
type: map
Expand Down
17 changes: 16 additions & 1 deletion modules/nf-core/checkqc/checkqc.diff

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions modules/nf-core/checkqc/meta.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 18 additions & 1 deletion modules/nf-core/fastqe/fastqe.diff

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 6 additions & 1 deletion modules/nf-core/fastqe/meta.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading