+
Skip to content

Conversation

edmundmiller
Copy link
Contributor

PR checklist

  • This comment contains a description of changes (with reason)
  • CHANGELOG.md is updated
  • If you've fixed a bug or added code that should be tested, add tests!
  • Documentation in docs is updated

Integrate nf-core-utils plugin v0.3.0 to replace utility subworkflows
with centralized plugin functions, following RFC proposal #51.

Major changes:
- Add nf-core-utils@0.3.0 plugin to nextflow.config
- Replace UTILS_NEXTFLOW_PIPELINE subworkflow with direct plugin calls
- Replace UTILS_NFCORE_PIPELINE subworkflow with plugin functions
- Replace UTILS_NFSCHEMA_PLUGIN subworkflow with nf-schema plugin calls
- Remove entire subworkflows/nf-core/ directory
- Update modules.json to remove nf-core subworkflows

Functions now provided by nf-core-utils plugin:
- getWorkflowVersion, dumpParametersToJSON, checkCondaChannels
- completionEmail, completionSummary, imNotification
- checkConfigProvided, checkProfileProvided
- processVersionsFromFile, workflowVersionToChannel

Functions retained in local subworkflow:
- paramsSummaryMultiqc, softwareVersionsToYAML (uses plugin functions)
- getGenomeAttribute, validateInputSamplesheet
- toolCitationText, methodsDescriptionText

Closes: #3685
Related: nf-core/proposals#51

feat(template): migrate to nf-core-utils plugin

- Add nf-core-utils@0.3.0 plugin to nextflow.config
- Replace all nf-core subworkflow imports with plugin imports
  - utils_nextflow_pipeline functions -> direct plugin calls
  - utils_nfcore_pipeline functions -> plugin/nf-core-utils
  - utils_nfschema_plugin functions -> plugin/nf-schema
- Use plugin functions for version processing:
  - processVersionsFromFile() instead of local implementation
  - workflowVersionToChannel() instead of local implementation
- Remove entire subworkflows/nf-core/ directory
- Update modules.json: empty nf-core subworkflows section
- Update test expectations for removed subworkflows

Closes #3685
@edmundmiller edmundmiller changed the title Tools 3685 Migrate template to nf-core-utils plugin Oct 1, 2025
Comment on lines +211 to +214
//
// Get workflow summary for MultiQC
//
def paramsSummaryMultiqc(summary_params) {
Copy link
Contributor

Choose a reason for hiding this comment

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

wrap this whole function inside a {% if multiqc %

include { getWorkflowVersion } from 'plugin/nf-core-utils'
include { dumpParametersToJSON } from 'plugin/nf-core-utils'
include { checkCondaChannels } from 'plugin/nf-core-utils'
include { completionEmail } from 'plugin/nf-core-utils'
Copy link
Contributor

Choose a reason for hiding this comment

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

needs a {% if email %} wrapper

plugins {
id 'nf-schema@2.5.1' // Validation of pipeline parameters and creation of an input channel from a sample sheet
id 'nf-schema@2.4.2' // Validation of pipeline parameters and creation of an input channel from a sample sheet
id 'nf-core-utils@0.3.0' // Utility functions for nf-core pipelines
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
id 'nf-core-utils@0.3.0' // Utility functions for nf-core pipelines
id 'nf-core-utils@1.0.0' // Utility functions for nf-core pipelines

self.subworkflow_remove.remove("utils_nfschema_plugin", force=True)
"""Test linting a pipeline with no nf-core subworkflows installed.
The template now has no nf-core subworkflows by default (migrated to nf-core-utils plugin).
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
The template now has no nf-core subworkflows by default (migrated to nf-core-utils plugin).

@mashehu
Copy link
Contributor

mashehu commented Oct 2, 2025

should we ask the maintainers team for test implementations before we add it to the template. we currently only have two pipelines, both done by maxime.

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.

2 participants

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载