NBIC Galaxy Server: Maintenance Guideline
A monthly maintenance is scheduled on first Monday afternoon of each month. Prior to each maintenance, the collected update requests from previous month are discussed within the maintenance team in the form of email or skype call. If a decision is made to update the Galaxy server, pipelines, tools and libraries, the actual update will be executed by a dedicate team member.
- Pieter will monitor the release notes and bug reports of Proteomics tools and Galaxy
- Leon will monitor the release notes and bug reports of NGS tools
- Jeroen will coordinate the maintenance task and perform the update
- David will maintain the virtual machine package and assist Jeroen
Galaxy at Penn State is updated very frequently. However we will not push ourselves to follow their pace. We will only update the server if:
- there is a new feature we want to have on the NBIC Galaxy server
- there is known bugs or security breach in our current version
To install a new version of Galaxy from Penn State, here are the steps we should follow as a maintenance team member. Jeroen is planning to automate the entire procedure.
- log into galaxy.nbic.nl with your account. You only need a "devs" account to do all the following. Never use root!
- go to the directory of /nbic/prog
- Check out the latest code from Penn State: hg clone http://www.bx.psu.edu/hg/galaxy galaxy-<year>-<month>-<date>
- Install the new galaxy
- cd /nbic/prog/galaxy-<year>-<month>-<date>
- sh setup.sh
- Copy the following customized interface files from the corresponding location of the previous galaxy installation.
- Link NBIC Galaxy module repository
- cd /nbic/prog/galaxy-<year>-<month>-<date>/tools
- ln -s /nbic/prog/nbic_gmr nbic_gmr
- Configure tool location files and other tool-data files
- cd /nbic/prog/galaxy-<year>-<month>-<date>/tool-data
- you need to copy the following files/directories from the corresponding location of the previous galaxy installation. This list will grow when more tools are added and customized
- Configure universe_wsgi.ini, tool_conf.xml, datatype_conf.xml to include useful NBIC customization. You can do this by running a diff program to compare with the same file of the previous galaxy installation
- Update the Galaxy symbolic link
- rm /nbic/prog/galaxy
- ln -s /nbic/prog/galaxy-<year>-<month>-<date> /nbic/prog/galaxy
- Restart Galaxy server
- /etc/init.d/galaxy restart (to run this, you need to be root but "runuser" command makes sure that Galaxy instance will be run with the user account of "nbic")
- Sometimes, you are required to upgrade the database schema. Do backup the galaxy DB before you run the upgrade script.
The pipelines provided by NBIC Galaxy server should be of interest for a large number of users. Thus:
- We will take into simple but useful pipelines
- We will NOT take into fancy pipeline that only address one's individual problem.
At the moment, we request the developer to upload their pipeline to https://trac.nbic.nl/galaxytools/ and provide a README file to explain its installation.
Here are the steps:
- Log into galaxy.nbic.nl with your account. You only need a "devs" account to do all the following. Never use root!
- Go to the directory of /nbic/prog/nbic_gmr and check out the requested pipeline code.
- Update "tool_conf.xml" accordingly.
To guarantee a certain life span of each pipeline (which could be useful for users if they want to replicate their data analysis), we will support each version of every tool and library for at least 1 year. This implies all the tools supported at NBIC Galaxy should be labeled with their version explicitly and be called with the explicit version number by pipelines.
A list of tools installed at the NBIC Galaxy server can be found at NBIC Galaxy Server: Current Tools
- General Linux tools/libraries should be installed in standard Linux directories, e.g. /usr/, /usr/local/, etc.
- Specific data analysis tools should be installed in NBIC tool directory, e.g. /nbic/prog/lib, /nbic/prog/share.
- Reference genomes data files should be installed at: /nbic/data/Genomes/
Creating new user accounts
To keep the server safe it is important to have a policy on the user accounts.
- Create a new user with the following command (replace group1,group2 and user with the correct values of course, if no special group memberships are necessary, you can omit the -G ...)
useradd -c 'Comment describing the user' -G group1,group2 user
- Always use a strong password on user accounts (8 or more characters and use letters, numbers and specials). Set the initial password with
- When you create an account and have to e-mail the password to the user enforce a password change on first use with the following command:
chage -d 0 user
- When you are giving temporary access to someone create an account that will expire at a certain date with the following command:
chage -E YYYY-MM-DD user
- make sure the user is member of the right groups. Users who need to have access to galaxy need to be in the devs group, but only give group membership if it is really necessary. Anyone who is member of the devs group can potentially break stuff...
- To change the group memberships later on you can use the following command:
usermod -a -G devs user