nf-core / nf-core/modules

Add EDAM ontologies for input and output channels in `meta.yml`

Open
#5,831 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Nextflow
Stars
429
Forks
1.1k
Avg merge
1d 6h
Merged PRs (30d)
153

Description

The EDAM ontology (https://edamontology.org) is a well established set of of ontology keywords for use in bioinformatics.

It would be great to have EDAM identifiers associated with channel inputs and outputs, to have a rich identification of the type of data that they contain. This is more extensive than just filename, for example there are multiple ontologies for different flavours of .fasta files.

It should be possible to have multiple ontologies associated. We should also future-proof to allow multiple ontologies in the future. Example syntax:

tools:
  - mytool:
    - ontologies:
      - edam: http://edamontology.org/format_1929
      - edam: …

This addition should also come with CLI helper functionality to make it easy for developers to search for terms and select them via nf-core/tools.

Once #5830 is complete, we should be able to fetch tool EDAM ontologies to generate a shortlist to pick from.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the repository's meta.yml format and the existing nf-core/tools CLI entry points. Review the EDAM ontology at https://edamontology.org and issue #5830 to understand how tool ontologies can provide a shortlist. Done means channel inputs and outputs can hold multiple EDAM identifiers, and the CLI can search for and select terms.

Written by the indexing model from the issue text.

Assessment

Tech stack
yaml
Domain
cli, developer-experience
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.