Skip to content

How to add a new tool

Kjetil Klepper edited this page Nov 11, 2021 · 4 revisions

New tools can be added either through the Galaxy admin interface, or through a GitHub repo.

Add tools using Galaxy

Described here: https://galaxyproject.org/admin/tools/add-tool-from-toolshed-tutorial/#open-the-tool-shed

Tools added using the Galaxy admin interface will only be installed on the server you are logged on to.

Add tools using GitHub

A list of the tools installed on usegalaxy.no and test.usegalaxy.no are automatically archived on GitHub once per week: https://github.com/usegalaxy-no/usegalaxy-no-tools

This GitHub repo also contains the functionality (by using GitHub Actions) to add tools back to Galaxy.

How to add new tools:

  • Fork the repo
  • Create a new file in the requests folder, with the file extension .yml (i.e. new-tools.yml) with the following content:
tools:
  - name: <tool name>
    owner: <tool owner>
    tool_panel_section_label: <Tool section label existing on usegalaxy.no>
    tool_shed_url: # optional: omit this line to use default 'toolshed.g2.bx.psu.edu'
    revisions: # optional: omit this section to use default latest available revision
      - revision_hash_1
      - revision_hash_2

Here is an example:

  - name: vcftools_merge
     owner: devteam
     tool_panel_selection_label: Variant Calling
  • Make a pull request with your new file, and wait for a maintainer to approve it.
  • After approval, a GitHub Actions job will first try to install the tool on test.usegalaxy.no. If successful, the tool will also be installed on usegalaxy.no.

This means random users can request tools (a good thing!), by submitting a pull request.

Adding tools that are not in a tool shed

If the tool you want to add can not be found in either the Main Tool Shed or NeLS Tool Shed, you must create a new tool wrapper yourself (or obtain it from a different tool shed). Then you can add that tool to the NeLS Tool Shed and install it from there. Alternatively, if the tool is already available from a third-party tool shed, you can add that tool shed to the tool_sheds_conf.xml configuration file and rerun the playbook.