Revision as of 17:28, 3 October 2012 by Girlwithglasses (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

BioPerl is a set of modules that support bioinformatics programming in Perl programs. BioPerl is used extensively by several GMOD components. You will need to install it before you can use those components.

This is a one page summary of BioPerl that introduces several high level concepts and some points that are specifically important for GMOD. If you have a detailed question about BioPerl, see the BioPerl web site for more.

The Most Frequently Given Answer in GMOD

By at least an order or magnitude, the most frequently given answer on the GMOD Mailing Lists has been:

"You need to upgrade to the latest version of BioPerl, known as BioPerl-live. All of the official BioPerl releases are too old for use with GMOD Components."

However, as of January, 2009 this may be changing. Keep reading for why this is and for how to get it.

BioPerl Background

BioPerl Podcast

FLOSS Weekly BioPerl Podcast

A podcast on the BioPerl project is available at FLOSS Weekly. It's about an hour long and it's a good introduction to the BioPerl project. The podcast is an interview with BioPerl heavy hitters Chris Fields and Jason Stajich.

BioPerl Packages and bioperl-live

BioPerl is an enormous project. To make it more manageable it has been divided into several packages. The most popular package, and the one most frequently used by GMOD components is the Core package. Each GMOD component will tell you which BioPerl packages are required for it to work.

Bioperl-live is the latest version of the core package as it exists in Git. That is, bioperl-live contains the absolute latest and greatest updates to BioPerl.

BioPerl Releases

At any point in time there will be 2 or 3 BioPerl releases.

Release Description Use in GMOD?
Stable (1.6.1) Stable releases have gone through more testing than the other types of releases. The most recent stable release was 1.6.1 in September 2009. Yes
Developer There hasn't been a developer release since the 1.6.x releases started coming out. N/A
BioPerl-live BioPerl-live (and its cousins) is not a release per se, but is rather a copy of what is in BioPerl's Git repository for the core module on the day you get the files. This is the most up to date version of BioPerl you can get. You may need to use BioPerl-live if it has functionality you need that is not in the stable release. See BioPerl's Using Git and Getting BioPerl pages for how to get the latest copy of BioPerl-live. Yes[1]
  1. Getting the latest code from Git may sound scary, but in actual practice it rarely causes problems. Revisions to BioPerl almost always result in a better package.

Installing BioPerl

Installing BioPerl is non-trivial. It has many dependencies both within and outside of Perl. Perl does a pretty good job of dealing with dependencies within Perl (meaning dependencies on other Perl modules). It does not do so well with dependencies outside of Perl. You should address the external dependencies before attempting to install BioPerl.


Outside Perl

You need to install external (i.e.,non-Perl) libraries before you install BioPerl. If these are not installed then attempts to install BioPerl will generate copious error messages.

If you are on Linux, then these will be available as packages and should be installed using the appropriate package manager for your Linux distribution. These may also already be installed on your system.

Library(ies) Description
perl-devel Perl development library.
perl-DB_File Berkeley DB support in Perl.
libgd, lbgd-devel Libraries for creating PNG, JPG, etc images.
expat, libexpat An XML parser.

Inside Perl

There are also a few Perl modules that you should install before installing BioPerl. These are listed on BioPerl's installation pages.


BioPerl has an Installing BioPerl page that includes pointers to specific platform installation pages. That page lists 4 different ways to install a BioPerl module. However, since you need to install from Git only one of those methods applies. See BioPerl's Using Git page for how to get the latest version and how to use it.

Answering Questions During the Install

The installation will typically ask you many questions. How should you answer those? The basic guideline is:

When in doubt use the default answer.

The default answer is usually shown in square brackets, e.g. [y] for 'yes'.


From BioPerl:

If you've installed everything perfectly and all the network connections are working then you may pass all the tests run in the './Build test' phase. It's also possible that you may fail some tests. Possible explanations: problems with local Perl installation, network problems, previously undetected bug in BioPerl, flawed test script, problems with CGI script used for sequence retrieval at public database, and so on. Remember that there are over 800 modules in Bioperl and the test suite is running more than 12000 individual tests, a few failed tests may not affect your usage of Bioperl.

If you decide that the failed tests will not affect how you intend to use BioPerl and you'd like to install anyway do:

cpan>force install C/CJ/CJFIELDS/BioPerl-1.6.0.tar.gz

This is what most experienced Bioperl users would do. However, if you're concerned about a failed test and need assistance or advice then contact

In other words, the install will not pass all its tests and it will have to be forced. But how do you decide what level of errors are acceptable and what are not? Here's a rough guideline:

  • If you see errors related to the non-Perl prerequisites (see Outside Perl above)
    then you should check that you have that prerequisite installed correctly and then try again.
    This type of error usually occurs while building the BioPerl installation rather than while testing it.
  • If your errors occur only in the testing part of the installation, and there are few of them compared to the total number of tests,
    then you are probably safe to do a force install.