Abstract
Suffix trees are widely used in similar sequence matching for DNA. They have several problems such as time consuming, large space usages of disks and memories and data skew, since DNA sequences are very large and do not fit in the main memory. Thus, in the paper, we present a space efficient indexing method called SENoM, allowing us to build trees without merging phases for the partitioned sub trees. The proposed method is constructed in two phases. In the first phase, we partition the suffixes of the input string based on a common variable-length prefix till the number of suffixes is smaller than a threshold. In the second phase, we construct a sub tree based on the disk using the suffix sets, and then write it to the disk. The proposed method, SENoM eliminates complex merging phases. We show experimentally that proposed method is effective as bellows. SENoM reduces the disk usage less than 35% and reduces the memory usage less than 20% compared with TRELLIS algorithm. SENoM is available to query efficiently using the prefix tree even when the length of query sequence is large.
서픽스 트리는 공통의 프리픽스의 빈도수가 높을 때 효과적인 알고리즘으로, 한정된 문자로만 구성된 DNA 유사성 검색을 위한 연구에서 널리 활용되고 있다. 그러나, 서픽스 트리는 인덱스 특성상 메모리 공간을 많이 차지하며, 트리의 분할 시 DNA 시퀀스의 비율로 인한 쏠림현상이 발생한다는 문제점을 가진다. 따라서, 본 논문에서는 공통의 프리픽스를 가지는 가변길이의 파티셔닝 방법으로 합병하지 않는 인덱싱 방안인 SENoM을 제안한다. SENoM은 전체 시퀀스에서 공통의 프리픽스를 가지는 서픽스들의 발생 빈도수가 임계치 이하인 경우 디스크에 저장하고, 임계치 이상인 경우 임계치 이하가 될 때까지 프리픽스를 확장한다. 모든 파티션은 서브트리로 구축한 후 디스크에 저장하며, 질의처리를 위해, 구축된 파티션의 프리픽스를 서픽스로 가지는 트리를 구축한다. 제안하는 기법은 복잡한 합병과정을 제거하고, 많은 파티션 발생으로 인한 디스크 I/O 발생을 줄인다. 실험을 통해, SENoM이 Trellis 알고리즘에 비해 메모리 사용량을 약 35%, 인덱스 크기를 약 20% 감소시켰음을 보인다. 또한, 질의길이가 긴 경우에도 프리픽스 트리를 이용하여 효과적인 질의처리가 가능함을 보인다.