Efficient enumeration of phylogenetically informative substrings.
We study the problem of enumerating substrings that are common amongst genomes that share evolutionary descent. For example, one might want to enumerate all identical (therefore conserved) substrings that are shared between all mammals and not found in non-mammals. Such collection of substrings may be used to identify conserved subsequences or to construct sets of identifying substrings for branches of a phylogenetic tree. For two disjoint sets of genomes on a phylogenetic tree, a substring is called a tag if it is found in all of the genomes of one set and none of the genomes of the other set. We present a near-linear time algorithm that finds all tags in a given phylogeny; and a sublinear space algorithm (at the expense of running time) that is more suited for very large data sets. Under a stochastic model of evolution, we show that a simple process of tag-generation essentially captures all possible ways of generating tags. We use this insight to develop a faster tag discovery algorithm with a small chance of error. However, since tags are not guaranteed to exist in a given data set, we generalize the notion of a tag from a single substring to a set of substrings. We present a linear programming-based approach for finding approximate generalized tag sets. Finally, we use our tag enumeration algorithm to analyze a phylogeny containing 57 whole microbial genomes. We find tags for all nodes in the phylogeny except the root for which we find generalized tag sets.
Angelov
Stanislav
S
Department of Computer and Information Science, University of Pennsylvania, Philadelphia, PA 19104, USA. angelov@cis.upenn.edu
Harb
Boulos
B
Kannan
Sampath
S
Khanna
Sanjeev
S
Kim
Junhyong
J
D000465:Algorithms; D019295:Computational Biology; D003198:Computer Simulation; D030541:Databases, Genetic; D019143:Evolution, Molecular; D016680:Genome, Bacterial; D008957:Models, Genetic; D010802:Phylogeny; D016415:Sequence Alignment