next up previous contents
Next: segmentation fault = bottle Up: Common gripes, Cookbook and Previous: Optimising alignment speed   Contents

Optimising search speed

See sections 2.4 and 2.5 for use of these programs in large scale throughput environments.

Make sure you have compiled with optimisation. If you are using the make all from the top level you have. If you are using gcc, make sure you are using -O2 optimisation, and probably crank it all the way up.

If you have a large SMP box, you can compile with pthread support. The searches work on SGI/Compaq alpha/Suns. There are some issues about some architecture ports, which I need to expand somewhere in the docs, but first off, just try compiling with pthreads (3.3) and using pthreads in the search.

For real, order-of-magnitude speed ups, you are going to have to use a heuristic stage before the actual database search - in other words, using BLAST. I dislike this, but it is fact of life, and there are two scripts in perl/scripts, halfwise and blastwise (5), which help you do this. Both scripts use Steve Chervitz excellent perl Blast parser, which is available in bioperl. (Make sure you have a 0.05 release or later of bioperl, as the Blast parser in the 0.05 release is much better).

halfwise is a pretty sensible, self contained script. blastwise I expect people to modify heavily to get to work as wished on their systems. Please read it, and add in your own heuristics (eg, figuring out start/end points). I am very interested in better heuristics in this area.


next up previous contents
Next: segmentation fault = bottle Up: Common gripes, Cookbook and Previous: Optimising alignment speed   Contents
Eric DEVEAUD 2015-02-27