This Galaxy Project tool module contains three tools:
-
iBridges download from iRODS , a Galaxy tool for downloading files and folders from iRODS into a Galaxy collection. Takes paths to one or more files (dataobjects), one or more folders (collections), or a combination, and downloads all files into the same Galaxy collection.
-
iBridges upload to iRODS, a Galaxy Tool for uploading files or collections from Galaxy into an iRODS folder.
-
iBridges browser for iRODS , an Galaxy tool that allows users to browse through an iRODS instance to locate objects and collections, and select them for use in a Galaxy workflow. The tool launches as a Galaxy Interactive Tool, allowing the user to browse an iRODS instance through a separate web interface.
The tools are named for iBridges, the library used for interacting with iRODS.
The three tools are available in the Galaxy Toolshed as a single module called 'ibridges' (Toolshed link), and can be installed in a running Galaxy instance via Admin > Tool Management > Install and Uninstall (search for 'ibridges').
Currenly the tools work with only one iRODS instance per Galaxy installation.
Add the following to config/user_preferences_extra_conf.yml (create the file if it doesn't exist):
preferences:
irods_config:
description: Your iRODS account
inputs:
- name: username
label: Username
type: text
required: True
- name: password
label: Data Access Password
type: secret
required: True
- name: env
label: Config
required: True
type: textThis will create a section Your iRODS account with inputs for Username, Data Access Password, and Config in the Galaxy user profile, in which users can store their credentials for accessing the appropriate iRODS instance.
Please note: if you don't need the browse function, you can skip the changes to config/galaxy.yml and config/job.yml below.
The browse tool is an interactive tool (essentially a webserver communicating with the iRODS server, running in a Docker container). To enable the running of interactive tools, make sure the following settings are present in the galaxy and gravity sections of config/galaxy.yml (change my_galaxy_domain.com to the domain of the actual Galaxy server):
galaxy:
interactivetools_enable: true
outputs_to_working_directory: true
galaxy_infrastructure_url: http://my_galaxy_domain.com:8080
interactivetools_map: database/interactivetools_map.sqlite
interactivetools_upstream_proxy: false
interactivetools_proxy_host: localhost:4002
gravity:
gx_it_proxy:
enable: true
port: 4002For the running of interactive jobs, add the following to the config/job.yml file (create the file if it doesn't exist):
runners:
local:
load: galaxy.jobs.runners.local:LocalJobRunner
workers: 4
execution:
default: docker_dispatch
environments:
local:
runner: local
docker_local:
runner: local
docker_enabled: true
docker_set_user:
docker_dispatch:
runner: dynamic
type: docker_dispatch
docker_destination_id: docker_local
default_destination_id: localCopy the appropriate server configuration from the section Step 2. Configuring iCommands of the page 'Using iCommands for large datasets', and paste it as a string into the Config input for Your iRODS account (via main Galaxy menu: User > Preferences; link Manage Information). You can leave the iRODS username [email protected] as it is.
Make sure users using the tools have access to the iRODS instance specified in the iRODS environment Users must save their username (e-mail address) and Data Access Password in the appropriate inputs for Your iRODS account. Every time one of the tools needs to access iRODS, it automatically reads the credentials from the user's personal profile, and uses them to log in. Be aware that Data Access Passwords have a limited lifespan; if a DAP has expired, the tools will fail, and you will see an error message in the error output.
When running an interactive tool, the interactive tool-icon (three gears) will appear in the Galaxy main menu, to the right of User. Clicking the icon opens a screen listing the interactive tools that are running. This can also be reached using the option Active Interactive Tools in the User-item of the main menu. If the icon and the option in the User-menu aren't there, it means no interactive tools are running. If they appear briefly and then disappear, launching of the tool was unsuccesful.
Next, open the tool by clicking 'ibridges browser' in the Active Interactive Tools-list (if the link isn't clickable, the tool is still starting). A new tab will open with a simple web page listing the dataobjects and collections in the user's home folder for the iRODS instance. Navigate through the instance by clicking collections' names, and the links in the breadcrumb path.
To select a path as output for the module, navigate to the appropriate collection and click the 'select'-button. The interactive tool will terminate, signalling to Galaxy that exectution of the workflow can continue. The selected path will be available as the module output parameter 'iRODS path' (this will take a few seconds). Alternatively, you can also copy the path without quitting to your computer's clipboard by clicking 'copy'. To quit without selecting a path, click 'quit' or close the page; the value of the 'iRODS path' parameter will be None.
Please note that the tools' web page cannot close itself; close it by hand once you're done.
Galaxy iBridges browse uses a Docker container which runs in Galaxy's own Docker-environment. It can be pulled from Utrecht University's package registry, and is pulled automatically by Galaxy, from the specification in ibridges_browse.xml:
[...]
<requirements>
<container type="docker">ghcr.io/utrechtuniversity/ibridges_browse:0.1</container>
</requirements>
[...]If for some reason you want to build your own version of the container, the Dockerfile is available in the docker-src folder of this repo. Make sure to change the value in the 'container' element in ibridges_browse.xml to the appropriate value.
This project is licensed under the terms of the MIT License.