title: Biological sequence compression algorithms.
abstract: Today, more and more DNA sequences are becoming available. The information about DNA sequences are stored in molecular biology databases. The size and importance of these databases will be bigger and bigger in the future, therefore this information must be stored or communicated efficiently. Furthermore, sequence compression can be used to define similarities between biological sequences. The standard compression algorithms such as gzip or compress cannot compress DNA sequences, but only expand them in size. On the other hand, CTW (Context Tree Weighting Method) can compress DNA sequences less than two bits per symbol. These algorithms do not use special structures of biological sequences. Two characteristic structures of DNA sequences are known. One is called palindromes or reverse complements and the other structure is approximate repeats. Several specific algorithms for DNA sequences that use these structures can compress them less than two bits per symbol. In this paper, we improve the CTW so that characteristic structures of DNA sequences are available. Before encoding the next symbol, the algorithm searches an approximate repeat and palindrome using hash and dynamic programming. If there is a palindrome or an approximate repeat with enough length then our algorithm represents it with length and distance. By using this preprocessing, a new program achieves a little higher compression ratio than that of existing DNA-oriented compression algorithms. We also describe new compression algorithm for protein sequences.
authors.affiliation: Department of Information Science, University of Tokyo,7-3-1 Hongo, Bunkyo-ku, Tokyo 113-0033, Japan. toshikom@is.s.u-tokyo.ac.jp
authors.forename: T
authors.initials: T
authors.lastname: Matsumoto
authors.forename: K
authors.initials: K
authors.lastname: Sadakane
authors.forename: H
authors.initials: H
authors.lastname: Imai
mesh_terms: D000465:Algorithms; D019295:Computational Biology; D030561:Databases, Nucleic Acid / Q000706:statistics & numerical data; D030562:Databases, Protein / Q000706:statistics & numerical data; D017422:Sequence Analysis, DNA / Q000706:statistics & numerical data*; D020539:Sequence Analysis, Protein / Q000706:statistics & numerical data