The Average Common Substring (ACS) is a popular alignment-free distance measure for phylogeny reconstruction. The ACS can be computed in O(n) space and time, where n=x+y is the input size. The compressed string matching is the study of string matching problems with the following twist: the input data is in a compressed format and the underling task must be performed with little or no decompression. In this paper, we revisit the ACS problem under this paradigm where the input sequences are given in their run-length encoded format. We present an algorithm to compute ACS(X,Y) in O(Nlog N) time using O(N) space, where N is the total length of sequences after run-length encoding.
@cite_12: We describe a novel method for efficient reconstruction of phylogenetic trees, based on sequences of whole genomes or proteomes. The core of our method is a new measure of pairwise distances between sequences, whose lengths may greatly vary. This measure is based on information theoretic tools (Kullback-Leibler relative entropy). We present an algorithm for efficiently computing these distances. The algorithm uses suffix arrays to compute the distance of two l long sequences in O(l) time. It is fast enough to enable the construction of the phylogenomic tree for hundreds of species, and the phylogenomic forest for almost two thousand viruses. An initial analysis of the results exhibits a remarkable agreement with “acceptable phylogenetic truth”. To assess our approach, it was implemented together with a number of alternative approaches, including two that were previously published in the literature. Comparing their outcome to ours, using a “traditional” tree and a standard tree comparison method, our algorithm improved upon the “competition” by a substantial margin.
The computation of ACS is straightforward in @math space and time using the generalized suffix tree of @math and @math , where @math is the input size @cite_12 . In this paper, we study the problem of computing ACS, where the input sequences are @math and @math , where @math (resp., @math ) is the sequence corresponding to the run-length encoding of @math (resp., @math ). Run-length encoding is a simple algorithm used for data compression in which runs of data (occurring of the same character on consecutive positions) are stored as a single charter followed by the count of its consecutive occurrences. The challenge here is to design an algorithm for computing ACS in space and time close to @math instead of @math , where @math . We answer this question positively by presenting the following theorem.