Approximation of superstring, indexation and genome assembly
Approximation de superchaîne, indexation et assemblage de génome
Résumé
Whole genome can not be read by the current sequencing technologies. Instead, the output is short sequences which are portions with errors of the whole genome. One must then proceed to an assembly of these sequences (called read) to find the sequence of the complete genome. A theoretical version of this problem is the problem of the shortest superstring: given a set of words (own set of reads), we try to find the shortest string that contains all others as substring (the genome of origin). Studied since the 60s, this problem is notoriously difficult to solve by both exactly and approximate methods.Genome assembly requires some reads preprocessing, such as the correction of errors introduced by the sequencing. Some correction softwares (or other pre-treatments) use an indexing data structure of the sequences to localize errors. However, after the correction, this data structure is lost and the assembly uses only the corrected reads. In this thesis, we wonder how to use indexing structures to facilitate or to improve the quality of the genome assembly.First, we show that the graphs used in assembly algorithms could quickly rebuild from an indexing structure (de Bruijn graph, contracted de Bruijn graph and overlap graph). In addition, we present a new graph which summarizes the information of conventional assembly graphs and that we call the hierarchical overlap graph.Secondly, we wondered how an indexing data structure could directly help to solve the theoretical problem of the shortest superstring. For this purpose, we study the solutions that the greedy algorithm gives to this problem (their approximation, their combinatorics, ...) and many of these variants (reverse complement case, cyclic superstring case, case cover by a set of superstrings). This has solved several questions about the complexity and the approximation of these problems. In particular, the greedy algorithm solves in linear time the question of the shortest cyclic cover of strings. Although the greedy algorithm is the simplest and one of the most studied of these problems, it remains a mystery. Our study has highlighted a new graph, the superstring graph, which corresponds to a dip from solutions of the greedy algorithm in the index structure that is the suffix tree. In other words, the superstring graph summarizes all the greedy solutions in a linear space.Finally, attention has turned to the algorithms of the best assemblers used in practice (IDBA, Spades), which have improved the assembly of short reads using several assembly graphs. We show firstly that the superstring graph can store more information than these assemblers and with a complexity in much smaller space. Then, it is apparent that the greedy algorithm for a variant of the shorter superstring problem provides sequences which include the contigs found for these algorithms. These results link the assembly in practice and the superstring problems, and give a strong theoretical framework for studying these heuristic algorithms.
Actuellement, les technologies de séquençage ne permettent de lire la séquence d'un génome entier d'un individu, mais donnent les séquences de portions courtes de ce génome avec des erreurs. On doit ensuite procéder à un assemblage de ces séquences (que l'on appelle lectures ou "read" en anglais) pour retrouver la séquence du génome complet. Une version théorique de cette problématique est le problème de la plus courte superchaîne: étant donné un ensemble de mots (notre ensemble de lectures), on cherche à trouver le plus petit mot qui contient tous les autres comme sous-chaîne (le génome d'origine). Ce problème étudié depuis les années 60 est notoirement difficile à résoudre de manière exacte et approchée.L'assemblage nécessite certains pré-traitements des lectures, comme par exemple la correction des erreurs dues au séquençage dans les lectures (au sens où on cherche à enlever les erreurs). Certains logiciels de correction (ou d'autres pré-traitements) utilisent une structure d'indexation des séquences pour repérer les erreurs. Or, après la correction, cette structure de données est perdue et l'assemblage n'utilise plus que les lectures corrigées. Dans cette thèse, on se demande comment utiliser les structures d'indexation pour faciliter ou améliorer la qualité de l'assemblage.Dans un premier temps, on a montré qu'à partir d'une structure d'indexation, on pouvait rapidement reconstruire les graphes utilisés dans les algorithmes d'assemblage (graphe de Bruijn, graphe de Bruijn contracté, graphe de chevauchements). De plus, on a mis en évidence un nouveau graphe, le graphe hiérarchique de chevauchements ou "Hierarchical Overlap Graph", qui résume les informations des graphes classiques de l'assemblage.Dans un deuxième temps, on s'est demandé comment une structure d'indexation pouvait aider à résoudre directement le problème théorique de la plus courte superchaîne. Pour cela, on a étudié les solutions que l'algorithme glouton donnait à ce problème (leur approximation, leur combinatoire, ...) et à plusieurs de ces variantes (cas des mots renversés et complémentaires, cas de superchaîne cyclique, cas de couverture par un ensemble de superchaînes). Ceci a permis de résoudre plusieurs questions concernant la complexité et l'approximabilité de ces problèmes. En particulier, l'algorithme glouton permet de résoudre en temps linéaire la question de la plus petite couverture par des chaînes cycliques. Même si l'algorithme glouton est le plus simple et un des plus étudiés pour ces problèmes, il n'en reste pas moins un mystère. Notre étude a permis de mettre en évidence un nouveau graphe, le graphe des superchaînes ou "Superstring Graph", qui correspond à un plongement des solutions de l'algorithme glouton dans la structure d'indexation qu'est l'arbre des suffixes. Autrement dit, le graphe des superchaînes synthétise l'ensemble des solutions gloutonnes dans un espace linéaire.Enfin, on s'est intéressé aux algorithmes des meilleurs assembleurs utilisés en pratique (IDBA, SPAdes) qui ont permis d'améliorer l'assemblage de lectures courtes en utilisant plusieurs graphes d'assemblage. Nous avons montré tout d'abord que le graphe des superchaînes permet de stocker plus d'informations que ces assembleurs et avec une complexité en espace bien plus faible. Ensuite, il ressort que l'algorithme glouton pour une variante du problème de plus courte superchaîne donne des séquences qui incluent les contigs trouvés pour ces algorithmes. Ces résultats permettent de lier l'assemblage pratique et les problèmes de superchaînes, et donnent un cadre théorique fort pour étudier ces algorithmes heuristiques.
Domaines
Autre [cs.OH]Origine | Version validée par le jury (STAR) |
---|
Loading...