galaxyproject / galaxy

Data intensive science for everyone.
https://galaxyproject.org
Other
1.37k stars 992 forks source link

Enhancement: EDAM ontology tools view improvements #16453

Open neoformit opened 1 year ago

neoformit commented 1 year ago

With @hechth @bgruening The EDAM ontology tools view is a great concept but would be much more useful if the following were addressed:

  1. Text-searchable ontologies. Currently I have to scroll through a long list until I see an ontology that appeals to my analysis
  2. Tree-view for ontologies. Why are we displaying hierarchically ordered data in flat lists?
  3. Better ontology annotation coverage across tool wrappers (outside the scope of this issue)
  4. More comprehensive ontologies, particularly in emerging fields such as proteomics and metabolomics (also outside the scope of this issue).

I think 2) should be solved by opening an ontology tree in the main panel, as the new advanced search does. This could include some filters or a search box to find relevant ontologies quickly.

A common complaint of Galaxy users is that the service is bloated with tools. I think features like this are critical to making the service navigable and approachable for users.

image

mvdbeek commented 1 year ago

2. Why are we displaying hierarchically ordered data in flat lists?

because it was the easiest way to get started and it mirrored the original too panel. That doesn't mean it needs to stay that way.

I think for the tree view you'll want to split up the tool data from the "panel data" and link them together through the tool id.

So instead of this big blob of json (with things we don't even consume anymore ...):

            {
                "model_class": "Tool",
                "id": "toolshed.g2.bx.psu.edu/repos/iuc/ncbi_acc_download/ncbi_acc_download/0.2.8+galaxy0",
                "name": "NCBI Accession Download",
                "version": "0.2.8+galaxy0",
                "description": "Download sequences from GenBank/RefSeq by accession through the NCBI ENTREZ API",
                "labels": [],
                "edam_operations": [],
                "edam_topics": [],
                "hidden": "",
                "is_workflow_compatible": true,
                "xrefs": [
                    {
                        "value": "ncbi_resources",
                        "reftype": "bio.tools"
                    }
                ],
                "tool_shed_repository": {
                    "name": "ncbi_acc_download",
                    "owner": "iuc",
                    "changeset_revision": "e063168e0a81",
                    "tool_shed": "toolshed.g2.bx.psu.edu"
                },
                "config_file": "/cvmfs/main.galaxyproject.org/shed_tools/toolshed.g2.bx.psu.edu/repos/iuc/ncbi_acc_download/e063168e0a81/ncbi_acc_download/ncbi_acc_download.xml",
                "link": "/tool_runner?tool_id=toolshed.g2.bx.psu.edu%2Frepos%2Fiuc%2Fncbi_acc_download%2Fncbi_acc_download%2F0.2.8%2Bgalaxy0",
                "min_width": -1,
                "target": "galaxy_main",
                "panel_section_id": "get_data",
                "panel_section_name": "Get Data",
                "form_style": "regular"
            },

you'd return 2 data structures, one with visible tools, e.g

"tools": {
  "toolshed.g2.bx.psu.edu/repos/iuc/ncbi_acc_download/ncbi_acc_download/0.2.8+galaxy0":
    "name": ...,
    "version": ...,
    "description": ...,
}

one with the various mappings:

"default_panel_view": {
  "get_data": {
    "section_name": "Get Data",
    "tools": [
       "toolshed.g2.bx.psu.edu/repos/iuc/ncbi_acc_download/ncbi_acc_download/0.2.8+galaxy0",
       "__FETCH_DATA__",
       ...
    ]
  }
  ...,
}

I think @ahmedhamidawan was interested in working on this particular aspect.

ahmedhamidawan commented 1 year ago

Thanks for setting this up @neoformit and thanks for detailing the structure @mvdbeek !!

So, for the tree view, is this the tree we are referring to?: image

which is for the Sequence Alignment ontology here: image

If so, is this the general idea we are going for (corresponding to the Sequence Alignment ontology for e.g., with the graph above in mind):

Before After
image image

Obviously, we could try out way better ways to implement this in terms of the UI, I'm just trying to understand if this is what we mean by the tree view here?

neoformit commented 1 year ago

Yes, that's what we meant by tree view thank you both for the details. Happy to chat if you want to brainstorm on this! Awesome you're already working on something, is there another issue we can link to for this?

ahmedhamidawan commented 1 year ago

Yes, that's what we meant by tree view thank you both for the details. Happy to chat if you want to brainstorm on this! Awesome you're already working on something, is there another issue we can link to for this?

A discussion would be great! Yes, there is an issue for refactoring the toolbox structure: https://github.com/galaxyproject/galaxy/issues/16101, although needs to be updated with what Marius described above.

neoformit commented 1 year ago

Ok feel free to link that info to your issue and close this one. I think your approach looks good - your drilldown UI looks like it would represent the tree structure quite concisely in the side panel.

ahmedhamidawan commented 1 year ago

Ok feel free to link that info to your issue and close this one. I think your approach looks good - your drilldown UI looks like it would represent the tree structure quite concisely in the side panel.

Sounds good, maybe we can keep this one instead or keep both and then the PR will link both of them; as this one pertains more to the EDAM structure specifically, and the other one relates to the whole structure