How to BLAST Your Database — A Study of Stored Procedures for BLAST Searches

  • Uwe Röhm
  • Thanh-Mai Diep
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3882)


Stored procedures are an important feature of all major database systems that allows to execute application logic within database servers. This paper reports on experiences to implement a popular scientific algorithm, the Basic Local Alignment Search Tool (BLAST), as stored procedures within a relational database. We implemented the un-gapped, nucleotide version of the BLAST algorithm with four different relational database engines, both commercial and open source. In an experimental evaluation, we compared our dbBLAST implementations with a standard file-based BLAST implementation from NCBI with regard to the implementation effort, runtime performance, and scalability. It shows that although our dbBLAST runs faster than the file-based BLAST program for short query sequences, all implementations lack scalability. However, the results also indicate that stored procedures require significant less development effort—both in time and space—than traditional programming approaches.


Query Sequence Basic Local Alignment Search Tool Inverted Index Query Word Basic Local Alignment Search Tool Search 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Altschul, S.F., Gish, W., Miller, W., Myers, E.W., Lipman, D.J.: Basic local alignment search tool. Journal of Molecular Biology 215, 403–410 (1990)CrossRefGoogle Scholar
  2. 2.
    Altschul, S.F., et al.: Gapped Blast and PSI-Blast: a new generation of protein database search programs. Nucleic Acids Research 25, 3389–3402 (1997)CrossRefGoogle Scholar
  3. 3.
    Eisenberg, A.: New standard for stored procedures in sql. ACM SIGMOD Record 25 (1996)Google Scholar
  4. 4.
    Melton, J.: Understanding sql stored procedures: a complete guide to sql/psm. M.K (1998)Google Scholar
  5. 5.
  6. 6.
    Grossmann, D.A., Friedler, O.: Information Retrieval: Algorithms and Heuristics. Kluwer Academic Publishers, Dordrecht (1998)CrossRefGoogle Scholar
  7. 7.
    Diep, T.M., Röhm, U.: dbBLAST: A comparison study of BLAST implementations with stored procedures in different RDBMS. Technical report, University of Sydney (2006)Google Scholar
  8. 8.
    The PostgreSQL Global Development Group: PostgreSQL 8.0.1 documentationGoogle Scholar
  9. 9.
    Washington University: WU-BLAST 2.0.
  10. 10.
    Stephens, S., Chen, J.Y., Thomas, S.: ODM BLAST: Sequence homology search in the RDBMS. IEEE Data Engineering Bulletin 27, 20–23 (2004)Google Scholar
  11. 11.
    Stephens, S., et al.: Oracle Database 10g: A platform for BLAST search and regular expression pattern matching in life sciences. Nucleic Acids Research 33, D675–D679 (2005)CrossRefGoogle Scholar
  12. 12.
    Oracle Coorp: Oracle Data Mining Application Developer’s Guide 10g Release 1 (2004)Google Scholar
  13. 13.
    Laboratory of Neuro Imaging (LONI): BLASTgres User Guide. UCLA. 1.0 edn (2005)Google Scholar
  14. 14.
    Liu, Y.: Grid-BLAST: Building a cyberinfrastructure for large-scale comparative genomics research. In: 2003 Virtual Conference on Genomics and Bioinformatics (2003)Google Scholar
  15. 15.
    Konishi, F., Shiroto, Y., Umetsu, R.: Konagaya: A scalable BLAST service in OBIGrid environment. Genome Informatics 14, 535–536 (2003)Google Scholar
  16. 16.
    Chen, C.W., Röhm, U.: A service-oriented approach for parallelising data-intensive algorithms in grid-enabled cluster. In: 1st Int. Workshop on Biomedical Data Engineering (2005)Google Scholar
  17. 17.
    Krishnan, A.: GridBLAST: A globus based high-throughput implementation of BLAST in a grid framework. In: Concurrency and Computation: Practice and Experience, pp. 1–7 (2000)Google Scholar
  18. 18.
    Nieto-Santisteban, M.A., Gray, J., et al.: When database systems meet the grid. In: 2nd Biennial Conference on Innovative Data Systems Research (CIDR), pp. 154–161 (2005)Google Scholar
  19. 19.
    Saracco, C.M.: Leveraging stored procedures through enterprise javabeans. IBM (2000)Google Scholar
  20. 20.
    Acheson, A., et al.: Hosting the .NET runtime in Microsoft SQL server. In: Proceedings of the 23th ACM SIGMOD Int. Conf. on Management of Data, Paris, France, pp. 860–865 (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Uwe Röhm
    • 1
  • Thanh-Mai Diep
    • 1
  1. 1.School of Information TechnologiesUniversity of SydneySydneyAustralia

Personalised recommendations