[BioRuby] Bio-projects comparison

Alex Gutteridge alexg at kuicr.kyoto-u.ac.jp
Tue Nov 28 01:25:38 UTC 2006

> I should clarify my point: My concern is not about disk space, but
> rather that I might want to be able to select separately which
> restriction site library and which sequence manipulation library I
> wanted to use. With any openbio project currently it's all or
> nothing, so as a result people are not encouraged to develop a better
> sequence library, for example (not that I'm complaining specifically
> about the sequence library, I'm just giving an example). That is,
> because the sequence manipulation part of bioruby is "already
> written", no one will write another one. In some ways this is good,
> because people can just use existing software, but in other ways this
> slows down the pace of innovation. I would imagine someone could
> improve on the design of one or two libraries in any of the openbio
> projects, but people generally don't. It'd be nice to have some kind
> of way of doing this in bioruby, IMHO, something like plugins in
> Rails. And, I think this could distinguish bioruby from other openbio
> projects.

I'm not sure if you're saying there is a psychological barrier to  
writing new/replacement BioRuby libraries, or a technical one.  
Perhaps I am misunderstanding you, but there is nothing stopping  
someone writing a Bio::Sequence (as an example) replacement - either  
as a separate class (e.g. Bio::NewSequence), by resetting the whole  
Bio::Sequence class, or just redefine individual Bio::Sequence  
methods on the fly:

[alexg at powerbook]/Users/alexg(10): irb -r bio
irb(main):001:0> module Bio; class Sequence; def to_s
irb(main):002:3> 'foo'
irb(main):003:3> end; end; end
=> nil
irb(main):004:0> bar = Bio::Sequence.new('BAR')
=> "BAR"
irb(main):005:0> bar.to_s
=> "foo"

It can't be made much more plug-in-able than that.

If you're talking about a psychological barrier to writing  
replacement libraries then I'd have to disagree. Anyone with the  
skills to write a new Bio::Sequence class wouldn't/shouldn't be put  
off by the fact that there's already one out there. Allowing people  
to pick and choose modules to download just makes the process more  
complicated for new users. If I've never used BioRuby before, how do  
I know whether to get Bio::Sequence or Bio::NewSequence?

Dr Alex Gutteridge
Post-Doctoral Researcher

Bioinformatics Center
Institute for Chemical Research
Kyoto University
Gokasho, Uji, Kyoto 611-0011

More information about the BioRuby mailing list