PLaSMA : un algorithme hybride pour le probl`eme d`alignement

publicité
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.
Téléchargement