대용량 DNA 시퀀스 데이타베이스를 위한 효율적인 인덱싱

Efficient Indexing for Large DNA Sequence Databases

  • 원정임 (연세대학교 컴퓨터과학과) ;
  • 윤지희 (한림대학교 정보통신공학부) ;
  • 박상현 (연세대학교 컴퓨터과학과) ;
  • 김상욱 (한양대학교 정보통신학부)
  • 발행 : 2004.12.01

초록

DNA 시퀀스 검색은 분자 생물학 분야에서 사용되는 매우 중요한 연산이다. DNA 시퀀스 데이타베이스는 매우 큰 용량을 가지므로 DNA 시퀀스 검색의 효율적인 처리를 위해서는 고속 인덱스의 사용이 필수적이다. 본 논문에서는 DNA 시퀀스 검색을 위하여 기존에 제안된 접미어 트리가 가지는 저장공간, 검색 성능, DBMS와의 통합 등의 문제점들을 지적하고, 이러한 문제점을 해결할 수 있는 새로운 인덱스를 제안한다. 제안된 인덱스는 포인터 없이 트라이를 비트 스트링으로 표현하는 기본 구조와 후처리 시 액세스되어야 하는 트라이의 단말 노드를 신속하게 찾기 위한 보조 자료 구조로 구성된다. 또한, 제안된 인덱스를 이용하여 DNA 시퀀스 검색을 효과적으로 처리하는 알고리즘을 제시한다. 제안된 기법의 우수성을 검증하기 위하여, 실험을 통한 성능 평가를 수행하였다. 실험 결과에 의하면, 제안된 인덱스는 기존의 접미어 트리와 비교하여 더 작은 저장 공간을 가지고도 13배에서 29배까지의 검색 성능의 개선 효과를 가지는 것으로 나타났다.

In molecular biology, DNA sequence searching is one of the most crucial operations. Since DNA databases contain a huge volume of sequences, a fast indexing mechanism is essential for efficient processing of DNA sequence searches. In this paper, we first identify the problems of the suffix tree in aspects of the storage overhead, search performance, and integration with DBMSs. Then, we propose a new index structure that solves those problems. The proposed index consists of two parts: the primary part represents the trie as bit strings without any pointers, and the secondary part helps fast accesses of the leaf nodes of the trio that need to be accessed for post processing. We also suggest an efficient algorithm based on that index for DNA sequence searching. To verify the superiority of the proposed approach, we conducted a performance evaluation via a series of experiments. The results revealed that the proposed approach, which requires smaller storage space, achieves 13 to 29 times performance improvement over the suffix tree.

키워드

참고문헌

  1. C. Gibas and P. Jambeck, Developing Bioinformatics Computer Skills, O'Reilly and Associates Inc., 2001
  2. R. S. C. Goble, P. Baker, and Brass, 'A Classification of tasks in bioinformatics,' Bioinformatics, Vol. 17, No. 2, pp. 180-188, 2001 https://doi.org/10.1093/bioinformatics/17.2.180
  3. D. A. Benson, M. S. Boguski, D. J. Lipman, J. Ostell, and B. F. Quellette, 'Genbank,' Nucleic Acids Research, Vol. 26, No. 1, pp. 1-7, 1998 https://doi.org/10.1093/nar/26.1.1
  4. H. E. Williams and J. Zobel, 'Indexing and Retrieval for Genomic Databases,' IEEE TKDE Vol. 14, No. 1. pp. 63-78, 2002 https://doi.org/10.1109/69.979973
  5. Z. Tan, X. Cao, B. Ooi, and A. Tung, 'The ed-tree: An Index for Large DNA Sequence Databases,' In Proceedings of SSDBM Conference, pp. 1-10, 2003
  6. S. Altschul, W. Gish, W. Miller, E. Myers, and D. Lipman, 'Basic local alignment search tool,' Journal of Molecular Biology, Vol. 215, No. 3, pp. 403-410, 1990 https://doi.org/10.1016/S0022-2836(05)80360-2
  7. S. Altschul, T. Madden, A. Schaffer, J. Zhang, W. Miller, and D. Lipman, 'Gapped BLAST and PSI-BLAST: A New Generation of Protein Database Search Programs,' Nucleic Acids Research, Vol. 25, No. 17, pp. 3389-3402, 1997 https://doi.org/10.1093/nar/25.17.3389
  8. T. Smith and M. Waterman, 'Identification of Common Molecular Subsequences,' Journal of Molecular Biology, 147, pp. 195-197, 1981 https://doi.org/10.1016/0022-2836(81)90087-5
  9. J. Buhler, 'Efficient Large-Scale Sequence Comparison by Local-Sensitive Hashing,' Bioinformatics, Vol. 17, pp. 419-428, 2001 https://doi.org/10.1093/bioinformatics/17.5.419
  10. B. Ma, J. Tromp, and M. Li, 'Patternhunter: Faster and more Sensitive Homology Search,' Bioinformatics, Vol. 18, pp. 440-445, 2002 https://doi.org/10.1093/bioinformatics/18.3.440
  11. G. A. Stephen, String Searching Algorithms, World Scientific Publishing, 1994
  12. A. L. Delcher, S. Kasif, R. D. Fleischmann, and J. Peterson, O. White, and S. L. Salzberg, 'Alignment of whole genomes,' Nucleic Acids Research, 27, pp. 2369-2376, 1999 https://doi.org/10.1093/nar/27.11.2369
  13. S. Kurtz, C. Schleiermacher, 'REPuter: fast computation of maximal repeats in complete genomes,' Bioinformatics, Vol. 15, No. 5, pp. 426-427, 1999 https://doi.org/10.1093/bioinformatics/15.5.426
  14. G. Navarro and R. Baeza-Yates, 'A new indexing method for approximate string matching,' In Proceedings of Combinatorial Pattern Matching (CPM99), Lecture Notes in Computer Science, 1645, Springer, pp. 163-185, 1999
  15. E. Ukkonen, 'Approximate string matching over suffix trees,' In Proceedings of Combinatorial Pattern Matching (CPM93), Lecture Notes in Computer Science, 684, Springer, pp. 228-242, 1999
  16. C. Meek, J. M. Patel, and S. Kasetty, 'OASIS: An Online and Accurate Technique for Local-Alignment Searches on Biological sequences,' In Proceedings of the 29th VLDB Conference, pp. 920-921, 2003
  17. E. Hunt, M. P. Atkinson and R. W. Irving, 'Database indexing for large DNA and protein sequence collections,' The VLDB Journal, Vol. 11, No. 3, pp. 256-271, 2002 https://doi.org/10.1007/s007780200064
  18. H. Wang et al., 'BLAST++: A Tool for BLASTing Queries in Batches,' In Proceedings First Asia-Pacific Bioinformatics Conference, pp. 71-79, 2003
  19. E. Horowitz, S. Sahni, and S. Anderson-Freed, Fundamentals of Data Structures in C, Computer Science Press, 1993
  20. D. W. Mount, Bioinformatics: Sequence and Genome Analysis, Cold Spring Harbor Laboratory Press, 2001
  21. A. Califano and I. Rigoutso, 'FLASH: A Fast Look-up Algorithm for String Homology,' In Proceedings of Intelligent System Conference for Morecular Biology, pp. 56-64, 1993
  22. C. Fondrat and P. Dessen, 'A Rapid Access Motif database(RAMdb) with a search algorithm for the retrieval patterns in nucleic acids or proteun databanks,' Computer Applications in the Biosciences. Vol. 11, No. 3, pp. 273-279, 1995 https://doi.org/10.1093/bioinformatics/11.3.273
  23. T. Kahveci and A. K. Singh, 'An Efficient Index Structure for String Databases,' In Proceedings of the 27th VLDB Conference, pp. 351-360, 2001
  24. K. Sadakane and T. Shibuya, 'Indexing huge genome sequences for solving various problems,' In Proceedings of the 12th Genome Informatics, pp. 175-183, 2001
  25. U. Manber and G. Myers, 'Suffix Arrays: A New Method for On-Line String Searches,' SIAM J. Comput., Vol. 22, No. 5, pp. 935-948, 1993 https://doi.org/10.1137/0222058
  26. K. Kelly and P. Labute, 'The A* Search and Applications to Sequence Alignment,' http://www.chemcomp.com/article/astar.htm, 1996
  27. E. M. McCreight, 'A Space-Economic Suffix Tree Construction Algorithm,' JACM, Vol. 23, No. 2, pp. 262-272, 1976 https://doi.org/10.1145/321941.321946
  28. J. Kar kkainen and E. Ukkonen, 'Sparse Suffix Trees,' In Proceedings of COCOON, pp. 219-230, 1996
  29. S. Kurtz, Reducing the Space Requirement of Suffix Trees. Softw. Pract. Exp., Vol. 29, pp. 1149-1171, 1999 https://doi.org/10.1002/(SICI)1097-024X(199911)29:13<1149::AID-SPE274>3.0.CO;2-O
  30. R. De La Briandais, 'File searching using variable length keys,' In Proceedings of Western Joint Computer Conference, Vol. 15, pp. 295-298, 1959
  31. D. E. Knuth, Sorting and Searching, The Art of Computer Programming: Vol. 3, Addison-Wesley, 1973
  32. H. Shang and T. H. Merrett, 'Tries for approximate string matching,' IEEE Trans. on Knowlege and Data Engineering, Vol. 8, No. 4, pp. 540-547, 1996 https://doi.org/10.1109/69.536247
  33. http://www.ncbi.nlm.nih.gov
  34. N. Beckmann, H. Kriegel, R. Schneider, and B. Seeger, 'The R*-tree: An efficient and robust access method for points and rectangles,' In Proceedings of ACM SIGMOD International Conference on Management of Data, pp. 322-331, 1990
  35. P. Bieganski, J. Riedl, J. V. Carlis, 'Generalized suffix trees for biological sequence data: applications and implementation,' In Proceedings of 27th Hawaii International Conference on System Sciences, Vol. 5, pp. 35-44, 1994 https://doi.org/10.1109/HICSS.1994.323593