Back to: ← Installing the code components

Non-Ensembl Applications Build/Install

Ensembl is built on the following applications:

These applications are not version-specific for Ensembl; that is, if you upgrade your Ensembl installation to a newer version when one becomes available, you probably won't need to install new versions of these applications.

All of this software, like all of Ensembl, is Open Source software and can be downloaded and used free of charge. You should, however, check the documentation for each application to see what license it has been released under, particularly if you are installing Ensembl in a commercial environment.

The following instructions assume you have root access to the installation machine. If you do not, get your systems administrator to install this software for you.

You may have some or all of this software installed already. If you have any problems getting the site running with pre-installed software (in particular Apache with mod_perl installed from RPMs), we recommend simply installing the latest version using the following instructions.

CVS

CVS is a software version control system that we use for storing the source code to Ensembl. You will need CVS installed if you want to download the Ensembl source code. It will also help you keep up to date with any bug fixes. We also have a Web-based CVS repository.

To install CVS:

  1. Download the latest source from http://ftp.gnu.org/non-gnu/cvs/source/stable/1.11.23/ (you may be able to download binaries from here instead if you prefer). At the time of writing this is version 1.11.23 and the file to download is cvs-1.11.23.tar.gz
  2. Unpack the source in a working directory with:
      gunzip < cvs-1.11.23.tar.gz | tar xvf -
      cd cvs-1.11.23
      ./configure
      make
      make install

Perl

If you are on a Unix-based OS such as Mac OS X or Linux, you will already have Perl installed. You need Perl5, version 5.8.0 or higher, to run the website - we recommend avoiding 5.10.0 as it contains major bugs.

To see if you have Perl installed, and/or to check its version number, type:

perl -v

If you don't have Perl installed, or need to upgrade, go to www.cpan.org/ and choose the 'source code' install. Follow the installation instructions on the web site.

SQLite

MySQL

MySQL is a very popular Open Source relational database system. The easiest way to install MySQL is to use the pre-compiled binaries from http://dev.mysql.com. You can also get source from http://dev.mysql.com if you wish to compile MySQL yourself.

To install MySQL:

  1. Download the appropriate standard binaries from http://dev.mysql.com/downloads/mysql. Get the current stable version - at the time of writing, this is 5.0.51.
  2. Create a directory for MySQL to be installed into. A subdirectory of this will hold the databases, so choose somewhere that has sufficient space free - at least 600 GB for the complete set. We will use /data/ as an example. Again, when following these instructions, replace /data/ with whatever path you choose.
  3. Move the binary tarball to /data/
  4. Unpack the tarball with:
    $ gunzip < mysql-WHATEVER.tar.gz | tar xvf -
    Follow the straightforward setup instructions in the INSTALL-BINARY file that comes with MySQL. It should be located in the "mysql-WHATEVER" directory you just unpacked.

Apache & mod_perl

Apache is the web server that the Ensembl site runs on. mod_perl is a module for Apache that enables it to compile perl scripts once rather than each time they are requested, and so makes everything run a lot faster.

Please follow these instructions precisely as often the default version of Apache or mod-perl does not work correctly for Ensembl.

To Install Apache with mod_perl:

  1. Download the Apache2 source tarball from http://httpd.apache.org/dist/httpd/. Get the current stable version - at the time of writing, this is 2.2.8, and the file to download is httpd-2.2.8.tar.gz.
  2. Download the mod_perl source from http://www.cpan.org/modules/by-module/Apache2/ . Again, get the latest version, currently this is 2.0.3 and the file to download is mod_perl-2.0.3.tar.gz.
  3. Unpack all the sources in a working directory with:
    tar zxf httpd-2.2.4.tar.gz
    tar zxf mod_perl-2.0.3.tar.gz | tar xvf -
    cd httpd-2.2.4
    ./configure --enable-deflate --prefix=Apache directory
    cd ../mod_perl-2.0.3
    The httpd.conf files etc assume you install this in an apache2 subdirectory of your website's server root.
  4. Build the perl makefile:
    perl Makefile.PL PREFIX=Apache directory MP_APXS=Apache directory/bin/apxs
  5. Run the 'make' utility:
    make
  6. ...and install
    make install

Perl modules

The Ensembl website needs quite a few Perl modules to be installed in order for it to run. These modules can all be downloaded from www.cpan.org, and are all installed in much the same way: Download the module tarball, unpack in a working directory, and install the module:

gunzip < module.tar.gz | tar xvf -
cd module
perl Makefile.PL
make
make test
make install

The modules that are required are listed below, along with their URLs. The listed version is either one we have tested on our own servers (Debian Lenny with Perl 5.10), or the closest available on CPAN. If you have tested a more up-to-date version successfully, please let us know!

Ensembl website

These modules are mandatory for any website based on EnsEMBL::Web code.

Class::DBI::Sweet

Database abstraction layer, used to access non-genomic databases such as ensembl_website

http://search.cpan.org/~phred/Class-DBI-Sweet-0.09/

Class::Std

Used by both web code and BioMart

http://search.cpan.org/~dconway/Class-Std-0.011/

Compress::Bzip2

Used to handle uploaded bz2 files

http://search.cpan.org/~pmqs/Compress-Bzip2-2.09/

Compress::Zlib

Used by the registry (core module in Perl 5.10)

http://search.cpan.org/~pmqs/Compress-Zlib-2.012/

Data::UUID

Creates a unique ID

http://search.cpan.org/~rjbs/Data-UUID-1.203/

DBI

A common database interface for Perl

http://search.cpan.org/~timb/DBI-1.605/

DBD::mysql

The MySQL drivers for the DBI interface

http://search.cpan.org/~capttofu/DBD-mysql-4.007/

GD

A Graphics library

Note: may require additional modules. Please read install docs.

http://search.cpan.org/~lds/GD-2.39/

Hash::Merge

Used to merge data from multiple configuration files

http://search.cpan.org/~dmuey/Hash-Merge-0.11/

Image::Size

Used for getting size of images

http://search.cpan.org/~rjray/Image-Size-3.1.1/

IO::String

Used for sequence handling

http://search.cpan.org/~gaas/IO-String-1.08/

IO::Uncompress::Bunzip2

Used to handle uploaded bz2 files (bundled with recent versions of IO::Compress)

http://search.cpan.org/~pmqs/IO-Compress-2.024/lib/IO/Uncompress/Bunzip2.pm

IPC::Run

Used by the variation API to pipe output directly into another file handle

http://search.cpan.org/~rsod/IPC-Run-0.80/

LWP

used by DAS to communicate with DAS sources

Note: may require additional modules. Please read install docs.

http://search.cpan.org/~gaas/libwww-perl-5.814/

Mail::Mailer

Used by web forms to send email

http://search.cpan.org/~markov/MailTools-2.04/

Math::Bezier

Used by drawing code

http://search.cpan.org/~abw/Math-Bezier-0.01/

MIME::Types

Used to automatically identify the correct mime type of static files

http://search.cpan.org/~markov/MIME-Types-1.28/

OLE::Storage_Lite

Used for exporting Excel spreadsheets

http://search.cpan.org/~jmcnamara/OLE-Storage_Lite-0.17/

PDF::API2

used by Image exporter for exporting as PDF

http://search.cpan.org/~areibens/PDF-API2-0.69/

SOAP::Lite

used by DAS to communicate with DAS sources

Note: may require additional modules. Please read install docs.

http://search.cpan.org/~mkutter/SOAP-Lite-0.710.10/

Spreadsheet::WriteExcel

used for exporting Excel spreadsheets

http://search.cpan.org/~jmcnamara/Spreadsheet-WriteExcel-2.22/

Sys::Hostname::Long

Used by website startup process

http://search.cpan.org/~scott/Sys-Hostname-Long-1.4/

Time::HiRes

Used for code profiling (core module in Perl 5.10)

http://search.cpan.org/~jhi/Time-HiRes-1.9715/

version

Required by Class::Std (core module in Perl 5.10)

http://search.cpan.org/~jpeacock/version-0.74/

XML::Parser

used by DAS to parse DAS sources

Note: module is a wrapper around the expat library, which should be installed first:

Download the expat source from http://sourceforge.net/projects/expat/. Get the latest version (currently expat-1.95.8.tar.gz). Run the following commands:

gunzip < expat-1.95.8.tar.gz | tar xvf -
cd expat-1.95.8
./configure
make
make install

http://search.cpan.org/~msergeant/XML-Parser-2.36/

XML::Atom

Atom feed parser, used to embed Ensembl blog entries on home page

http://search.cpan.org/~miyagawa/XML-Atom-0.28/

BlastView

The following are only needed for a local install of blastview within Ensembl:

HTML::Template

Used by BlastView

http://search.cpan.org/~samtregar/HTML-Template-2.9/

BioMart

The following are only needed if installing BioMart.

CGI::Ajax

A Perl-specific system for writing Asynchronous web applications

CGI::Session

Persistent session data in CGI applications

Class::Accessor

Automated accessor generator

Class::Data::Inheritable

Inheritable, overridable class and instance data accessor creation

Class::Std::Utils

Compress::Raw::Zlib

Low-level interface to zlib compression library.

Devel::StackTrace

Stack trace and stack trace frame objects

Exception::Class

Module that allows you to declare real exception classes in Perl

libxml

Perl modules for working with XML

List::MoreUtils

Addition list functions not found in List::Util

Log::Log4perl

A Perl port of the widely popular log4j logging package.

Number::Format

Perl module to format numbers for display

Readonly

Sub::Uplevel

Used by BioMart

Template::Plugin::Number::Format

Used by BioMart

Template::Toolkit

Used by BioMart

Test::Exception

Used by BioMart

XML::DOM

Used by BioMart

XML::RegExp

Used by BioMart

XML::Simple

used by Mart to parse configuration

Back to: ← Installing the code components