A Nextflow plugin to work with validation of pipeline parameters and sample sheets.
[!IMPORTANT] nf-schema is the new version of the now deprecated nf-validation. Please follow the migration guide to migrate your code to this new version.
This Nextflow plugin provides functionality that can be used in a Nextflow pipeline to work with parameter and sample sheet schema. The added functionality is:
--help
)Supported sample sheet formats are CSV, TSV, JSON and YAML.
Declare the plugin in your Nextflow pipeline configuration file:
plugins {
id 'nf-schema@2.1.1'
}
This is all that is needed - Nextflow will automatically fetch the plugin code at run time.
[!NOTE] The snippet above will always try to install the specified version. We encourage always pinning the plugin version to make sure the used pipeline will keep working when a new version of
nf-schema
with breaking changes has been released.
You can now include the plugin helper functions into your Nextflow pipeline:
include { validateParameters; paramsSummaryLog; samplesheetToList } from 'plugin/nf-schema'
// Validate input parameters
validateParameters()
// Print summary of supplied parameters
log.info paramsSummaryLog(workflow)
// Create a new channel of metadata from a sample sheet passed to the pipeline through the --input parameter
ch_input = Channel.fromList(samplesheetToList(params.input, "assets/schema_input.json"))
Or enable the creation of the help message (using --help
) in the configuration file:
validation {
help {
enabled: true
}
}
There is a dedicated nf-schema Slack channel in the Nextflow Slack workspace.
This plugin was written based on code initially written within the nf-core community, as part of the nf-core pipeline template.
We would like to thank the key contributors who include (but are not limited to):