Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

POC: module yaml restructure #2789

Draft
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

ewels
Copy link
Member

@ewels ewels commented Feb 23, 2024

Proof of concept showing minor change to the parsing of module processes, to correctly capture structure of inputs. Currently just dumps a hypothetical YAML string to the console when running linting, eg:

nf-core modules lint affy/justrma
input:
- - meta:
      type: val
  - samplesheet:
      type: path
  - celfiles_dir:
      type: path
- - meta2:
      type: val
  - description:
      type: path

Just a starting point. If we want to fix all module metas, needs a lot more work:

  • Change how meta.yml is built when creating a new module from the template
  • Update the linting code to expect this structure when checking existing modules
  • Do all of the above for output as well as input
  • Find and fix all the edge cases
  • Update the website documentation pages to understand this format
  • Update the developer docs
  • Check where else meta.yml is used and update accordingly
  • Somehow try to migrate all 1k modules to the new format, without losing custom data added by hand 😰
    • Note that even though the structure is different, the named keys should be the same. So hopefully can automate.

Related / would fix:

@ewels ewels added the WIP Work in progress label Feb 23, 2024
@ewels ewels requested a review from mashehu February 23, 2024 08:44
@ewels ewels changed the base branch from master to dev February 23, 2024 08:44
@nf-core nf-core deleted a comment from github-actions bot Feb 23, 2024
@ewels ewels marked this pull request as draft February 25, 2024 18:39
@ewels
Copy link
Member Author

ewels commented Feb 25, 2024

Created an issue to track this in the modules repo: nf-core/modules#4983

@pditommaso
Copy link

Good timing! we need to discuss about this, meta.yml is becoming essential to unlock multiple critical features (types checking, output schema, generative workflows), I think we need to promote it as a nextflow "standard"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
WIP Work in progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants