[BioRuby] Bio-projects comparison

Moses M. Hohman mmhohman at northwestern.edu
Tue Nov 28 02:51:20 UTC 2006

Hi Alex,

Thanks for your thoughtful reply. Ruby's open class definitions are  
certainly helpful. I think you've made me realize (even more) that  
I'm not sure what exactly it is I'm proposing. I'll shut up about it  
until I've thought about it more thoroughly and have a concrete  

I certainly understand the allure of being able to install the  
kitchen sink and not worry about the details. I guess I'd say make  
that path easy, but allow people to get around it if they want to  
(which is what you're saying, too, if I understand you). Anyway, I'll  
think about it some more : )


On Nov 27, 2006, at 5:25 PM, Alex Gutteridge wrote:

>> 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
> Japan

More information about the BioRuby mailing list