[Bioperl-l] [Biopython] Comparison between bioperl and biopython?

Jason Stajich jason at bioperl.org
Tue Dec 29 16:57:49 EST 2009

On Dec 29, 2009, at 11:15 AM, Peng Yu wrote:

> On Tue, Dec 29, 2009 at 11:03 AM, Sean Davis <sdavis2 at mail.nih.gov>  
> wrote:
>> On Tue, Dec 29, 2009 at 11:08 AM, Peng Yu <pengyu.ut at gmail.com>  
>> wrote:
>>> May I ask somebody who are versitile in both bioperl and biopython
>>> comment on the pros and cons of bioperl and biopython? I'm sending
>>> this email to both bioperl and biopython mailing lists. But I hope
>>> that it will not result in any contention.
>>> I assume that the functionality between bioperl or biopython is the
>>> same, i.e., tasks can be done in bioperl can be done biopython and
>>> vice versa, as both libraries have been out there over 10 years.
>>> Please correct me if my understanding is not true.
>> The two projects have similar goals, but saying that the  
>> functionality
>> is the same would be an extreme oversimplification.  You will need to
>> define what you want to do and then check to see what the two  
>> projects
>> have to offer.  This will, in general, require perusing the websites
>> for both projects as well as the relevant documentation.
> According to your experience, are there some tasks that are easier
> with one than with another?

As you have still failed to give much insight into the 'tasks' it is  
hard to give you a better answer.

If there is a module or set of routines already written then yes one  
might be easier than the other. Otherwise it just depends on your  
strengths in the programming language.
We discussed the strengths of the different toolkits briefly on the  
podcast last month.  http://twit.tv/floss96

I echo Sean. Use whichever language you are a better programmer in.   
BioPerl is more mature in some facets than is BioPython, but BioPython  
has some components that are more heavily developed and supported than  
BioPerl (structures being one of those and interfacing that to pyMol  
would be a strength).   I personally think the Gbrowse, Bio-Graphics,  
and Bio::DB::GFF/Bio::DB::SeqFeature::Store interface to Sequence  
databases and Features is a critical aspect of mining  genomic data  
and features and use these heavily in my work, making BioPerl easy and  
powerful for my tasks. That and sequence and alignment parsing and  
reformatting.  But there are comparable tools written in python with  
and without BioPython that you can also use so mainly it is about  
building up an expertise in a toolkit and going forward.  The BioPerl  
faithful will probably say it is more useful toolkit to us, but we are  
of course a biased sample.

Both projects can benefit from more users and developers contributing  
code and documentation so I would just jump in and give it a try if  
you are unsure which will be easier for you.

>>> Given that a task that can be done with either bioperl or biopython,
>>> I, in particularly, want to know how long it will take to write the
>>> code for the task in bioperl and biopython, with the same  
>>> readability
>>> requirement (see below) and the assumption that users have the same
>>> fluency in perl and python.
>> Again, you will want to define the task(s) to be accomplished and  
>> then
>> weigh the pros and cons of each project combined with local  
>> expertise.
>>  If you don't know what you want to do, then you can certainly read
>> some examples on the websites and see which project strikes you as a
>> "winner" for you.
>>> python is claimed to be good for maintainability. But perl is
>>> criticized for there-are-many-ways-for-a-given-task. Since there are
>>> multiple ways in perl, let us assume that we always use perl in a
>>> readable way.
>> These two statements are generalizations that provide little insight
>> into the strengths or weaknesses of the languages.  In other words,
>> one can write good or bad code in both languages.
>> Hope that helps.
>> Sean
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l

Jason Stajich
jason.stajich at gmail.com
jason at bioperl.org

More information about the Bioperl-l mailing list