[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