This repository maintains the toolset for the https://usegalaxy.org Galaxy instance. Using this anyone can request installation of a new tool. Additionally this repository can be used to outfit your own Galaxy with the same toolset.
yaml
files contain the names of Tool Shed tools/repositories to install and are manually curatedyaml.lock
files are automatically generated and contain the list of revisions (read "tool versions") to include- All tools are automatically updated with the latest version periodically
- Use the provided
requirements.txt
to install dependencies needed for themake
targets - The terms "tools" and "repositories" are used interchangeably in this readme. There is a difference, but it is not needed to be understood for using these scripts.
Anyone can request tool installation on usegalaxy.org or test.galaxyproject.org.
In the commands below fill the {server_name}
as appropriate (usegalaxy.org, test.galaxyproject.org)
- Fork and clone usegalaxy-tools
- Create/activate a virtualenv and install Python requirements with
pip install -r requirements.txt
- If this is a new a section without an existing yml file create a new one:
- Determine the desired section label
- Normalize the section label to an ID/filename with this process
- Create
{server_name}/<section_id>.yml
settingtool_panel_section_label
from the section label obtained in previous step (see existing yml files for the exact syntax) - Continue with the steps below
- Add the entry for the new tool to the section yml (only the yml, not the yml.lock) example
- You either want the latest or a specific version
- For latest version (most common case):
- Run
$ make TOOLSET={server_name} fix
(this will fill the yml.lock )
- Run
- For a specific version (rare case):
- Run
$ make TOOLSET={server_name} fix-no-deps
- Edit the .yaml.lock to correct the version number.
- Run
- For latest version (most common case):
- Then
$ git add <file>
only the updates that you care about. - Run
make TOOLSET={server_name} lint
- Fix any issue that may arise and
git add
again
- Fix any issue that may arise and
- Commit
{server_name}/<repo>.yaml{.lock}
- Create a PR against the
master
branch of usegalaxy-tools- Use PR labels as appropriate
- To aid PR mergers, you can include information on tools in the repo's use of
$GALAXY_SLOTS
, or even PR any needed update(s) to Main's job_conf.xml as explained in the "Determine tool requirements" section once the test installation (via Travis) succeeds (see details below)
- Once the PR is merged and the tool appears on usegalaxy.org or test.galaxyproject.org, test to ensure the tool works.
Add the following dependency resolver:
<conda prefix="/cvmfs/sandbox.galaxyproject.org/dependencies/conda" auto_install="False" auto_init="False" />
preferably above your existing conda dependency resolver (you will need to set conda_auto_install: false
in your galaxy.yml
).
And add the new shed tool conf:
tool_config_file: ...,/cvmfs/sandbox.galaxyproject.org/config/shed_tool_conf.xml
In your destination you should set:
<param id="singularity_enabled">true</param>
<param id="singularity_volumes">$defaults</param>