[BioRuby] Proposal: Bioruby modules (the bazaar)

Pjotr Prins pjotr.public14 at thebird.nl
Fri Jan 22 10:49:00 UTC 2010


On Fri, Jan 22, 2010 at 06:48:20PM +0900, Tomoaki NISHIYAMA wrote:
>>   Bio::Module.load(:html_alignment)
>
> What is the benefit over
> require 'bio/html_alignment' # no autoload by require 'bio'
> ?

A method allows more checking. I presume the module information will
be somewhere in a YAML file in the main tree. Or maintained through
git submodules.

>>   Bio::Module.install(:html_alignment)
>>
>> will search the definition and install it.
>
> I feel installation is easier from shell like:
> $ ruby bioruby-inst-module html_alignment
> but calling the Module.install internally is fine.

My example is for an interactive session. You only do it once (I
hope). Or when an author says he has updated his module.

>> (5) Modules can be updated outside Bioruby's mainline. e.g.  
>> Bio::Module.install(:html_alignment,:development=>true)
>
> We need to have a mechanism to check the versions between
> the standard bioruby and the modules. Especially when the
> mainline bioruby is updated.  Different modules perhaps will
> have different level of dependency on the bioruby code, and
> update in the main bioruby code sometimes may break the old
> module.

Well.

Bioruby should not care.

I think you misunderstand the purpose. Modules are *not* to be
supported from Bioruby. It is only a mechanism to make them easily
available. If things break, they break. That is why it is
developmental, or experimental.

The modules that are well 'supported' will come inside the
distribution.  Outside modules are up to the module maintainer.

Besides, you don't want to replace gems. If an author wants versioning
he can provide a gem (which, again, can be loaded as a Bioruby
module).

Once a module goes main stream versioning is moot. It just becomes
part of the Bioruby tree.

When everyone understands this a module can still support versioning.
But I think that ought to be done through gems.

Pj.



More information about the BioRuby mailing list