galaxyproject / galaxyproject/usegalaxy-tools
Installing tools into matching sections
- 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