Installing tools and workflows¶
This playbook includes the ansible-galaxy-tools role which can be used to install tools and workflows into galaxy instances using the bioblend API.
Importantly, in the latest GalaxyKickStart version (v20.05), tool installation is performed
using a separate run of ansible-playbook, typically:
# these steps have should have already been performed
# ansible-galaxy install -r requirements_roles.yml -p roles/
# ansible-playbook -i inventory_files/galaxy-kickstart galaxy.yml
ansible-playbook -i inventory_files/galaxy-kickstart galaxy_tool_install.yml
Note that this is during the galaxy_tool_install.yml ansible play that a Galaxy admin user account is created with the credentials admin@galaxy.org:artbio2020
Creating a tool_list.yml file¶
Before running the galaxy_tool_install.yml playbook script as shown above, you need to
prepare a tool_list.yml file with a list of tools in yaml format and with the following
example content:
tools:
- name: blast_to_scaffold
owner: drosofff
revisions:
tool_panel_section_label: Metavisitor
tool_shed_url: https://toolshed.g2.bx.psu.edu/
- name: blastx_to_scaffold
owner: drosofff
revisions:
tool_panel_section_label: Metavisitor
tool_shed_url: https://toolshed.g2.bx.psu.edu/
- name: bowtie2
owner: devteam
revisions:
- 019c2a81547a
tool_panel_section_label: Metavisitor
tool_shed_url: https://toolshed.g2.bx.psu.edu/
If the revisions key is empty, the latest available in the Galaxy toolshed revision will
be installed.
The tool_panel_section_label key sets the tool panel section where the tools will show up
in the Galaxy tool bar.
Another example of a a tool list can be found in here
Obtaining a tool_list.yml file from a running Galaxy server¶
You can also retrieve the list of tools running in a specific Galaxy instance using the
ephemeris script workflow-to-tools.
- First Install ephememeris using pip
pip install ephemeris - This will bring several scripts in your pip environment:
run-data-managers --help shed-tools install --help shed-tools update --help workflow-install --help setup-data-libraries --help get-tool-list --help workflow-to-tools --help - Use the ephemeris
get-tool-listto retrieve a yml list of tools installed in the Galaxy server using the command:get-tool-list -g https://usegalaxy.org -u <main galaxy username> -p <user password> --get_data_managers -o main_tools_list.yml
Obtaining a tool_list.yml file from a workflow.ga galaxy file.¶
You can also retrieve a list of tools used in one or more workflow galaxy files (.ga extension).
These .ga files can be obtain from Galaxy server instances (menu "download workflow file") or other repositories
- Use the ephemeris
workflow-to-toolsto retrieve a yml list of tools using the command:workflow-to-tools -w <Galaxy-Workflow-File.ga> -l <menu_label> -o <tool_list.yml>
Adding a tool_list.yml file to a group_variable files¶
Group variable files are in the group_vars directory.
If you would like to install tools, you need to reference the tool_list.yml in the group variable file.
We typically place additional files in the extra-files/<hostname>/<hostname>_tool_list.yml file.
For instance, if you would like to add tools to a group that is called metavisitor,
edit group_vars/metavisitor and add these lines:
install_tools: true
galaxy_tools_tool_list: "extra-files/metavisitor/metavisitor_tool_list.yml"
Installing workflows¶
You can also add workflows in the Galaxy server modified by playbook script galaxy_tool_install.yml.
As with tools, place the workflows in extra-files/<hostname>/<hostname><workflow_name>.ga
and add these lines to the corresponding group_var file:
galaxy_tools_install_workflows: true
galaxy_tools_workflows:
- "extra-files/metavisitor/my_workflow_1.ga"
- "extra-files/metavisitor/my_workflow_2.ga"
- "extra-files/metavisitor/my_workflow_3.ga"
Running the playbook¶
As mentioned earlier, after these preparation steps, you can run the playbook script
galaxy_tool_install.yml with an inventory file that maps your target machine to the
metavisitor group (in this example).
If the target is localhost, your inventory file should look like this:
[metavisitor]
localhost
then run the playbook like so:
ansible-playbook -i inventory_files/galaxy-kickstart galaxy_tool_install.yml