Efficient enumeration of phylogenetically informative substrings

  • Authors:
  • Stanislav Angelov;Boulos Harb;Sampath Kannan;Sanjeev Khanna;Junhyong Kim

  • Affiliations:
  • Department of Computer and Information Sciences, University of Pennsylvania;Department of Computer and Information Sciences, University of Pennsylvania;Department of Computer and Information Sciences, University of Pennsylvania;Department of Computer and Information Sciences, University of Pennsylvania;Department of Biology, University of Pennsylvania

  • Venue:
  • RECOMB'06 Proceedings of the 10th annual international conference on Research in Computational Molecular Biology
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 discriminating substring or a tag if it is found in all of the genomes of one set and none of the genomes of the other set. Given a phylogeny for a set of m species, each with a genome of length at most n, we develop a suffix-tree based algorithm to find all tags in O(nm log2m) time. We also develop a sublinear space algorithm (at the expense of running time) that is more suited for very large data sets. We next consider a stochastic model of evolution to understand how tags arise. We show that in this setting, 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, tags are not guaranteed to exist in a given data set. We thus generalize the notion of a tag from a single substring to a set of substrings whereby each species in one set contains a large fraction of the substrings while each species in the other set contains only a small fraction of the substrings. We study the complexity of this problem and give a simple 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.