Ubuntu installation log
- The instructions below are a bit outdated. There is now a python-biskit debian package available which you can use instead of following section 3. See short installation instructions! However, the instructions below are still valid and there is no harm in using the fresh subversion checkout of the latest Biskit snapshot.
0. Setup server
We are starting with a fresh install of the Ubuntu 7.04 server edition (http://www.ubuntu.com/getubuntu/download) on a 32 bit x86 virtual machine. Create a user 'biskit' (or choose a sensible alternative).
1. Basic customization
sudo apt-get install ssh openssh-server zsh emacs21 subversion mc sudo apt-get install zip unzip sudo apt-get install xauth chsh # -> /usr/bin/zsh
Copy over zsh and emacs settings files, for example:
cd ~ wget http://biskit.pasteur.fr/install/mirror/zsh_emacs_settings.zip unzip zsh_emacs_settings.zip
Now it's more convenient to continue from a remote ssh shell (with running X11). Run 'ifconfig' on the fresh server, note the IP address and connect with ssh from outside.
2. Setup Biskit dependencies
sudo apt-get install gcc make autoconf libtool gawk sudo apt-get install python-dev python-numpy python-numeric sudo apt-get install python-scientific sudo apt-get install gnuplot plotutils libplot-dev
Build and install Biggles:
wget http://downloads.sourceforge.net/biggles/python2-biggles-1.6.5.tar.gz tar xvf python2-biggles-1.6.5.tar.gz cd python2-biggles-1.6.5 python setup.py build sudo python setup.py install
the Debian package python-biggles-1.6.4 still uses the old Numeric package and is not compatible with Biskit
Fetch and install Biopython:
sudo apt-get install python-biopython Note: The setup currently gives a (non-fatal) error due to a bug in dnal.py. Fix the problem:: sudo emacs /var/lib/python-support/python2.5/Bio/Wise/dnal.py --> move "from __future__ import division" into the first line of the file.
Install PVM and PVM libraries:
sudo apt-get install pvm pvm-dev xterm
Install pypvm python bindings (there is no Debian/Ubuntu package for those):
wget http://biskit.pasteur.fr/install/troubleshooting/pypvm_repackaged tar xvfz pypvm_repackaged cd pypvm-0.95x-repacked python setup.py build sudo python setup.py install
Configure PVM, make sure the following variables are defined in your .zshenv or .bashrc or equivalent:
# PVM setup export PVM_ROOT=/usr/lib/pvm3 export PVM_RSH=/usr/bin/ssh export PVM_ARCH=LINUX
(64bit users need to replace LINUX by LINUX64 -- check the output of pvmgetarch!)
As conclusion, let's do a basic test that all libraries are in place:
python >>> import numpy, Numeric, Scientific, pypvm, biggles, Bio
...Should not give any error. Now it's time to check out biskit! But before we do that, let's first make sure our system has all the latest patches and versions:
sudo aptitude upgrade
3. Fetch and install Biskit
Prepare a local python folder and check out Biskit:
cd ~ mkdir py cd py svn co https://biskit.svn.sourceforge.net/svnroot/biskit/trunk biskit ln -s ~/py/biskit/Biskit ~/py/
Adapt your $PYTHONPATH -- edit .zshenv (or .bashrc or equivalent):
python >>> import Biskit Warning (ignored): Could not find file with user-defined settings in /home/biskit/.biskit/settings.cfg Warning (ignored): Creating new user configuration file /home/biskit/.biskit/settings.cfg. Warning (ignored): Creating folder /home/biskit/.biskit for Biskit settings. >>>
Excellent! Now it's a good idea to also put the biskit scripts into the search path. Adapt your .zshenv (or .bashrc or equivalent):
BPath=~/py/biskit/scripts/ export PATH=$PATH:$BPath/Biskit:$BPath/Dock:$BPath/Mod
~> source ~/.zshenv ~> pdb2model.py Syntax: pdbs2model.py -i |file1 file2 ..| [-h |host| -c |chunk| -a -w -o |other_outFolder| -wat -s] ...
The tiny bis.py script is very useful to quickly load pickled (binary stored) Biskit objects. However, in this one case we needed to hard-code the path to python into the script and usually this one is somehow different. So let's edit the script and correct the first line:
sudo emacs `which bis.py`
Change '#!/usr/local/bin/python -i' to '#!/usr/bin/python -i'. Now test:
~> bis.py bis.py [pickled_object] Opens an interactive python prompt with all Biskit/* modules and Biskit.tools functions imported into the default namespace. A single argument can point to a pickled python object which is then unpickled and put into a variable x. >>>
Some of Biskit's parallized scripts need a temporary folder that is accessible from all nodes. The location of this folder is set in ~/.biskit/settings.cfg (tempDirShared) and is by default ~/tmp. Create such a folder or change the setting:
cd ~ mkdir tmp
Last, I prefer having a shortcut to biskit in my home:
ln -s ~/py/biskit ~/
That's it! The Biskit library is fully installed and you can start exploring it. What we are still missing are all the nice external helper applications. However, if you want to explore, compare, fit and manipulate structures, trajectories and complexes -- you can start right-away. None of the helper applications is required for the basic Biskit functionality.
4. Install helper applications
We are running out of Debian packages here... Let's start with SurfaceRacer (molecular surfaces and curvature), MSMS (the same but older), DSSP (secondary structure determination), and pymol for visualization.
SurfaceRacer: follow SurfaceRacer setup
DSSP: follow DSSP setup
MSMS: follow MSMS setup
Msms is redundant to the faster SurfaceRacer. But once we are at it...
Pymol, finally we have some nice Ubuntu package again:
sudo apt-get install pymol
Very useful is also the possibility to project conservation profiles into protein structures. For this to work, we need HMMER and the Pfam database. The biskit virtual machine comes without any databases, so you will need to install Pfam yourself.
sudo apt-get install hmmer
Pfam database (not pre-installed on vmbiskit): follow Pfam setup
Now let's install some energy-related programs:
Xplor-NIH: follow Xplor setup (involves registration)
FoldX: follow FoldX setup (involves registration)
Prosa2003: follow Prosa2003 setup (involves registration and sends license key)
As Ubuntu-user we also need to change the file /usr/local/lib/prosa2003/bin/prosa2003! See Prosa troubleshooting !
IcmBrowser: follow IcmBrowser setup
Note: Biskit only uses one tiny method from the large functionality of ICM (the calculation of CAD distance measures) -- use the IcmCad.py class as a template for your own ICM wrapper!
The non-graphical ubuntu server needs some extra libraries to run icmbrowser:
sudo apt-get install libstdc++5 libXrender1 libXrandr2 libXcursor1 libxft2
If you want to use the full Biskit docking pipeline (Biskit.Dock), you need Hex:
Last not least, let's install the programs needed by the homology modeling pipeline (Biskit.Mod). The homology modeling pipeline also depends on locally installed sequence databases -- as before with Pfam, these are not included in the vmbiskit virtual machine, you will need to download them after unpacking the machine or (better) mount a folder with databases via nfs.
Blast and related programs:
sudo apt-get install blast2
The debian package trails behind the current blast version. Follow Blast setup to install the current version from source.
Blast databases (not installed on vmbiskit): follow Blast setup
T-Coffee + Clustalw + SAP: follow T-Coffee setup
Note: Instaling T-Coffee (as well as Hex and xplor) as sudo creates configuration and cache folders (.t_coffee, hex_cache, .xplornih) in ~biskit that belong to user root, which causes some trouble later on. Fix the ownership:
cd ~biskit sudo chown -R biskit:biskit *
Modeller: follow Modeller setup (requires registration and sends license key)
That's it! We have now installed Biskit and almost all helper applications that it interfaces with. You may also consider installing the Amber simulation package. Biskit has several tools to work with Amber (a topology building wrapper of tleap, a script for automated set up of multiple parallel MDs, modules for entropy calculation using ptraj, modules to parse Amber trajectories). An academic license for Amber costs 400 USD. That's why we cannot pre-install it on the biskit virtual machine.
Let's make a full-blown Biskit test:
pvm cd biskit/Biskit python test.py -v 3 -e long
The first line starts the pvm client. We haven't configured any nodes though, so most of the pvm test cases will fail anyway. The -v 3 option switches on verbose reporting, so you will get some graphics windows popping up. '-e long' means exclude time-consuming tests. You can still expect some test failures for (1) programs that are not installed (whatif for example), (2) programs that miss their databases (hmmer, blast).
5. Prepare distribution of virtual machine
The following additional steps are needed before we can distribute the virtual machine snapshot:
edit /etc/motd.tail and adapt the disclaimer of the system
remove any registration-only software, at the moment these are:
- Xplor-NIH (unless downloaded through authenticated xplor-linked page)
- FoldX (unless downloaded through authenticated foldx-linked page)
empty /etc/iftab (otherwise the network is upset by a changing hardware ID)
empty /etc/udev/rules.d/70*net.rules (which does the same as iftab in Ubuntu 7.10)