BioTech FYI Center - Resources

BioPerl FAQ (Frequently Asked Questions)

Part:   1  2  3  4  5  6  7 

(Continued from previous part...)

About this FAQ

What is this FAQ?
It is the list of Frequently Asked Questions about BioPerl.
How is it maintained?
It is now maintained as a Wiki on this site. You can help maintain it by adding questions and answers.
How can I tell what version of BioPerl is installed?

We have a universal version number for a release. This is set in the module Bio::Root::Version which is universally applied to every module which inherits from Bio::Root::RootI. To check the version, just use the following one liner:

 perl -MBio::Root::Version -e 'print $Bio::Root::Version::VERSION,"\n"'

Now when we use version tuples that are not just decimal numbers, Perl converts these silently to Unicode representations. What that means is, to actually print the version number you have to use formatted printing like this

  perl -MBio::Root::Version -e 'printf "%vd\n", $Bio::Root::Version::VERSION' 

Printing the version number can be done on any module in BioPerl (and should be consistent) so for example, printing out the version number of Bio::SeqIO, which is different from the overall Bioperl version number.

 perl -MBio::SeqIO -e 'printf "%vd\n", $Bio::SeqIO::VERSION'

BioPerl in General

What is BioPerl?

BioPerl is a toolkit of perl modules useful in building bioinformatics solutions in Perl. It is built in an object-oriented manner so that many modules depend on each other to achieve a task. The collection of modules in the bioperl-live repository consist of the core of the functionality of bioperl. Additionally auxiliary modules for creating graphical interfaces (bioperl-gui), persistent storage in RDMBS (bioperl-db), running and parsing the results from hundreds of bioinformatics applications (Run package), software to automate bioinformatic analyses (bioperl-pipeline) are all available as CVS modules in our repository.

Where do I go to get the latest release?

Official releases will be noted on the website http://bioperl.org . You can always get our releases from http://bioperl.org/DIST or via the wiki at Getting BioPerl.

What is the difference between 1.5.1 and 1.4.0? What do you mean developer release?

The 1.4.x series was released in 2004 and represented a stable release series. The 1.5.0 release was made in early 2005 but several annoying bugs were included in it. The 1.5.1 release in October has fixed those bugs and also added a number of new modules as well. See the Changes file for more information.

Developer releases are odd numbered releases (1.3, 1.5, etc) not intended to be completely stable (although all tests should pass). Stable releases are even numbered (1.0, 1.2, 1.6) and intended to provide a stable API so that modules will continue to respect the API throught a stable release series. We cannot guarantee that APIs are stable between releases (i.e. 1.6 may not be completely compatible with scripts written for 1.4), but we endeavor to keep the API stable so that upgrading is easy.

(historical text from old FAQ)

0.7.X series (0.7.0, 0.7.2) were all released in 2001 and were stable releases on 0.7 branch. This means they had a set of functionality that is maintained throughout (no experimental modules) and were guaranteed to have all tests and subsequent bug fix releases with the 0.7 designation would not have any API changes.
The 0.9.X series was our first attempt at releasing so called developer releases. These are snapshots of the actively developed code that at a minimum pass all our tests.
How can I learn how to use a module?
 % perldoc MODULE

Careful - spelling and case count!

The BioPerl Tutorials will provide a good introduction. You may also find useful documentation in the form of a HOWTOs. There are links to tutorials off the bioperl website that may provide some additional help. There are also many scripts in the examples/ and scripts/ directories that may be useful - see the BioPerl scripts page for brief descriptions.

Additionally we have written many tests for our modules, you can see test data and example usage of the modules in these tests - look in the test dir, called t/.

I'm interested in the bleeding edge version of the code, where can I get it?

Go to http://cvs.bioperl.org and you'll see instructions on how to get the CVS code. Basically:

% cvs -d :pserver:cvs@cvs.bioperl.org:/home/repository/bioperl login

Enter cvs for the password.

 % cvs -d :pserver:cvs@cvs.bioperl.org:/home/repository/bioperl co bioperl_all
Who uses this toolkit?

Lots of people. Sanger Centre, EBI, many large and small academic laboratories, large and small pharmaceutical companies. We do not have a comprehensive list at this point in time but maybe it should be started: BioPerl Users

How should I cite BioPerl?

See the BioPerl publications page.

What are the license terms for BioPerl?

BioPerl is licensed under the same terms as Perl itself which is the Perl Artistic License (see http://www.perl.com/pub/alanguage/misc/Artistic.html or http://www.opensource.org/licenses/artistic-license.html).

I want to help, where do I start?

BioPerl is a pretty diverse collection of modules which has grown from the direct needs of the developers participating in the project. So if you don't have a need for a specific module in the toolkit it becomes hard to just describe ways it needs to be expanded or adapted. One area, however is the development of stand-alone scripts which use BioPerl components for common tasks. Some starting points for scripts: find out what people in your institution do routinely that a shortcut can be developed for. Identify modules in BioPerl that need easy interfaces and write that wrapper - you'll learn how to use the module inside and out.

A great place to start looking for aspects of the project which need help is the Project priority list and Orphan modules list.

We always need people to help fix bugs - check the Bugzilla bug tracking system. Submitting bugs in the documentation and code is very helpful as has been said about open source software "Given enough eyeballs, all bugs are shallow".

I've got an idea for a module how do I contribute it?

Post your idea on the mailing list. If you have written it already, or if you have been thinking about the API already, post the API, ideally with usage documentation, e.g., the POD that would normally go with each method, and some usage examples, e.g., what would otherwise go into the synopsis section of the module's POD.

Once you completed gathering feedback and incorporating into your module as appropriate, you either post it on bugzilla, or, if you have a developer account already, you should just commit it once you have convinced yourself that the (yours and the pre-existing) tests pass.

If you do not have a developer account yet, posting ideas, APIs, examples, and code may quickly earn you one.

(Continued on next part...)

Part:   1  2  3  4  5  6  7 

BioPerl FAQ (Frequently Asked Questions)