[Bioperl-l] Bio module using Moose

Bruno Vecchi vecchi.b at gmail.com
Wed Jun 23 14:48:43 UTC 2010


Chris,

> Array::Compare is not required, it's a recommended module, meaning it isn't automatically installed, and isn't necessary for the full build.  Acc. to Build.PL it's used in one very specific case, the Bio::PhyloNetworks modules.

Good catch, hadn't considered it could be a soft dependency. I stand
corrected, sorry about the confusion. :)

> I am a supporter of Moose completely, but IMHO we should move away from Array::Compare for core (which is completely non-Moose).  Our dependency load is already too high as it is.  I believe it has been pointed out elsewhere that using Moose for Array::Compare is a bit overkill and has introduced a new host of dependencies to dists like ours w/o anyone's knowledge, along with possible start-up performance issues (still being addressed with Moose).  Stevan Little himself posted on this last year:
>
> http://stevan-little.blogspot.com/2009/09/re-moose-or-no-moose.html
>
> Rob Buels and I also discussed this a bit back in January re: Moose and BioPerl, and I think we both came to the conclusion Moose-based tools should go into a separate codebase or be a Bioperl 2.0, primarily b/c the current class structure makes it very difficult to truly use Moose to its fullest abilities (set base class, introspection, etc).  That's not necessarily a bad thing; we need to take a hard look at our current toolset and establish the strong and weak points and address them, and possibly deal with other issues along the way.  Moose may be part of the answer, and could act as a viable transition to perl 6.  I have already initiated that effort with biome, which anyone is more than welcome to participate in.

Oh, I agree completely. I wasn't making any judgement call in my
previous message; just thought I should point that Moose was already a
dependency that had slipped in, probably without people noticing since
Array::Compare didn't originally depend on Moose.

> Now, that doesn't preclude anyone from making a CPAN release of their own that both requires Moose and Bioperl.  I'm in full support of that, and I do wish more people would take advantage of CPAN instead of asking the core devs to drop their code into core (which implies the burden of maintenance is mainly upon the core devs, a completely unsustainable task).

Also agree; in fact, I thought about this myself a year or so ago when
I wrote Bio::Protease. I initially considered proposing it for
inclusion here, but ended up releasing it as a standalone module to
the CPAN. Partly because it was factored out of a project that had
Moose all over it, but also because there really weren't any
compelling reasons to have it bundled with BioPerl: it doesn't depend
on it, and it would have added more unwanted bloat to BioPerl.

In summary, I too think that keeping Moose out of BioPerl is the
sanest choice, and that modularity should be achieved both by
"untangling the monolith" but also by encouraging releasing modules as
independent entities whenever it's possible to do so.
In summary, I too think that keeping Moose out of BioPerl is the
sanest choice, and that modularity should be achieved both by
"untangling the monolith" but also by encouraging releasing modules as
independent entities whenever it's possible to do so.

Cheers,

Bruno.




More information about the Bioperl-l mailing list