repository: version controlled directory of files
Tool Shed: repository for tools used by Galaxy
Main Tool Shed
suite: a single repository that 'depends' on many others
data managers: allows for the creation of built-in (reference) data
data library
galaxy.yml: main configuration file
MVC: Model view controller
WSGI: Web server gateway interface
API: Application programming interface
ORM: Object relational mapping
GIL: Global Interpreter Lock; prevents multiple Python threads from running at once
LDAP: Lightweight Directory Access Protocol
DRMAA: Distributed Resource Management Application API
Job handler: (JobHandler) watches the job and transitions job's state - common startup and finishing.
Job mapper: (JobRunnerMapper) decides the "destination" for a job.
Job runner (e.g. DrammaJobRunner) actual runs the job and provides an interface for checking status.
Object Store
ssh: how you've been connecting to the server all week
Destinations: how jobs should be run
Handlers: Define which job handler (Galaxy server) processes should handle a job
- SQLite: Default database format used by Galaxy, data is stored in a single file.
- PostgreSQL: Database format suggested for large-scale & production usage.
- Exercise: Connecting Galaxy to PostgreSQL
- uWSGI: Web/application/WSGI server.
- nginx: Web server (recommended).
- Exercise: nginx as a Reverse Proxy for Galaxy
- Apache: Web server.
- Exercise: Apache as a Reverse Proxy for Galaxy
- Ansible: Automation tool for configuring and managing computers.
- Playbook > Plays > Roles > Tasks
- Exercise: Introduction to Ansible
- Exercise: Setup a production Galaxy with Ansible
- SQLAlchemy: Database abstraction layer, allows for different databases to be plugged in.
- pip: Package manager for Python
- conda: Multi-language package manager
- virtualenv: Python virtual environment. Isolates project dependencies, stores packages in a folder often called
venv
or similar - paste: Basic Python based web-server.
- ProFTPD: FTP server
- Exercise: Configuring FTP
- SMTP: Simple Mail Transfer Protocol, lets Galaxy send emails to users.
- OpenID: User account platform
- Planemo: Program to help wrap tools for Galaxy
- Exercise: Tool Wrapping with Planemo
- CloudMan: A web application which manages a Galaxy cluster in the cloud.
- CloudLaunch: A web application to make it wasy to launch images on a cloud, drives, etc.
- https://launch.usegalaxy.org
- Pulsar: Distributed job execution engine for Galaxy.
- mako: Template library
- Nagios: General purpose tool for monitoring systems and services
- Running Galaxy in a production environment
- systemd: Linux system and service manager
- Supervisor: A process manager written in Python;
supervisorctl
- Exercise: Managing Multiprocess Galaxy with Supervisor
- Kerberos: a network authentication protocol
- PAM stack: Pluggable Authentication Modules
- Exercise: PAM Authentication in Galaxy
- Slurm: Cluster workload manager
- Exercise: Running Galaxy Jobs with Slurm
https://galaxy.ansible.com/galaxyprojectdotorg/
https://galaxy.ansible.com/natefoo/postgresql_objects/
http://localhost:8080/api/version
http://localhost:8080/
http://127.0.0.1:8080
http://localhost:8080/datasets/f2db41e1fa331b3e/display?to_ext=txt
default SQLite sqlite:///./database/universe.sqlite?isolation_level=IMMEDIATE
local PostgreSQL postgres://:@localhost:5432/galaxy
production example postgresql:///galaxy?host=/var/run/postgresql
# default SQLite database file
database/universe.sqlite
# main Galaxy config file
server/galaxy.yml
server/contrib/galaxy_supervisor.conf
# page displayed at the Galaxy home screen
server/static/welcome.html.sample
# script that starts Galaxy
server/run.sh
# list of available tool sheds
tool_sheds_conf.xml
# tools to be added to side panel in Galaxy
tool_conf.xml.sample
# manages tool panel appearance
integrated_tool_panel.xml
# resolves dependencies
dependency_resolvers_conf.xml
config/tool_data_table_conf.xml.sample
config/tool_destinations.yml
config/job_resource_params_conf.xml
# OpenID config file
config/openid_conf.xml.sample
# log into a remote server with port forwarding
$ ssh -L 8080:localhost:8080 username@server.edu
# -L local_socket:host:hostport
# get a specific version of Galaxy
$ git clone -b release_16.07 https://github.com/galaxyproject/galaxy.git
# start the server
sh run.sh --stop-daemon
sh run.sh --daemon
sh ./run.sh --pid-file=paster.pid --log-file=paster.log --daemon
tail -f paster.log
# install a program to the system
sudo apt-get install seqtk
# upgrade your Galaxy release
$ git checkout release_YY.MM && git pull --ff-only origin release_YY.MM
# compare your configurations with the default
diff -u galaxy.yml galaxy.yml.sample
# upgrade your database
$ sh manage_db.sh upgrade
# save changes made to a local Galaxy
$ git stash && git checkout ... && git pull ... && git stash pop
# un-tar a file
tar -xvf files.tgz
# Notify supervisor of changes
$ sudo supervisorctl update
# check supervisor process status
$ sudo supervisorctl status
# restart all processes
$ sudo supervisorctl restart all
# restart Galaxy process only
$ sudo supervisorctl restart gx:galaxy
# switch to Galaxy user
$ sudo -H -u galaxy -s
https://github.com/galaxyproject/galaxy.git
https://github.com/bgruening/docker-galaxy-stable
https://github.com/galaxyproject/tools-iuc
https://github.com/galaxyproject/starforge
https://github.com/galaxyproject/planemo
https://github.com/galaxyproject/planemo-machine
https://github.com/galaxyproject/bioblend
https://github.com/galaxyproject/ansible-galaxy
Official Toolshed
Gitter: Training course messaging platform
Main public Galaxy website
https://launch.usegalaxy.org/launch
Documentation for Galaxy
Tool installation automation
Galaxy Admin Wiki
Biostars Galaxy
Wiki: Support
IRC: #galaxyproject on Freenode
galaxy-dev Mailing list
Contribution guidelines
IRC: irc.freenode.net#galaxyproject
GitHub: github.com/galaxyproject
Twitter:: #usegalaxy, @galaxyproject