• Aucun résultat trouvé

2.2 Aligner deux séquences

Parce qu’elles résument les spécificités physico-chimiques des acides aminés, les ma- trices de score sont un outil indispensable pour aligner deux séquences l’une à l’autre. Plusieurs algorithmes ont été développés qui utilisent ces matrices afin de calculer de manière automatique (c’est-à-dire non supervisée) l’alignement de plus fort score.

2.2.1 Algorithme de Needleman et Wunsch

Reprenons le problème brièvement énoncé au début de ce chapitre. Il s’agit d’aligner les deux séquencesAACWKet AAYK(nous appelons s1 la première et s2la seconde). Pour

ce faire, on peut procéder en examinant en parallèle l’une et l’autre de ces séquences, en progressant de gauche à droite pour construire l’alignement. À chaque pas de l’algorithme, on peut effectuer au choix l’un des trois mouvements suivants :

– consommer le caractère courant de s1et le caractère courant de s2, les décréter ali-

gnés l’un à l’autre et les placer comme tels en les ajoutant à la fin de l’alignement en cours de construction,

– consommer le caractère courant de s1sans toucher à s2. On ajoute à la fin de l’aligne-

ment en cours de construction le caractère consommé, aligné contre un gap dans la ligne correspondant à s2,

– consommer le caractère courant de s2sans toucher à s1. On ajoute à la fin de l’aligne-

ment en cours de construction le caractère consommé, aligné contre un gap dans la ligne correspondant à s1.

En progressant ainsi, on construit un alignement. Lorsqu’une des deux séquences vient à épuisement, si l’autre aussi est simultanément tarie alors on a terminé, sinon on doit aligner tous les caractères non consommés de la séquence non vide contre des gaps, et on a ensuite terminé.

Un tel mécanisme se représente logiquement dans un tableau. On peut voir en figure 2.3 les chemins correspondant à l’alignementA A C W KA A Y − K (noir et bleu) et àA A C W KA A − Y K (noir et rouge).

Le problème des gaps se traite classiquement en affectant une pénalité (score néga- tif) à l’ouverture d’un gap et une autre pénalité, moins forte, pour la prolongation d’un gap. Avec cette technique, un gap présente un coût affine, fonction de sa longueur. Cette modélisation se base sur le fait que l’ouverture d’un gap est plus rare dans les séquences biologiques que l’extension d’une zone de gaps contigus déjà existante. Dans [Henikoff et Henikoff, 1992], les auteurs proposent un score de −12 pour l’ouverture d’un gap (c’est- à-dire pour le premier caractère aligné contre un caractère ‘-’) et de −4 pour l’extension de gap (c’est-à-dire pour chacun des caractères suivants). L’algorithme d’alignement inté-

22 CHAPITRE 2. ALIGNER DES SÉQUENCES HOMOLOGUES A A A A − C K K Y W − W s1 s2

A

A

C

W

K

A

A

Y

K

<fin> Y C

Figure 2.3. Deux chemins d’alignement (noir/bleu ou noir/rouge) correspondant à l’aligne- ment de s1avec s2.

grant de tels gaps avec pénalités affines est dû à Osamu Gotoh [Gotoh, 1982].

Nous avons maintenant tous les outils pour calculer le score total d’alignement cor- respondant à un chemin dans un tableau tel que celui représenté en figure 2.3 : il suffit de sommer les différents scores ou pénalités accumulés le long du chemin (cf. figure 2.4).

L’algorithme de Needleman-Wunsch proprement dit [Needleman et Wunsch, 1970] propose une méthode efficace pour explorer l’espace des chemins. Il s’agit d’abord de construire en une passe le tableau des scores partiels optimaux aboutissant en un point donné du quadrillage présenté en figure 2.3. Chacun de ces scores partiels correspond à l’alignement d’une séquence préfixe de s1avec une séquence préfixe de s2. Le score opti-

mal récolté en bas à droite du tableau correspond au meilleur alignement global possible. Il suffit alors d’avoir pris soin de retenir lors du parcours du quadrillage la direction d’où venait l’alignement partiel optimal pour reconstruire ainsi, en rebroussant chemin à partir du bord inférieur droit, l’alignement global optimum. C’est un exemple de programma-

tion dynamique, c’est-à-dire un algorithme qui construit progressivement la solution à un

problème en considérant les solutions optimales à des sous-problèmes. La traduction mathématique de ce qui précède peut s’énoncer ainsi : • soit la séquence s1de taille n à aligner avec la séquence s2de taille m,

2.2. ALIGNER DEUX SÉQUENCES 23 s1 s2

A

A

C

W

K

A

A

Y

K

<fin> +4 +4 −12 −2 +2 −12 +5

Figure 2.4.Calcul des scores. Le chemin noir/bleu score −1 tandis que le chemin noir/rouge score +3. Cette différence s’explique par le fait qu’il est bien plus courant de rencontrer une substitution entre le tryptophane (W) et la tyrosine (Y) (score +2) qu’entre cette dernière et la cystéine (C) (score −2).

• soit une matrice M à coefficients Mi ,j entiers, avec i ∈ [1,n] et j ∈ [1,m],

• on utilisera pour initialiser le remplissage de M des éléments fictifs tous nuls M0,j et

Mi ,0,

• on construit progressivement M en partant du coin supérieur gauche M1,1 pour

aboutir au coin inférieur droit Mn,m, en effectuant de manière itérative des re-

cherches de maximum : Mi ,j = max    Mi −1,j−1+ Ss1[i ],s2[j ] Mi −1,j+ Ss1[i ],gap Mi ,j −1+ Sgap,s2[j ] (2.3)

• parallèlement, lorsqu’on calcule Mi ,j on retient simultanément la direction d’où

vient le chemin de score partiel maximum, dir(i, j ) ∈ {up,left,upleft}.

• enfin, lorsqu’on est arrivé au bout et que Mn,m est renseigné (et par construction

il inclut déjà l’éventualité de longs gaps finaux depuis les éléments de type Mi <n,m

ou Mn,j <m), il suffit de suivre à l’envers le chemin dir(i, j ) à partir de la case de

coordonnées (n,m) pour établir l’alignement global de score maximal égal à Mn,m.

Le caractère optimal du chemin obtenu provient directement de la propriété de dé- composition décrite par l’équation (2.3) : le chemin optimal jusqu’à un certain point se

24 CHAPITRE 2. ALIGNER DES SÉQUENCES HOMOLOGUES

compose du chemin optimal jusqu’à un point antérieur et d’un pas incrémental entre ce point et le point courant.

2.2.2 Algorithme de Smith et Waterman

L’algorithme de Smith-Waterman [Smith et Waterman, 1981] propose une légère modi- fication de l’algorithme de Needleman-Wunsch visant à permettre l’alignement local entre deux séquences. Alors que la problématique de l’alignement global consistait à définir un alignement qui consomme coûte que coûte tous les caractères des deux séquences, l’ali- gnement local s’attache à rechercher des fragments de séquences prises dans l’une et dans l’autre et s’alignant bien entre eux. Bien souvent, deux séquences protéiques apparentées l’une à l’autre ne vont pas nécessairement présenter un alignement global satisfaisant, par exemple parce que l’une aura subi bon nombre d’insertions par rapport à l’autre, ou simplement parce que, autour de sous-unités fonctionnelles appelées domaines et rela- tivement bien conservées, le reste des séquences n’est absolument pas conservé et donc difficilement alignable. Dans un tel contexte, l’algorithme de Smith et Waterman permet de découvrir sans information supplémentaire des couples de fragments alignables l’un à l’autre.

La modification proposée par les auteurs au programme de Needleman et Wunsch est très simple : elle consiste à«reprendre à zéro»l’alignement en cours dans la matrice M

dès lors qu’on a atteint un score négatif. Par construction, la matrice M dans l’algorithme de Smith et Waterman ne contient donc que des valeurs positives ou nulles, puisqu’on a rajouté un terme (0) à l’opération«max»de l’équation (2.3).

Cette astuce demande cependant quelques ajustements supplémentaires :

– un alignement peut démarrer à n’importe quel endroit dans la table mettant en re- gard l’une et l’autre des deux séquences, mais également se terminer n’importe où. On ne déterminera donc pas l’alignement à partir du seul coin inférieur droit du ta- bleau, mais on parcourra la totalité du tableau pour y repérer les valeurs maximales, – le score attendu pour un alignement aléatoire doit nécessairement être négatif, sans quoi les alignements longs recevraient automatiquement un score plus grand que les alignements courts, même étendus aléatoirement,

– on doit au moins avoir un score d’alignement s(a,b) positif, sans quoi le tableau se- rait irrémédiablement rempli de zéros.

Ces deux algorithmes ont fait l’objet de maintes optimisations depuis leur publication. Avec des sophistications plus ou moins importantes (par exemple pour cibler a priori les sous-séquences dans lesquelles on est susceptible de trouver un alignement local), c’est toujours l’algorithme de Smith et Waterman qui est employé pour découvrir des similarités entre séquences, par exemple dans le célèbre logiciel BLASTet ses dérivés.