Abstract
To perform fast searching in massive data such as DNA strings, the most efficient method is to construct full-text index data structures of given strings. The widely used full-text index structures are suffix trees and suffix arrays. Since the suffix may uses less space than the suffix tree, the suffix array is proper for DNA strings. Previously developed construction algorithms of suffix arrays are not suitable for DNA strings since those are designed for integer alphabets. We propose a fast algorithm to construct suffix arrays on DNA strings whose alphabet sizes are fixed by 4. We reduce the construction time by improving encoding and merging steps on Kim et al.[1]'s algorithm. Experimental results show that our algorithm constructs suffix arrays on DNA strings 1.3-1.6 times faster than Kim et al.'s algorithm, and also for other algorithms in most cases.
DNA 스트링과 같은 대용량의 데이타에 대한 빠른 검색을 수행하기 위해서는 전체 텍스트 인덱스 자료구조를 구축하여 검색하는 방법이 효율적이다. 가장 일반적인 인덱스 자료구조는 써픽스 트리와 써픽스 배열이다. 써픽스 배열은 써픽스 트리보다 적은 공간을 사용하기 때문에 DNA 스트링과 같은 대용량의 데이타에 적합한 자료구조이다. 기존의 써픽스 배열 구축 알고리즘들은 정수 문자집합에 적합한 알고리즘들이어서 DNA 스트링에 적합하지 않았다. 본 논문에서는 DNA 스트링의 문자집합이 4로 고정되어 있는 사실을 이용하여 DNA 스트링에 대한 써픽스 배열을 마르게 구축하는 방법을 제안한다. 고정길이 문자집합에 효율적인 Kim et. al.[1]의 알고리즘의 인코딩 과정과 합병 과정 개선으로 전체 구축 시간을 향상시켰다. 실험 결과 1.3배에서 1.6배 정도 구축 속도가 향상되었으며, 기존의 다른 써픽스 배열 구축 알고리즘들과 비교한 결과에서도 대부분 가장 빠르게 써픽스 배열을 구축하였다.