nf-core/tools API documentation
Automated documentation for nf-core/tools (1.13
)
nextflow_config
PipelineLint.nextflow_config()
Checks the pipeline configuration for required variables.
All nf-core pipelines are required to be configured with a minimal set of variable names. This test fails or throws warnings if required variables are not set.
These config variables must be set in nextflow.config
or another config
file imported from there. Any variables set in nextflow script files (eg. main.nf
)
are not checked and will be assumed to be missing.
The following variables fail the test if missing:
params.outdir
: A directory in which all pipeline results should be savedmanifest.name
: The pipeline name. Should begin withnf-core/
manifest.description
: A description of the pipelinemanifest.version
- The version of this pipeline. This should correspond to a GitHub release.
- If
--release
is set when runningnf-core lint
, the version number must not contain the stringdev
- If
--release
is _not_ set, the version should end indev
(warning triggered if not)
manifest.nextflowVersion
- The minimum version of Nextflow required to run the pipeline.
- Should be
>=
or!>=
and a version number, eg.manifest.nextflowVersion = '>=0.31.0'
(see Nextflow documentation) >=
warns about old versions but tries to run anyway,!>=
fails for old versions. Only use the latter if you know that the pipeline will certainly fail before this version.- This should correspond to the
NXF_VER
version tested by GitHub Actions.
manifest.homePage
- The homepage for the pipeline. Should be the nf-core GitHub repository URL,
so beginning with
https://github.com/nf-core/
- The homepage for the pipeline. Should be the nf-core GitHub repository URL,
so beginning with
timeline.enabled
,trace.enabled
,report.enabled
,dag.enabled
- The nextflow timeline, trace, report and DAG should be enabled by default (set to
true
)
- The nextflow timeline, trace, report and DAG should be enabled by default (set to
process.cpus
,process.memory
,process.time
- Default CPUs, memory and time limits for tasks
params.input
- Input parameter to specify input data, specify this to avoid a warning
- Typical usage:
params.input
: Input data that is not NGS sequencing data
The following variables throw warnings if missing:
manifest.mainScript
: The filename of the main pipeline script (should bemain.nf
)timeline.file
,trace.file
,report.file
,dag.file
- Default filenames for the timeline, trace and report
- The DAG file path should end with
.svg
(If Graphviz is not installed, Nextflow will generate a.dot
file instead)
process.container
- Docker Hub handle for a single default container for use by all processes.
- Must specify a tag that matches the pipeline version number if set.
- If the pipeline version number contains the string
dev
, the DockerHub tag must be:dev
The following variables are depreciated and fail the test if they are still present:
params.version
: The old method for specifying the pipeline version. Replaced bymanifest.version
params.nf_required_version
: The old method for specifying the minimum Nextflow version. Replaced bymanifest.nextflowVersion
params.container
: The old method for specifying the dockerhub container address. Replaced byprocess.container
igenomesIgnore
: Changed toigenomes_ignore
NoteThe
snake_case
convention should now be used when defining pipeline parameters
The following Nextflow syntax is depreciated and fails the test if present:
- Process-level configuration syntax still using the old Nextflow syntax, for example:
process.$fastqc
instead ofprocess withName:'fastqc'
.