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.
yamlfiles contain the names of Tool Shed tools/repositories to install and are manually curatedyaml.lockfiles 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.txtto install dependencies needed for themaketargets - 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>.ymlsettingtool_panel_section_labelfrom 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 addagain
- Fix any issue that may arise and
- Commit
{server_name}/<repo>.yaml{.lock} - Create a PR against the
masterbranch 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.xmlIn your destination you should set:
<param id="singularity_enabled">true</param>
<param id="singularity_volumes">$defaults</param>