염기문자의 빈도와 위치정보를 이용한 DNA 인덱스구조

A DNA Index Structure using Frequency and Position Information of Genetic Alphabet

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

초록

대규모 DNA 데이타베이스를 대상으로 원하는 서열을 빠르게 검색하기 위해 인덱싱 기법을 많이 사용하고 있다. 그러나 대부분의 인덱싱 기법은 원래 데이타베이스보다 더 큰 저장공간을 사용하고 DBMS와의 밀 결합이 어렵다는 문제점을 가지고 있다. 본 논문에서는 완전 매치, 와일드카드 매치, k-미스매치와 같은 근사 매치 질의 처리를 위해 작은 공간을 사용하는 디스크 기반의 효율적인 인덱싱 기법과 질의 처리 기법을 제안한다 인덱싱을 위해서 DNA 염기서열에 일정 크기의 슬라이딩 윈도우를 위치시킨 후, 윈도우 내에서 각 문자의 출현 빈도를 이용해 서명을 추출해서 R*-트리와 같은 다차원 공간 인덱스에 저장한다. 특히 윈도우 내의 각 위치에 따라서 가중치를 줌으로써 서명들이 인덱스 공간에 집중되는 현상을 억제한다. 제안된 질의 처리방법은 질의 시퀀스를 다차원 사각형으로 변환하고 그 사각형과 중첩되는 서명들을 인덱스로부터 찾아낸다 제안된 방법을 실제 생물학자들이 사용하는 데이타를 이용해 실험한 결과 서픽스 트리 기반의 방법에 비해서 완전 매치인 경우 3배 이상, 와일드카드 매치인 경우 2배 이상, k-미스매치인 경우 수십 배 이상의 성능향상을 보였다.

In a large DNA database, indexing techniques are widely used for rapid approximate sequence searching. However, most indexing techniques require a space larger than original databases, and also suffer from difficulties in seamless integration with DBMS. In this paper, we suggest a space-efficient and disk-based indexing and query processing algorithm for approximate DNA sequence searching, specially exact match queries, wildcard match queries, and k-mismatch queries. Our indexing method places a sliding window at every possible location of a DNA sequence and extracts its signature by considering the occurrence frequency of each nucleotide. It then stores a set of signatures using a multi-dimensional index, such as R*-tree. Especially, by assigning a weight to each position of a window, it prevents signatures from being concentrated around a few spots in index space. Our query processing algorithm converts a query sequence into a multi-dimensional rectangle and searches the index for the signatures overlapped with the rectangle. The experiments with real biological data sets revealed that the proposed method is at least three times, twice, and several orders of magnitude faster than the suffix-tree-based method in exact match, wildcard match, and k- mismatch, respectively.

키워드

참고문헌

  1. C. Gibas and P. Jambeck, Developing Bioinformatics Computer Skills, O'Reilly and Associates Inc., 2001
  2. D. W. Mount, Bioinformatics: Sequence and Genome Analysis, Cold Spring Harbor Laboratory Press, 2001
  3. T. Smith and M. Waterman, 'Identification of common molecular subsequences,' Journal of Molecular Biology, Vol. 147, pp. 195-197, 1981 https://doi.org/10.1016/0022-2836(81)90087-5
  4. 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
  5. S. F. Altschul, T. L. Madden, A. A. Schaffer, J. Zhang, Z. Zhang, W. Miller, and D. J. Lipman, 'Gapped BLAST and PSI-BLAST: A new generation of protein database search programs,' Nucleic Acids Research, 25(17), 1997 https://doi.org/10.1093/nar/25.17.3389
  6. T. Kaheci, A. K. Singh, 'An efficient index structure for string databases,' VLDB, 2001
  7. A. Guttman, 'R-Trees: A dynamic index structure for spatial searching,' ACM SIGMOD, pp.47-57, 1984 https://doi.org/10.1145/602259.602266
  8. R.S. Boyer, J. S. Moore, 'A fast string searching algorithm,' Communications of the ACM, Vol. 20, pp. 762-772, 1977 https://doi.org/10.1145/359842.359859
  9. D. E. Knuth, J. H. Morris, V. B. Pratt. 'Fast pattern matching in strings,' SIAM J. Comput., Vol. 6, pp. 323-350, 1977 https://doi.org/10.1137/0206024
  10. A. Aho, M. Corasick, 'Efficient string matching: an aid to bibliographic search,' Communications of the ACM, Vol. 18, pp. 333-40, 1975 https://doi.org/10.1145/360825.360855
  11. G. A. Stephen, String Searching Algorithm, World Scientific Publishing, 1994
  12. E. Hunt, M. P. Atkinson and R. W. Irving, 'Database indexing for large DNA and protein sequence collections,' VLDB Journal, Vol. 11, No. 3, pp 256-271, 2002 https://doi.org/10.1007/s007780200064
  13. N. Beckmann, H.-P. Kriegel, R. Schneider, and B. Seeger, 'The $R^{\ast}$-tree : An efficient and robust access method for points and rectangles,' ACM SIGMOD, pp.322-331, 1990 https://doi.org/10.1145/93597.98741
  14. D. Gusfield, Algorithms on Strings, Trees, and Sequences: Computer Science and Computational Biology. Cambridge University Press, 1 Edition, January 1997
  15. S. Berchtold, D. A. Keim, and Hans-Peter Kriegel, 'The X-tree: An index structure for high-dimensional data,' VLDB pp 28-39, 1996
  16. R. Agrawal, C. Faloutsos, and A. Swam, 'Efficient similarity search in sequence databases,' FODO, pp 69-84, 1993
  17. C. Faloutsos and K. Lin, 'FastMap: A fast algorithm for indexing, data-mining and visualization of traditional and multimedia datasets,' ACM SIGMOD, pp. 163-174, 1995 https://doi.org/10.1145/223784.223812
  18. http://www.ncbi.nlm.nih.gov