galaxyproject / galaxyproject/usegalaxy-tools

Installing tools into matching sections

Open
#9 12 comments 0 reactions 0 assignees View on GitHub
bug site/*
Dominant language
Shell
Stars
22
Forks
70
Avg merge
1d 3h
Merged PRs (30d)
25

Description

Back in February 2019 when the usegalaxy.* team were hacking together for a week we all converted our tool panels to use the same section *names*. Unfortunately, it turns out, the tool installation process doesn't exactly work that way.

It looks like `tool_panel_section_label` in an Ephemeris tool yaml becomes `new_tool_panel_section_label` in the [API](https://github.com/galaxyproject/galaxy/blob/1279a2074c566564bf8b9ad90883b2e044adec57/lib/galaxy/webapps/galaxy/api/tool_shed_repositories.py#L407) request. Through [a series](https://github.com/galaxyproject/galaxy/blob/1279a2074c566564bf8b9ad90883b2e044adec57/lib/galaxy/webapps/galaxy/api/tool_shed_repositories.py#L459) [of levels](https://github.com/galaxyproject/galaxy/blob/1279a2074c566564bf8b9ad90883b2e044adec57/lib/tool_shed/galaxy_install/install_manager.py#L652) ~~it turns out that instead of searching the toolbox by name/label, the label is [converted to an ID](https://github.com/galaxyproject/galaxy/blob/1279a2074c566564bf8b9ad90883b2e044adec57/lib/tool_shed/galaxy_install/tools/tool_panel_manager.py#L324) with `.lower().replace(' ', '_')` and searches for that ID. If there's no match for that ID, a new section is created.

In #8 I expected that by passing the name of an existing section (`ChIP-seq`), it would be installed in to the existing section (which happens to have ID `chip_seq`). Instead, the install code searched for `chip-seq` and, not finding it, created a new section with the same name/label but with ID `chip-seq`.

This means that for usegalaxy.* common tools we need to:
1. use identical section IDs, or
2. fix Galaxy to find sections by name/label if an ID is not provided

IMO the best fix in the short term is to use identical section IDs, but that's maybe a little less flexible and requires looking in a shed_tool_conf.xml any time a new tool is added, rather than just looking at the tool panel in Galaxy.

ping @galaxyproject/universe-admins

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the linked Galaxy API and installation files: tool_shed_repositories.py, install_manager.py, and tool_panel_manager.py, then review issue #8 and the comment thread. The scope is to choose between matching existing section IDs in tool configurations and changing Galaxy's lookup behavior; done means installations no longer create duplicate sections.

Written by the indexing model from the issue text.

Assessment

Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.