descriptionBioPerl core
homepage URL
repository URLgit://
last changeFri, 24 Jun 2016 00:07:52 +0000 (23 21:07 -0300)
last refreshTue, 28 Jun 2016 06:48:58 +0000 (28 08:48 +0200)
content tags

Build Status Coverage Status DOI Documentation Status

Getting Started

Please see the the INSTALL or INSTALL.WIN documents for installation instructions.

About BioPerl

BioPerl is a package of public domain Perl tools for computational molecular biology.

Our website ( provides an online resource of modules, scripts, and web links for developers of Perl-based software for life science research.

Contact Information

Please submit bugs, in particular about documentation which you think is unclear, or about problems in installation. We are also very interested in functions which don't work the way you think they do!

The Directory Structure

The BioPerl directory structure is organized as follows:


For documentation on BioPerl see the HOWTO documents online at

Useful documentation in the form of example code can also be found in the examples/ and scripts/ directories. The current collection includes scripts that run BLAST, index flat files, parse PDB structure files, make primers, retrieve ESTs based on tissue, align protein to nucleotide sequence, run GENSCAN on multiple sequences, and much more! See bioscripts.pod for a complete listing.

Individual *.pm modules have their own embedded POD documentation as well. A complete set of hyperlinked POD, or module, documentation is available at

Remember that 'perldoc' is your friend. You can use it to read any file containing POD formatted documentation without needing any type of translator (e.g. 'perldoc Bio::SeqIO').

If you used the Build.PL installation, and depending on your platform, you may have documentation installed as man pages, which can be accessed in the usual way.


BioPerl releases are always available from the website at or in CPAN. The latest code can be found at

From the 1.0 release until the 1.6 release even numbers (e.g. 1.4) indicated stable releases. Stable releases were well tested and recommended for most uses. Odd numbers (e.g. 1.3) were development releases which one would only use if one were interested in the latest features. The final number (e.g. in 1.2.1) is the point or patch release. The higher the number the more bug fixes has been incorporated. In theory you can upgrade from one point or patch release to the next with no changes to your own code (for production cases, obviously check things out carefully before you switch over).

The upcoming 1.7 release will be the last release series to utilize the alternating 'stable'/'developer' convention. Starting immediately after the final 1.6 branch, we will start splitting BioPerl into several smaller easier-to-manage distributions. These will have independent versions, all likely starting with v1.7.0. We do not anticipate major API changes in the 1.7.x release series, merely that the code will be restructured in a way to make maintenance more feasible. We anticipate retaining semantic versioning until the 2.x release.

Caveats and Warnings

When you run the tests with ./Build test some tests may issue warnings messages or even fail. Sometimes this is because we didn't have anyone to test the test system on the combination of your operating system, version of perl, and associated libraries and other modules. Because BioPerl depends on several outside libraries we may not be able to test every single combination so if there are warnings you may find that the package is still perfectly useful.

If you install the bioperl-run system and run tests when you don't have the program installed you'll get messages like program XXX not found, skipping tests. That's okay, BioPerl is doing what it is supposed to do. If you wanted to run the program you'd need to install it first.

Not all scripts in the examples/ directory are correct and up-to-date. If you find an issue with a script please submit a bug report to and consider helping out in their maintenance.

If you are confused about what modules are appropriate when you try and solve a particular issue in bioinformatics we urge you to look at HOWTO documents first.

A simple module summary

Here is a quick summary of many of the useful modules and how the toolkit is laid out:

All modules are in the Bio/ namespace,

Upgrading from an older version

If you have a previously installed version of BioPerl on your system some of these notes may help you.

4 days ago Francisco J... Merge pull request #159 from jkeenan/sirna-left-bracemaster
4 days ago James E KeenanAvoid "Unescaped left brace in regex is deprecated... 159/head
2016-06-11 Chris Fieldsgit Bugs link
2016-06-05 Chris Fieldsfix more links per #156; missing Bugs page
2016-06-05 Chris Fieldsfix one link per #156, others still missing
2016-06-05 Chris FieldsFix for #154, per @stuartrbaker
2016-05-16 Chris FieldsMerge pull request #150 from jkeenan/missing_manifest
2016-05-16 Chris FieldsMerge pull request #149 from lskatz/master
2016-05-15 James E KeenanRestore missing MANIFEST.150/head
2016-05-10 Lee KatzUpdated assess_bootstrap documentation149/head
2016-05-09 Brian OsborneMerge pull request #148 from bioperl/phylip-alignio-fix
2016-05-07 Brian OsborneLength is correct, should not be part of TO DOphylip-alignio-fix148/head
2016-05-07 Brian OsborneFixed bug 123, but there could be still be issues due...
2016-04-27 Chris FieldsMerge pull request #145 from jogoodma/obodef
2016-04-26 Josh GoodmanAdded a limit to the split used to create DBLink objects.145/head
2016-04-10 Brian OsborneREADME is a duplicate, we don't want to maintain both
17 months ago release-1-6-zenodo
23 months ago release-1-6-924 Minor release to deal with META...
2 years ago release-1-6-923 Latest release, with several bug...
2 years ago release-1-6-922
2 years ago release-1-6-921
2 years ago release-1-6-920
2 years ago release-1-6-910 Point release, mainly bug fixes
5 years ago bioperl-release-1-6-901
5 years ago bioperl-release-1-6-9 BioPerl core 1.6.9 release
6 years ago bioperl-release-1-6-1
6 years ago bioperl-1-6-0_006
6 years ago bioperl-1-6-0_005
6 years ago bioperl-1-6-0_003
6 years ago bioperl-1-6-0_004
6 years ago bioperl-1-6-0_002
6 years ago bioperl-1-6-0_001
4 days ago master
5 days ago topic/ncbi-https
7 weeks ago phylip-alignio-fix
3 months ago issues/131
5 months ago v1.6.x
8 months ago issues/124
12 months ago merge_root_into_live
15 months ago topic/taxdb-to-sqlite2
16 months ago topic/rework-db-taxonomy
2 years ago topic/local_build
2 years ago topic/sf_lite_fixes
2 years ago topic/cjfields_psl_fixes
2 years ago topic/assembly-less
2 years ago topic/yinjun111-simplealign
3 years ago storable_db
3 years ago topic/tree_api_refresh