Actes JNPC’03 PLaSMA : un algorithme hybride pour le problème d’alignement multiple de séquences Vincent Derrien, Jean-Michel Richer, Jin-Kao Hao Université d’Angers 2, Bd Lavoisier, 49045 Angers Cedex, France email: derrien,richer,hao @info.univ-angers.fr Résumé PLaSMA est un algorithme hybride pour l’alignement multiple de séquences. Cet algorithme combine en effet alignement progressif et recherche locale. L’algorithme a été testé sur quelques instances dont les tailles varient entre 5 et 17 séquences de protéines. La comparaison avec Clustal W et SAGA montre que ce nouvel algorithme permet de trouver à chaque fois des résultats de meilleure qualité. 1 Introduction 1.1 L’alignement de séquences L’alignement de séquences d’ADN et de protéines est un problème fondamental en bioinformatique. Son but est de mettre en évidence des zones communes à ces séquences pour en extraire de l’information. Des zones communes correspondent souvent à des fonctions communes, mais peuvent aussi être le signe d’une parentée entre les espèces dont sont issues les séquences. L’ADN et les protéines peuvent être modélisés sous forme d’alphabets de 4 et 20 lettres respectivement. pris Définition 1 - On appelle séquence une suite ordonnée de caractères la longueur de . dans un alphabet . On note Un alignement de séquences peut être représenté sous la forme d’une matrice contenant lignes. Chaque séquence est placée dans une des lignes de façon continue ou non. C’est-à-dire que l’on autorise le fractionnement des séquences, afin de pouvoir mettre en regard le plus grand nombre de similarités possibles. Les emplacements libres de la matrice reçoivent le caractère ‘-’ appelé gap. 345 346 !#" + . + &%(' un ensemble de séquences définies sur un alphabet . Définition 2 - Soit dont les éléments appartiennent à Un alignement des séquences de est une matrice et qui vérifie : – la suppression des caractères ‘ ’ dans la matrice donne les séquences initiales de , – Pour tout entier compris entre 1 et , il n’existe pas de colonne de la matrice contenant uniquement le caractère ‘ ’. La qualité d’un alignement peut être estimée au moyen de fonctions d’évaluation. La plus connue est la fonction de somme des paires qui permet d’associer une valeur à toute matrice d’alignement. Plus la valeur est élevé et plus l’alignement est considéré comme étant de bonne qualité. Le problème de l’alignement pour un ensemble de séquences consiste à trouver l’alignement qui maximise la fonction d’évaluation. *)(,+-" $ ' 1.2 Alignement de deux séquences L’alignement de deux séquences ou alignement par paire, est un cas particulier de l’aligneet de longueurs respectives et , il existe ment multiple. En effet, pour deux séquences un algorithme efficace pour trouver le meilleur alignement au sens de la fonction d’évaluation. Cet algorithme est basé sur la méthode programmation dynamique [Cormen, Leiserson et Rives, . 1990], et il permet d’obtenir le meilleur alignement avec une complexité en / 0 ' 132405%&'76 1.3 Alignement multiple de séquences On parle d’alignement multiple de séquences lorsque le nombre de séquences est supérieur strictement à 2. L’algorithme basé sur la méthode de programmation dynamique peut être généralisé séquences. Toutefois, dans la pratique sa complexité spatiale le rend inutilisable pour pour aligner plus de 3 ou 4 séquences. Le problème de l’alignement multiple de séquences à été démontré NP-complet [Wang et Jiang, 1994]. 98;: 2 Etat de l’art Devant la forte complexité des méthodes exactes, plusieurs heuristiques ont été développées. Elles peuvent être classées suivant deux types d’approches distinctes : les méthodes progressives et les méthodes globales. Les méthodes progressives sont réalisées de façon itérative. Initialement l’ensemble des séquences est partitionné, et les séquences de chacun de ces sous-ensembles sont alignées. Ensuite les différents alignements sont progressivement alignés entre eux. Le processus se termine lorsqu’il ne reste qu’un seul alignement contenant toutes les séquences. L’algorithme progressif le plus connu est celui de Clustal W [Thompson, Higgins et Gibson, 1994]. Il réalise les alignements de façon progressive en utilisant l’algorithme de programmation dynamique pour 2 séquences. Lorsque deux séquences ont été alignées, l’algorithme les regroupe sous forme d’une unique séquence consensus appelée profil. Les profils peuvent ensuite être alignés comme des séquences par la méthode de programmation dynamique. Les méthodes globales réalisent l’alignement multiple en prennant initialement toutes les séquences simultanément. Les différentes approches sont plus variées que pour les méthodes 347 progressives. Nous citerons principalement SAGA [Notredame et Higgins, 1996] basé sur un algorithme génétique qui comme Clustal W donne de bons résultats. Les autres algorithmes sont basés sur différentes approches telles que recuit simulé, modèles de Markov ou graphes avec contraintes. 3 Principe de PLaSMA L’algorithme de PLaSMA propose une approche intermédiaire entre l’alignement progressif et l’alignement global. En effet PLaSMA réalise un alignement multiple en utilisant une méthode progressive, mais contrairement à Clustal W, les séquences qui ont été alignées sont conservées. On évite ainsi la perte d’information de Clustal W en n’ayant pas à construire de profils. L’algorithme se déroule en deux étapes principales. Tout d’abord un premier traitement permet d’obtenir les distances entre toutes les séquences. A partir de ces séquences, on peut trouver l’ordre dans lequel les séquences vont être alignées. L’algorithme général de PLaSMA est le suivant : 1. Alignement par paires avec la méthode de programmation dynamique : (a) Alignement optimal de chaque couple de séquences, (b) Création d’une matrice de distances. 2. Alignement itératif et progressif au moyen d’une méthode de recherche locale : (a) choisir les deux groupes de séquences les plus proches, (b) les aligner en utilisant une méthode de recherche locale, (c) les fusionner pour former un nouveau groupe, et mettre à jour la matrice des distances, (d) arrêter lorsque toutes les séquences sont alignées, sinon reprendre en 2.a. La première étape est la même que celle de Clustal W. Les évaluations obtenues pour chacun entre toutes des alignements par paires permettent de construire une matrice de distances les séquences. Cette matrice sera utilisée par la suite pour déterminer l’ordre d’alignement des séquences. La seconde étape correspond à la partie principale de l’algorithme de PLaSMA. Il s’agit ici de construire de façon itérative l’alignement de toutes les séquences. Pour cela l’algorithme va prendre les deux séquences ou ensemble de séquences les plus proches afin de les aligner. L’alignement est réalisé par une méthode de descente, en insérant ou en supprimant des gaps. Une fois cet alignement terminé, un nouveau groupe de séquences est créé. La matrice des distances est ensuite mise à jour pour prendre en compte ce nouveau groupe. Par rapport à Clustal W, PLaSMA offre l’avantage de conserver toutes les séquences. L’alignement se fait en travaillant directement sur les deux groupes de séquences à aligner. Ils forment la configuration initiale, point de départ de la méthode descente. L’algorithme va ensuite transformer la configuration initiale en réalisant des insertions ou des suppressions de gaps dans un des deux groupes, ou dans les deux simultanément. Lorsqu’il n’est plus possible d’améliorer cette configuration, toutes les séquences sont regroupées. <%5 4 Résultats expérimentaux et comparaisons Nous avons pour l’instant utilisé l’implémentation de PLaSMA sur 5 jeux d’essais souvent cités comme exemples dans la littérature. Le nombre de séquences de ces jeux d’essais sont com- 348 pris entre 5 et 17, et les longueurs varient entre 153 et 264 acides aminés. Nous avons utilisé Clustal W et SAGA sur les mêmes jeux d’essais. Pour cela nous nous sommes placés dans les mêmes conditions expérimentales. Les résultats ont été évalués en utilisant la fonction de somme des paires. Nous pouvons tout d’abord constater qu’à chaque fois, PLaSMA donne les meilleurs résultats. Pour les jeux d’essais ayant des séquences assez similaires, l’amélioration est peu importante. En revanche, pour un des jeux d’essais constitué de séquences assez différentes, les résultats obtenus avec PLaSMA sont nettement meilleurs. 5 Conclusion et perspectives Dans cet article nous avons présenté PLaSMA un nouvel algorithme hybride pour l’alignement multiple de séquences. Cet algorithme est basé sur une approche progressive qui combine programmation dynamique et recherche locale. Le programme a été évalué sur 5 jeux d’essais allant de 5 à 17 séquences et des longueurs variant entre 153 et 264 acides aminés. Nous avons également utilisé ces jeux d’essais avec Clustal W et SAGA, en prenant les mêmes paramètres. Dans tous les cas, l’évaluation par la somme des paires donne de meilleurs résultats pour PLaSMA. L’algorithme est actuellement reprogramm é afin de réduire le temps de calcul. Nous prévoyons de tester le programme sur un plus grand nombre de jeux d’essai, et notamment en utilisant BAliBASE [Thompson, Plewniak et Poch, 1998]. Nous envisageons également des techniques de post-optimisation, notamment pour mieux répartir les brèches insérées. Références [Cormen, Leiserson et Rives, 1990] T.H. Cormen, C.E. Leiserson, R. L . Rivest Introduction to Algorithms The MIT Electrical Engineering and Computer Science Series, 1990. [Wang et Jiang, 1994] L. Wang et T. Jiang On the complexity of multiple sequence alignment. Journal of computational biology, 4:337–348, 1994. [Thompson, Higgins et Gibson, 1994] J.D. Thompson, D.G. Higgins, T.J. Gibson CLUSTAL W : improving the sensitivity of progressive multiple sequence alignment through sequence weighting, positions-specific gap penalties and weight matrix choice. Nucleic Acids Research, 22:4673–4680, 1994. [Thompson, Plewniak et Poch, 1998] J. D. Thompson, F. Plewniak O. Poch BAliBASE: A benchmark alignment database for the evaluation of multiple alignment programs. Bioinformatics, 15:87–88, 1998. [Notredame et Higgins, 1996] C. Notredame, D.G. Higgins SAGA : Sequence Alignment by Genetic Algorithm. Nucleic Acids Research, 24:1515–1524, 1996.