GBrowse 2.0 Prerequisites

Revision as of 02:06, 8 February 2012 by Nathan (Talk | contribs)

Jump to: navigation, search

Before installing GBrowse 2.0, you will need to install some prerequisites on your system. Most prerequisites come as prepackaged binaries which can be installed from the command line or via GUI tools. This document describes the prerequisites for Linux, Mac OSX, and Microsoft Windows systems.

Linux systems

The following prerequisites are needed to run GBrowse on Linux systems:

Applications and Libraries

Although not required for basic operation, you will probably want at least one relational database backend. One or both of:

Those who want to obtain the best performance should consider the mod_perl, or FastCGI Apache modules:

Those who wish to generate publication-ready PDFs from GBrowse tracks should install the inkscape package:

These applications can be installed from source code or from binary packages using one of the binary packaging systems described below.

Binary Packages

If you use a modern Linux distribution, most prerequisites are available as binary packages. There are two common package managers, Debian (DEB) and RedHat Package Manager (RPM). The next section shows you how to use command-line package management tools to install the prerequisites.

DEB Systems (apt)

Distributions on which apt is installed by default include Ubuntu (and its variants), Debian, and Mint. To install all prerequisites except for BioPerl, run the following commands as the root or using sudo (comments begin with the # sign). Some of these packages may already be installed on your system.

#Utilities to help with fetching components distributed in source code
sudo apt-get install wget subversion git-core libc6-dev build-essential libgd2-noxpm-dev

#apache2 with acceleration
sudo apt-get install apache2 libapache2-mod-fcgid libapache2-mod-perl2

#fast lightweight database for managing user accounts
sudo apt-get install sqlite3 libdbd-sqlite3-perl

#Perl libraries
sudo apt-get install libmodule-build-perl libio-string-perl \
 libcapture-tiny-perl  libcgi-session-perl libwww-perl libstatistics-descriptive-perl \
 libjson-perl libjson-any-perl libsvg-perl perl-doc libtemplate-perl libgd-gd2-perl libgd-svg-perl

# optional libraries for using MySQL and PostgreSQL backends
sudo apt-get install mysql-server mysql-client libdbd-mysql-perl libmysqlclient-dev postgresql libdbd-pg-perl

# optional libraries for e-mail-based user registration and OpenID logins
sudo apt-get install libdigest-sha-perl libssl-dev libmath-bigint-gmp-perl \
  libnet-openid-consumer-perl libnet-smtp-ssl-perl libauthen-sasl-perl libcrypt-ssleay-perl

All these installation steps must be executed as root (shown here using sudo).

Ubuntu 10.04/11.04 Issue

The binary version of the GD Perl module that is packaged for Ubuntu 10.04 (Lucid Lynx) and 11.04 (Natty Narwhal) contains a bug that causes BioPerl to fail several of its tests, blocking GBrowse installation. To fix:

sudo apt-get remove libgd-gd2-perl
sudo apt-get install libgd2-noxpm-dev
sudo perl -MCPAN -e 'install GD'

Then proceed to install Bio::Graphics::Browser2 from the CPAN shell as described in GBrowse 2.0 Install HOWTO.

RPM Systems (yum)

This includes Fedora, RedHat, SuSE, Mandriva, PCLinuxOS, and CentOS. Most of these distributions have the command line package management tool yum which is used in the following command examples. These commands will need to be run as root (or equivalently by using sudo in the manner shown above):

#Utilities to help with fetching components distributed in source code
yum install wget
yum install cvs
yum install subversion

yum install httpd

#libgd2 and its Perl library
yum install gd-devel
yum install perl-GD

#other Perl modules
yum install perl-Module-Build
yum install perl-CPAN
yum install perl-IO-String
yum install perl-Capture-Tiny
yum install perl-CGI-Session
yum install perl-JSON perl-JSON-Any
yum install perl-libwww-perl

yum install mysql-server mysql-libs perl-DBD-MySQL
yum install postgresql postgresql-server perl-DBD-Pg
yum install mod_perl
yum install mod_fcgid
yum install fcgi-perl
yum install inkscape
yum install perl-GD-SVG

If you plan to use the CPAN shell to install GBrowse, then you are all done installing prerequisites, and can return to the GBrowse 2.0 Install HOWTO. Otherwise, you should first install Bio::Perl and Bio::Graphics using the CPAN shell:

sudo perl -MCPAN -e 'install Bio::Perl'
sudo perl -MCPAN -e 'install Bio::Graphics'

You're done installing prerequisites! You can now go back to the GBrowse 2.0 Install HOWTO, and follow the installation instructions for your platform.


Fink Way

These instructions apply to Macintosh OSX version 10.5, using the fink binary installer. First, download and install Fink. Next open up the terminal window and type the following commands as the root user or with sudo (as shown):

#Utility to help components distributed in source code
sudo fink install wget

#libgd2 and its Perl library
sudo fink install gd2 gd2-bin
sudo perl -MCPAN -e 'install GD'

#other Perl modules
sudo perl -MCPAN -e 'install IO::String'
sudo perl -MCPAN -e 'install CGI::Session'
sudo perl -MCPAN -e 'install JSON'
sudo perl -MCPAN -e 'install JSON::Any'

sudo fink install mysql
'''more to come here'''
sudo perl -MCPAN -e 'install GD::SVG'

this section is unfinished

If it isn't already activated, turn the Apache server on by activating Control Panel->Sharing->Web Sharing.

Mac Ports Way

First, download and install MySQL Community Server form

You can download and install macports from

Edit your .profile '/Users/youname/.profile'

export DYLD_LIBRARY_PATH=/usr/local/mysql-5.5.9-osx10.6-x86_64/lib:$DYLD_LIBRARY_PATH
export PATH=/usr/local/mysql/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin/:$PATH

Then, logout and login.

# sudo port install perl5
# sudo port install apache2
# sudo port install p5-gd
# sudo port install git-core

Using cpan install these modules


Install Bioperl

#git clone git://
# cd bioperl-live
# perl Build.PL
# ./Build test
# sudo ./Build install

Perl Modules

GBrowse depends on the following standard Perl libraries:

  • Module::Build
  • GD
  • Bio::Perl (version 1.6.0 or higher)
  • Bio::Graphics
  • JSON
  • LWP
  • Storable
  • IO::String
  • Capture::Tiny
  • File::Temp
  • Digest::MD5
  • CGI::Session
  • Statistics::Descriptive

In addition, the following optional Perl libraries are recommended:

  • GD::SVG (for PDFs and editable high-resolution images)
  • DBI (for relational database access)
  • DBD::mysql (for MySQL database backends)
  • DBD::Pg (for PostgreSQL database access)
  • DB_File::Lock (for load balancing in rendering slavesstrongly)
  • File::NFSLock (if two or more servers are sharing the same NFS-mounted directory for sessions)
  • Template (to run the population allele frequency visualization demo)
  • Crypt::SSLeay, Math::BigInt, Net::OpenID::Consumer, Net::SMTP::SSL (for user account registration)
    • Note: The Math::BigInt and Net::OpenId::Consumer library installation tests will run very slowly unless supported by the Math::BigInt::GMP or Math::BigInt::Pari libraries. It is suggested that you install these libraries before trying to install Math::BigInt and Net::OpenId::Consumer.