.nf-core.yml configuration

The .nf-core.yml file at the root of any nf-core repository controls how nf-core tools behaves for that repository. It is read by load_tools_config() and validated against the NFCoreYamlConfig Pydantic model.

Minimal examples

Pipeline repository:

repository_type: pipeline
nf_core_version: "4.0.2"

Modules repository:

repository_type: modules
nf_core_version: "4.0.2"
container-registry:
  - community.wave.seqera.io/library/

Schema

Top-level{:python}``.nf-core.yml``schema ({:python}``NFCoreYamlConfig``)

pydantic modelnf_core.utils.NFCoreYamlConfig

Bases: BaseModel

.nf-core.yml configuration file schema

fieldbump_version: dict[str, bool] | None= None

Disable bumping of the version for a module/subworkflow (when repository_type is modules). See https://nf-co.re/docs/nf-core-tools/modules/bump-versions for more information.

fieldcontainer_registry: list[str] | None= None(alias ‘container-registry’)

Additional container registry prefixes allowed when linting container directives.

fieldlint: NFCoreYamlLintConfig | None= None

Pipeline linting configuration, see https://nf-co.re/docs/nf-core-tools/pipelines/lint#linting-config for examples and documentation

fieldnf_core_version: str | None= None

Version of nf-core/tools used to create/update the pipeline

fieldorg_path: str | None= None

Path to the organisation’s modules repository (used for modules repo_type only)

fieldrepository_type: Literal[‘pipeline’, ‘modules’] | None= None

Type of repository

fieldtemplate: NFCoreTemplateConfig | None= None

Pipeline template configuration

fieldupdate: dict[str, str | bool | dict[str, str | dict[str, str | bool]]] | None= None

Disable updating specific modules/subworkflows (when repository_type is pipeline). See https://nf-co.re/docs/nf-core-tools/modules/update for more information.

lint``block ({:python}``NFCoreYamlLintConfig``)

pydantic modelnf_core.utils.NFCoreYamlLintConfig

Bases: BaseModel

schema for linting config in .nf-core.yml should cover:

files_unchanged:
    - .github/workflows/branch.yml
modules_config: False
modules_config:
        - fastqc
# merge_markers: False
merge_markers:
        - docs/my_pdf.pdf
nextflow_config: False
nextflow_config:
    - manifest.name
    - config_defaults:
        - params.annotation_db
        - params.multiqc_comment_headers
        - params.custom_table_headers
# multiqc_config: False
multiqc_config:
    - report_section_order
    - report_comment
files_exist:
    - CITATIONS.md
template_strings: False
template_strings:
        - docs/my_pdf.pdf
nfcore_components: False
# nf_test_content: False
nf_test_content:
    - tests/<test_name>.nf.test
    - tests/nextflow.config
    - nf-test.config

fieldactions_awsfulltest: bool | None= None

Lint all required files to run full tests on AWS

fieldactions_awstest: bool | None= None

Lint all required files to run tests on AWS

fieldactions_nf_test: bool | None= None

Lint all required files to use GitHub Actions CI

fieldactions_schema_validation: bool | None= None

Lint GitHub Action workflow files with schema

fieldbase_config: bool | None= None

Lint base.config file

fieldcontainer_configs: bool | None= None

Lint that container configuration files in conf/ are up to date

fieldfiles_exist: bool | list[str] | None= None

List of files that can not exist

fieldfiles_unchanged: bool | list[str] | None= None

List of files that should not be changed

fieldincluded_configs: bool | None= None

Lint for included configs

fieldlocal_component_structure: bool | None= None

Lint local components use correct structure mirroring remote

fieldmerge_markers: bool | list[str] | None= None

List of files that should not contain merge markers

fieldmodules_config: bool | list[str] | None= None

List of modules that should not be changed

fieldmodules_json: bool | None= None

Lint modules.json file

fieldmodules_structure: bool | None= None

Lint modules structure

fieldmultiqc_config: bool | list[str] | None= None

List of MultiQC config options that be changed

fieldnextflow_config: bool | list[str | dict[str, list[str]]] | None= None

List of Nextflow config files that should not be changed

fieldnf_test_content: bool | list[str] | None= None

List of nf-test content that should not be changed

fieldnfcore_components: bool | None= None

Lint all required files to use nf-core modules and subworkflows

fieldnfcore_yml: bool | None= None

Lint nf-core.yml

fieldpipeline_if_empty_null: bool | None= None

Lint for ifEmpty(null) statements

fieldpipeline_name_conventions: bool | None= None

Lint for pipeline name conventions

fieldpipeline_todos: bool | None= None

Lint for TODOs statements

fieldplugin_includes: bool | None= None

Lint for nextflow plugin

fieldreadme: bool | list[str] | None= None

Lint the README.md file

fieldrocrate_readme_sync: bool | None= None

Lint for README.md and rocrate.json sync

fieldschema_description: bool | None= None

Check that every parameter in the schema has a description.

fieldschema_lint: bool | None= None

Lint nextflow_schema.json file

fieldschema_params: bool | None= None

Lint schema for all params

fieldsystem_exit: bool | None= None

Lint for System.exit calls in groovy/nextflow code

fieldtemplate_strings: bool | list[str] | None= None

List of files that can contain template strings

fieldversion_consistency: bool | None= None

Lint for version consistency

template``block ({:python}``NFCoreTemplateConfig``)

pydantic modelnf_core.utils.NFCoreTemplateConfig

Bases: BaseModel

Template configuration schema

fieldauthor: str | None= None

Pipeline author

fielddescription: str | None= None

Pipeline description

fieldforce: bool | None= True

Force overwrite of existing files

fieldis_nfcore: bool | None= None

Whether the pipeline is an nf-core pipeline.

fieldname: str | None= None

Pipeline name

fieldorg: str | None= None

Organisation name

fieldoutdir: str | Path | None= None

Output directory

fieldskip_features: list | None= None

Skip features. See https://nf-co.re/docs/nf-core-tools/pipelines/create for a list of features.

fieldversion: str | None= None

Pipeline version