.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
- Fields:
bump_version (dict[str, bool] | None)container_registry (list[str] | None)lint (nf_core.utils.NFCoreYamlLintConfig | None)nf_core_version (str | None)org_path (str | None)repository_type (Literal['pipeline', 'modules'] | None)template (nf_core.utils.NFCoreTemplateConfig | None)update (dict[str, str | bool | dict[str, str | dict[str, str | bool]]] | None)
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- Fields:
actions_awsfulltest (bool | None)actions_awstest (bool | None)actions_nf_test (bool | None)actions_schema_validation (bool | None)base_config (bool | None)container_configs (bool | None)files_exist (bool | list[str] | None)files_unchanged (bool | list[str] | None)included_configs (bool | None)local_component_structure (bool | None)merge_markers (bool | list[str] | None)modules_config (bool | list[str] | None)modules_json (bool | None)modules_structure (bool | None)multiqc_config (bool | list[str] | None)nextflow_config (bool | list[str | dict[str, list[str]]] | None)nf_test_content (bool | list[str] | None)nfcore_components (bool | None)nfcore_yml (bool | None)pipeline_if_empty_null (bool | None)pipeline_name_conventions (bool | None)pipeline_todos (bool | None)plugin_includes (bool | None)readme (bool | list[str] | None)rocrate_readme_sync (bool | None)schema_description (bool | None)schema_lint (bool | None)schema_params (bool | None)system_exit (bool | None)template_strings (bool | list[str] | None)version_consistency (bool | None)
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
- Fields:
- Validators:
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
- Validated by:
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