Galaxy sample tracking can be used to transfer datasets from a sequencer data storage to Galaxy data libraries. This page describes the steps to setup the data transfer functionality.
Prerequisite: Data transfer feature in sample tracking requires RabbitMQ AMQP implementation installed and accessible to the Galaxy server. Click here for instructions on how to setup RabbitMQ to work with Galaxy.
1. Open the Galaxy config file (universe_wsgi.ini) and set the following options:
enable_api = True
admin_users = email@example.com
library_import_dir = /path/to/some/directory
2. Open run_galaxy_listener.sh file in the Galaxy root directory. Make sure that config_file and http-server-section values are set correctly.
python scripts/galaxy_messaging/server/amqp_consumer.py --config-file=GALAXY_CONFIG_FILENAME --http-server-section=HTTP_SERVER_SECTION_NAME 2>&
config-file is the Galaxy config file name (universe_wsgi.ini). http-server-section is the Galaxy config file section name which describes the http server configuration. In the following config file excerpt, http-server-section is 'server:main'. If you are running multiple web servers, then pick any one of the
use = egg:Paste#http
#port = 8080
#host = 127.0.0.1
3. Start the Galaxy AMQP listener script.
$ nohup sh run_galaxy_listener.sh &
This script listens to any data transfer messages received through RabbitMQ and starts another process to transfer the datasets. You can monitor its activity in galaxy_listener.log and the data_transfer.log. If all goes well, galaxy_listener.log will have the message 'GalaxyAMQP - Connected to rabbitmq server' once it successfully connects with the RabbitMQ server.
4. Start Galaxy
$ sh run.sh
5. Log in as the admin user set in step 1.
6. Click on the 'API Keys' menu item in the 'User' menu. Generate a new API key.
Now you are ready to use sample tracking to transfer datasets.