-
Notifications
You must be signed in to change notification settings - Fork 214
Migrate template to nf-core-utils plugin #3790
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
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
91d662e
to
e908f0a
Compare
// | ||
// Get workflow summary for MultiQC | ||
// | ||
def paramsSummaryMultiqc(summary_params) { |
There was a problem hiding this comment.
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' |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The template now has no nf-core subworkflows by default (migrated to nf-core-utils plugin). |
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. |
PR checklist
CHANGELOG.md
is updateddocs
is updated