Skip to content

Use nf-core module meta.yml to validate process definition #121

@bentsherman

Description

@bentsherman

nf-core modules have a meta.yml which includes metadata about the process inputs and outputs. For example, consider fastqc:

https://github.com/nf-core/modules/blob/master/modules/nf-core/fastqc/main.nf

https://github.com/nf-core/modules/blob/master/modules/nf-core/fastqc/meta.yml

This metadata includes type information beyond what the Nextflow syntax allows, such as type annotations for val inputs / outputs. It may be possible to facilitate type checking for existing code using this metadata.

As a first iteration, we can imitate the approach already used for the parameter schema -- if the meta.yml is present, check it against the process definition to make sure they match.

In a possible second iteration, it could be used to facilitate type checking in calling sub-workflows. But here we are still limited by the lack of type annotations for workflow takes/emits as well as some problems with operators.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions