[Bioperl-l] StandAloneFasta::version

Chris Fields cjfields at uiuc.edu
Tue Nov 7 14:49:47 EST 2006

On Nov 7, 2006, at 11:49 AM, Sendu Bala wrote:

>> Like I said, it's a suggestion.  No need to get snippy.
> You took that completely the wrong way. I am applying absolutely no  
> value judgment on your suggestion. It may be an excellent one. I  
> was simply explaining we have no programmatic way of requiring that  
> modules use other modules - we rely on people following the advice/  
> status quo.

There may not be a programmatic way of enforcing one to use  
WrapperBase or other base classes beyond using maintenance scripts.   
However, if we as a community agree on following a basic set of  
bioperl coding standards (Best Practices, using Bio::Root::Root/ 
RootI, POD, etc), then anyone should reasonably expect that their  
code may be changed to conform more with those standards, at least  
within reason.  We recently enforced this with Bio::Root::Root/RootI,  
'return undef', 'use base', and others, so I don't see the problem  
with doing so here.

There will always be some controversial or grey areas (use of  
AUTOLOAD comes to mind), but in my opinion it is very reasonable to  
require that new modules use a particular base class or implement a  
specific interface if the new code is expected to interact properly  
with other BioPerl classes/objects.  One could always use the mail  
list to express their opinions if they disagree or want some  
clarification or guidance.

Sorry, Election Day in the States.  Lots of snippiness around on this  
end (overdosed of negative ads)!

> Given that, are you still suggesting that it would be better to  
> advise people to use Bio::Root::SomeNewRunThing, or is  
> Bio::Tools::Run::WrapperBase satisfactory?

Either way will work, but....

I was thinking of something like this:

Run-based    |---WrapperBase
Root class---|
              |---Non-WrapperBase (web apps and others)

Bio::Root::Root works in this capacity already, but I was thinking of  
a base class unique to bioperl-run classes which could integrate  
similar methods from WrapperBase and non-WrapperBase'd modules.  I  
suppose we could also have it as a simple interface; modules which  
implement it could be distinguished from core if needed.


Christopher Fields
Postdoctoral Researcher
Lab of Dr. Robert Switzer
Dept of Biochemistry
University of Illinois Urbana-Champaign

More information about the Bioperl-l mailing list