[Bioperl-l] Next-gen modules
rmb32 at cornell.edu
Wed Jul 8 22:45:09 UTC 2009
Giles Weaver wrote:
> takes about 15 minutes, so adapter removal is definitely the bottleneck. I'm
> confident that some relatively simple developments in Bioperl and/or EMBOSS
> will yield some big performance improvements - if you see my sample code in
Apropos this kind of thing, have you guys already discussed using lazy
object creation for objects returned from bioperl parsers? Not really
relevant in the short term, but it could be a useful avenue to pursue
for addressing some performance concerns people (like ebi) have.
In very vague terms, one would probably implement this by defining a
very light-weight role/class called something like Bio::LazyInflator,
that would provide only an `inflate` method. Parsers would parse into
lightweight structures (probably arrayrefs) that implement LazyInflator
and users could choose between grabbing data out of the uninflated
arrayref directly, or they could call inflate() on it to transform it
into a real object (like a Bio::Annotation or Bio::Seq or something).
The exact implementation of this would vary depending on whether Moose
is being used.
This could potentially also be compatible with having some of the tight
parsing loops be implemented in XS.
More information about the Bioperl-l