Enno Ohlebusch

Learn More
The suffix tree is one of the most important data structures in string processing and comparative genomics. However, the space consumption of the suffix tree is a bottleneck in large scale applications such as genome analysis. In this article, we will overcome this obstacle. We will show how every algorithm that uses a suffix tree as data structure can(More)
The repetitive structure of genomic DNA holds many secrets to be discovered. A systematic study of repetitive DNA on a genomic or inter-genomic scale requires extensive algorithmic support. The REPuter program described herein was designed to serve as a fundamental tool in such studies. Efficient and complete detection of various types of repeats is(More)
MOTIVATION To allow a direct comparison of the genomic DNA sequences of sufficiently similar organisms, there is an urgent need for software tools that can align more than two genomic sequences. RESULTS We developed new algorithms and a software tool 'Multiple Genome Aligner' (MGA for short) that efficiently computes multiple genome alignments of large,(More)
Using the suffix tree of a string S, decision queries of the type “Is P a substring of S?” can be answered in O(|P |) time and enumeration queries of the type “Where are all z occurrences of P in S?” can be answered in O(|P |+z) time, totally independent of the size of S. However, in large scale applications as genome analysis, the space requirements of the(More)
In large scale applications as computational genome analysis, the space requirement of the suffix tree is a severe drawback. In this paper, we present a uniform framework that enables us to systematically replace every string processing algorithm that is based on a bottomup traversal of a suffix tree by a corresponding algorithm based on an enhanced suffix(More)
It is well-known that termination is not a modular property of term rewriting systems, i.e., it is not preserved under disjoint union. The objective of this paper is to provide a \uniform framework" for suucient conditions which ensure the modularity of termination. We will prove the following result. Whenever the disjoint union of two terminating term(More)
In transformational approaches to proving termination of logic programs, one transforms well-moded logic programs into (conditional) term rewriting systems. If termination of the rewrite system implies termination of the logic program, then termination techniques for rewrite systems can be employed for showing termination of logic programs. In this paper,(More)