[Bioperl-l] SearchIO speed up
Sendu Bala
bix at sendu.me.uk
Thu Aug 17 18:02:59 UTC 2006
Sendu Bala wrote:
> I am aiming to solve Project priority list item 1.2.1 "Improve
> Bio::SearchIO speed...".
[...]
> More radical changes will make SearchIO even faster, eg.
> Chris Fields and Jason (if I interpret the Project priority list item
> correctly) have suggested an end to individual Hit and HSP objects,
> which become just data members of a Result-like object. Ideally I don't
> want to go down that route because we lose quite a bit of OO power; HSP
> objects in particular make important use of inheritance
The most significant cause of slow-down is HSPI objects being
Bio::SeqFeature::SimilarityPair objects. The main reason for that
inheritance seems to be so we can have methods hit() and query() which
give back Bio::SeqFeature::Similarity objects (which are
Bio::SeqFeature::Generic).
Does anyone feel it is vital for HSPIs to be like this, or could they be
simpler (eg. just return Bio::LocatableSeq objects for hit() and
query(), with all other information available via direct HSPI methods)?
In one test case I can get a 3.5x speed up from that change alone.
More information about the Bioperl-l
mailing list