Difference between revisions of "GBrowse 2.0 Prerequisites"

From GMOD
Jump to: navigation, search
(DEB Systems (apt))
(Installing BioPerl)
 
(29 intermediate revisions by 5 users not shown)
Line 26: Line 26:
  
 
These applications can be installed from source code or from binary packages using one of the binary packaging systems described below.
 
These applications can be installed from source code or from binary packages using one of the binary packaging systems described below.
 
==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)
 
 
It is easiest to use the Perl CPAN shell to install these modules. If you use the CPAN shell to install GBrowse, then the required modules will be installed automatically, however the optional ones will still need to be installed by hand:
 
 
<pre>
 
% perl -MCPAN -e shell
 
cpan shell -- CPAN exploration and modules installation (v1.9301)
 
cpan[2]> install GD::SVG
 
cpan[3]> install DBI
 
cpan[4]> install DB_File::Lock
 
...etc...
 
</pre>
 
 
Please install libgd2 and your distribution's compiler tools (e.g. "libc6-dev" on Debian systems) '''before''' you attempt to install Bio::Graphics::Browser from the CPAN shell. Otherwise it will fail at the GD library installation step.
 
  
 
==Binary Packages==
 
==Binary Packages==
Line 72: Line 31:
 
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.
 
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)==
+
===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.
 
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.
Line 78: Line 37:
 
<pre>
 
<pre>
 
#Utilities to help with fetching components distributed in source code
 
#Utilities to help with fetching components distributed in source code
sudo apt-get install wget subversion libc6-dev build-essential libgd2-noxpm-dev
+
sudo apt-get install wget subversion git-core libc6-dev build-essential libgd2-noxpm-dev
  
 
#apache2 with acceleration
 
#apache2 with acceleration
Line 89: Line 48:
 
sudo apt-get install libmodule-build-perl libio-string-perl \
 
sudo apt-get install libmodule-build-perl libio-string-perl \
 
  libcapture-tiny-perl  libcgi-session-perl libwww-perl libstatistics-descriptive-perl \
 
  libcapture-tiny-perl  libcgi-session-perl libwww-perl libstatistics-descriptive-perl \
  libjson-perl libjson-any-perl libsvg-perl perl-doc libtemplate-perl libgd-svg-perl
+
  libjson-perl libjson-any-perl libsvg-perl perl-doc libtemplate-perl libgd-gd2-perl libgd-svg-perl \
 +
libdata-stag-perl libterm-readkey-perl libhttp-daemon-perl libfcgi-perl
  
 
# optional libraries for using MySQL and PostgreSQL backends
 
# optional libraries for using MySQL and PostgreSQL backends
Line 95: Line 55:
  
 
# optional libraries for e-mail-based user registration and OpenID logins
 
# 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
+
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
 
</pre>
 
</pre>
  
 
All these installation steps must be executed as root (shown here using ''sudo'').
 
All these installation steps must be executed as root (shown here using ''sudo'').
  
==RPM Systems (yum)==
+
Packaged versions of BioPerl contain a bug that prevents GBrowse from displaying DNA sequences from in-memory databases. Install Bioperl from source code this way:
 +
 
 +
<pre>
 +
git clone https://github.com/bioperl/bioperl-live.git
 +
cd bioperl-live
 +
perl Build.PL
 +
./Build test
 +
sudo ./Build install
 +
</pre>
 +
 
 +
<div style="background-color:pink">
 +
==== 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]].
 +
</div>
 +
 
 +
===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):
 
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):
  
 
<pre>
 
<pre>
 +
# build utilities
 +
yum install make gcc gmp-devel
 +
 
#Utilities to help with fetching components distributed in source code
 
#Utilities to help with fetching components distributed in source code
yum install wget
+
yum install wget git
yum install cvs
+
yum install subversion
+
  
 
#apache2
 
#apache2
yum install httpd
+
yum install httpd mod_fcgid fcgi-perl
  
#libgd2 and its Perl library
+
# various Perl modules
yum install gd-devel
+
yum install perl-GD perl-Module-Build perl-CPAN perl-IO-String perl-Capture-Tiny perl-CGI-Session \
yum install perl-GD
+
            perl-JSON perl-JSON-Any perl-libwww-perl perl-DBD-SQLite perl-File-NFSLock perl-Net-SMTP-SSL \
 +
            perl-Crypt-SSLeay perl-Net-SSLeay perl-Template-Toolkit
  
#other Perl modules
+
# bioperl
yum install perl-Module-Build
+
yum install perl-bioperl perl-Bio-Graphics
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
+
  
 
#optionally...
 
#optionally...
 
yum install mysql-server mysql-libs perl-DBD-MySQL
 
yum install mysql-server mysql-libs perl-DBD-MySQL
 
yum install postgresql postgresql-server perl-DBD-Pg
 
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 inkscape
 
yum install perl-GD-SVG
 
yum install perl-GD-SVG
 +
 
</pre>
 
</pre>
  
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:
+
==Installing BioPerl==
 +
 
 +
You should use version 1.7.1 of BioPerl, currently available from CPAN:
  
 
<pre>
 
<pre>
sudo perl -MCPAN -e 'install Bio::Perl'
+
perl -MCPAN -e 'install Bio::Perl'
sudo perl -MCPAN -e 'install Bio::Graphics'
+
 
</pre>
 
</pre>
  
 
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.
 
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.
 
== Installing BioPerl ==
 
 
GBrowse versions 2.27 and higher require BioPerl 1.069, which has not been released as of 1 March 2011. To install BioPerl from source, do:
 
 
wget --no-check-certificate \
 
    http://github.com/bioperl/bioperl-live/tarball/master -O bioperl.tar.gz
 
tar zxvf bioperl.tar.gz
 
cd bioperl-bioperl*
 
sudo perl Build.PL
 
sudo ./Build install
 
 
 
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.
 
  
 
=MacOSX=
 
=MacOSX=
Line 230: Line 194:
 
Install Bioperl
 
Install Bioperl
 
<pre>
 
<pre>
#git clone git://github.com/bioperl/bioperl-live.git
+
git clone https://github.com/bioperl/bioperl-live.git
#perl Build.PL
+
cd bioperl-live
# ./Build test
+
git checkout bioperl-release-1-6-901
# sudo ./Build install
+
perl Build.PL
 +
./Build test
 +
sudo ./Build install
 
</pre>
 
</pre>
 +
 +
==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.
  
 
[[Category:GBrowse 2]]
 
[[Category:GBrowse 2]]

Latest revision as of 21:20, 15 January 2017

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 \
 libdata-stag-perl libterm-readkey-perl libhttp-daemon-perl libfcgi-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).

Packaged versions of BioPerl contain a bug that prevents GBrowse from displaying DNA sequences from in-memory databases. Install Bioperl from source code this way:

 git clone https://github.com/bioperl/bioperl-live.git
 cd bioperl-live
 perl Build.PL
 ./Build test
 sudo ./Build install

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):

# build utilities
yum install make gcc gmp-devel

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

#apache2
yum install httpd mod_fcgid fcgi-perl

# various Perl modules
yum install perl-GD perl-Module-Build perl-CPAN perl-IO-String perl-Capture-Tiny perl-CGI-Session \
            perl-JSON perl-JSON-Any perl-libwww-perl perl-DBD-SQLite perl-File-NFSLock perl-Net-SMTP-SSL \
            perl-Crypt-SSLeay perl-Net-SSLeay perl-Template-Toolkit

# bioperl
yum install perl-bioperl perl-Bio-Graphics

#optionally...
yum install mysql-server mysql-libs perl-DBD-MySQL
yum install postgresql postgresql-server perl-DBD-Pg
yum install inkscape
yum install perl-GD-SVG

Installing BioPerl

You should use version 1.7.1 of BioPerl, currently available from CPAN:

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

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.

MacOSX

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'

#optionally.
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 http://dev.mysql.com/downloads/mysql/.

You can download and install macports from http://www.macports.org/.

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

GD::SVG
SVG
CGI
DBI
DBD::mysql
DBD::SQLite
Statistics::Descriptive
Data::Stag
GD::Graph
GD::Graph::smoothlines
Statistics::Lite
Statistics::LineFit
Compress::Zlib
IO::Zlib
Config::Simple
Pod::Usage
Algorithm::Cluster

Install Bioperl

 git clone https://github.com/bioperl/bioperl-live.git
 cd bioperl-live
 git checkout bioperl-release-1-6-901
 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.