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

Add new modules subcommand "update-meta-yml" #1555

Closed
mahesh-panchal opened this issue May 9, 2022 · 4 comments
Closed

Add new modules subcommand "update-meta-yml" #1555

mahesh-panchal opened this issue May 9, 2022 · 4 comments

Comments

@mahesh-panchal
Copy link
Member

mahesh-panchal commented May 9, 2022

Description of feature

The meta.yml is currently updated manually, but the input and output fields could be auto-generated from the main.nf in the same directory.

For example

    input:
    tuple val(meta), path('tmp_input/*')
    each lineage                          
    path busco_lineages_path
    path config_file

    output:
    tuple val(meta), path("*-busco.batch_summary.txt"), emit: batch_summary
    tuple val(meta), path("short_summary.*.txt")      , emit: short_summaries_txt, optional: true
    tuple val(meta), path("short_summary.*.json")     , emit: short_summaries_json, optional: true
    tuple val(meta), path("*-busco")                  , emit: busco_dir
    path "versions.yml"                               , emit: versions

could be turned into output like:

input:
  - meta:
      type: map
      description: |
        Groovy Map containing sample information
        e.g. [ id:'test', single_end:false ]
  - placeholder1: # TODO provide a suitable variable name for this placeholder 'tmp_input/*'
      type: file
      description: "# TODO add description"
  - lineage:
      type: string
      description: "# TODO add description"
  - busco_lineages_path:
      type: file
      description: "# TODO add description"
  - config_file:
      type: file
      description: "# TODO add description"

output:
  - meta:
      type: map
      description: |
        Groovy Map containing sample information
        e.g. [ id:'test', single_end:false ]
  - batch_summary:
      type: file
      description: "# TODO add description"
      pattern: "*-busco.batch_summary.txt"
  - short_summaries_txt:
      type: file
      description: "# TODO add description"
      pattern: "short_summary.*.txt"
  - short_summaries_json:
      type: file
      description: "# TODO add description"
      pattern: "short_summary.*.json"
  - busco_dir:
      type: file
      description: "# TODO add description"
      pattern: "*-busco"
  - versions:
      type: file
      description: File containing software versions
      pattern: "versions.yml"
@ewels
Copy link
Member

ewels commented Jun 19, 2024

Related: #3011

@ewels
Copy link
Member

ewels commented Jun 19, 2024

Personally I prefer nf-core modules lint --fix rather than a new subcommand. See #2789 (comment)

@mahesh-panchal
Copy link
Member Author

I forgot I even made this. Yes, --fix is a good solution.

@mirpedrol
Copy link
Member

done, we now have nf-core modules lint --fix

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

3 participants