Bioinformatics Advance Access published online on January 19, 2007
Bioinformatics, doi:10.1093/bioinformatics/btl681
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Compressed Suffix Tree A Basis for Genome-scale Sequence Analysis
aDepartment of Computer Science, P.O. Box 68 (Gustaf Hällströmin katu 2b), FI-00014 University of Helsinki, Finland.
bTechnische Fakultät Bielefeld, Germany.
cIndian Institute of Technology, Kanpur, India.
Veli Mäkinen, E-mail: vmakinen{at}cs.helsinki.fi
| Abstract |
|---|
Summary Suffix tree is one of the most fundamental data structures in string algorithms and biological sequence analysis. Unfortunately, when it comes to implementing those algorithms and applying them to real genomic sequences, often the main memory size becomes the bottleneck. This is easily explained by the fact that while a DNA sequence of length nfrom alphabet
= {A,C,G,T} can be stored in nlog|
|=2nbits, its suffix tree occupies O(nlogn) bits. In practice, the size difference easily reaches factor 50.
We provide an implementation of the compressed suffix tree very recently proposed by Sadakane (Theory of Computing Systems, in press). The compressed suffix tree occupies space proportional to the text size, i.e. O(nlog|
|) bits, and supports all typical suffix tree operations with at most lognfactor slowdown. Our experiments show that, e.g. on a 10 MB DNA sequence, the compressed suffix tree takes 10% of the space of normal suffix tree. Typical operations are slowed down by factor 60.
Availability: The C++ implementation under GNU license is available at http://www.cs.helsinki.fi/group/suds/cst/. An example program implementing a typical pattern discovery task is included. Experimental results in this note correspond to version 0.95.
Associate Editor: Alvis Brazma
Received on November 3, 2006; revised on January 5, 2007; accepted on January 5, 2007
This article has been cited by other articles:
![]() |
R. Giancarlo, D. Scaturro, and F. Utro Textual data compression in computational biology: a synopsis Bioinformatics, July 1, 2009; 25(13): 1575 - 1586. [Abstract] [Full Text] [PDF] |
||||
