2011-06-01T23:59:59Z
2023-04-06T07:18:57Z
Searching for compact hierarchical structures in DNA by means of the smallest grammar problem
2011
2011-01-01
Motivated by the goal of discovering hierarchical structures inside DNA sequences, we address the Smallest Grammar Problem, the problem of finding a smallest context-free grammar that generates exactly one sequence. This NP-Hard problem has been widely studied for applications like Data Compression, Structure Discovery and Algorithmic Information Theory. We give a new formalisation of this problem in form of a complete and correct search space. This search space is based on the decomposition of the problem into two complementary optimisation problems. The first one consists in choosing which substrings of the sequence will become the constituents of the final grammar. The second problem is concerned with how to combine these substrings in an optimal way. We called this the "Minimal Grammar Parsing" problem and give a polynomial solution for it. Thanks to this decomposition, we are able to define new algorithms that outperform the state-of-the-art one by 10% regarding the final grammar size. We are particularly interested in the feasibility of these algorithms. For this, we analyse the impact of using different maximality classes of repeats and the tradeoff between efficiency and final grammar size. We also present algorithmic improvements for existing off-line algorithms, which include a careful in-place update of an enhanced suffix array. Regarding the applications, we consider the impact of the non-uniqueness of smallest grammars on Structure Discovery. We prove that the number of smallest grammars can be exponential in the size of the sequence and then analyse the stability of the discovered structures between minimal grammars for real-life examples. With respect to Data Compression, we divide a grammar-based compressor into three different steps and consider each of them separately. We then define a new algorithm that optimises the size of the final bitstream instead of the size of the grammar. Applying it on DNA sequences show that this algorithm outperforms any other DNA specific grammar-based compressor. We improve over this result by using inexact repeats, namely rigid patterns and achieve compression rate up to 25% better compared to the previous best DNA grammar-based coder. Besides obtaining better compression rate, this approach also permits to envisages interesting continuations of this work to generalise the resulting grammars.
Motivé par la découverte automatique de la structure hiérarchique de séquences d'ADN, nous nous intéressons au problème classique de la recherche de la plus petite grammaire algébrique générant exactement une séquence donnée. Ce problème NP-dur a été largement étudié pour des applications comme la compression de données, la découverte de structure et la théorie algorithmique de l'information. Nous proposons de décomposer ce problème en deux problèmes d'optimisation complémentaires. Le premier consiste à choisir les chaînes de la séquence qui seront les constituants de la grammaire finale alors que le second, que nous appelons «analyse grammaticale minimale", consiste à trouver une grammaire de taille minimale permettant l'analyse syntaxique de ces constituants. Nous donnons une solution polynomiale au problème d'«analyse grammaticale minimale" et montrons que cette décomposition permet de définir un espace de recherche complet pour le problème de la plus petite grammaire algébrique. Nous nous intéressons aux algorithmes praticables permettant de retourner une approximation du problème en un temps suffisamment raisonnable pour être appliqués à de grandes séquences telles que les séquences génomiques. Nous analysons l'impact de l'utilisation de classes différentes de maximalité de répétitions pour le choix des constituants et le compromis entre l'efficacité et la taille de la grammaire finale. Nous présentons des avancées algorithmiques pour une meilleure efficacité des algorithmes hors-ligne existants, dont notamment la mise à jour incrémentale de tableaux de suffixes en cours de recodage. Enfin, la nouvelle décomposition du problème nous permet de proposer de nouveaux algorithmes génériques permettant de trouver des grammaires 10% plus petites que l'état de l'art. Enfin, nous nous intéressons à l'impact de ces idées sur les applications. En ce qui concerne la découverte de structures, nous étudions le nombre de grammaires minimales et montrons que ce nombre peut être exponentiel dans le pire cas. Nos expérimentations sur des jeux de séquences permettent cependant de montrer une certaine stabilité de structure au sein des grammaires minimales obtenues à partir d'un ensemble de constituants. En ce qui concerne la compression des données, nous contribuons dans chacune des trois étapes de la compression à base de grammaires. Nous définissons alors un nouvel algorithme qui optimise la taille de la chaine de bits finale au lieu de la taille de la grammaire. En l'appliquant sur les séquences d'ADN, nos expérimentations montrent que cet algorithme surpasse tout autre compresseur spécifique d'ADN à base de grammaire. Nous améliorons ce résultat en utilisant des répétitions inexactes et arrivons à améliorer les taux de compression de 25% par rapport aux meilleurs compresseurs d'ADN à base de grammaire. Outre l'obtention de taux de compression plus performants, cette approche permet également envisager des généralisations intéressantes de ces grammaires.
Bioinformatique
Données -- Compression (informatique)
Algorithmes
Grammaire générative
Apprentissage automatique
Gallé, Matthias
Nicolas, Jacques
Infante-Lopez, Gabriel
Rennes 1
Universidad nacional de Córdoba
Université européenne de Bretagne (2007-2016)