• Aucun résultat trouvé

3.2 D´ecouverte de patterns

3.2.5 Recherche de patterns pr´esentant des occurrences avec erreurs

recherchent un pattern d’une longueur l donn´ee et d´efini sur Σ uniquement, pattern qui a un nombre minimum d’occurrences dans S avec exactement k ou au plus k erreurs. La particularit´e de ce type de probl`eme est que le pattern recherch´e n’a pas forc´ement d’oc-currences exactes dans S mais un ensemble d’occurrences approch´ees, qui peuvent ˆetre tr`es diff´erentes les unes des autres lorsqu’on les compare deux `a deux.

Cette probl´ematique s’est consid´erablement d´evelopp´ee `a la suite du lancement d’un probl`eme challenge (Pevzner and Sze, 2000), lequel est d´ecrit et comment´e en d´etail dans la Section 5.2. Prenons en exemple le param´etrage de base du probl`eme challenge : on commence par g´en´erer al´eatoirement T = 20 s´equences sur un alphabet de cardinalK = 4 (ADN) de longueur 600. On g´en`ere ensuite un pattern de longueur l = 15 (sur l’alpha-bet Σ) que l’on ins`ere exactement une fois par s´equence, mais en effectuant `a chaque insertion d = 4 substitutions al´eatoires. Deux insertions peuvent donc avoir jusqu’`a huit symboles diff´erents. ´Enum´erer tous les patterns de longueur 15 et v´erifier s’ils ont une occurrence par s´equence avec quatre erreurs n’est clairement pas r´ealisable en un temps raisonnable. Un certain nombre d’algorithmes traitant cette probl´ematique existent, dont la plupart sont d´edi´es au challenge. Citons notamment WINNOVER (Pevzner and Sze, 2000), PROJECTION (Buhler and Tompa, 2001; Buhler and Tompa, 2002), en particulier PatternBranching (Price et al., 2003), Multiprofiler (Keich and Pevzner, 2002), et SMILE (Marsan and Sagot, 2000; Marsan, 2002). Il faut pr´eciser que SMILE n’est pas d´edi´e au challenge, mais pr´esente des fonctionnalit´es plus g´en´erales. Il peut trouver un pattern `a une distance de Hamming d’au plusdde ses occurrences, et peut en fonction du choix de

l’uti-3.2. D ´ECOUVERTE DE PATTERNS 35 lisateur autoriser une ou plusieurs r´egions variables dans le pattern. Il permet ´egalement de rechercher des patterns sur un alphabet ´etendu.

WINNOVER propose de travailler directement `a partir des facteurs deS de longueur 15. Cette approche construit un graphe o`u chaque noeud est un facteur de longueur 15 et tous les facteurs sont repr´esent´es. Deux noeuds sont reli´es par un arc s’ils n’appartiennent pas `a la mˆeme s´equence et s’ils ont un nombre de symboles diff´erents plus petit ou ´egal `a 2d. Un grapheT−parti1 (T = 20) est ainsi obtenu dans lequel les 20 occurrences du signal forment une clique de taille 20. La recherche de cliques dans un graphe est un probl`eme NP-difficile. Le fonctionnement de Winnover est bas´e sur l’id´ee de r´eduire la taille du graphe en supprimant les noeuds dont on est sˆur qu’ils n’appartiennent pas `a une grande clique. Le programme utilise pour cela la notion de clique augmentable. Un noeud u est voisin de la clique C={v1, v2, . . . , vk} si{v1, v2, . . . , vk, u}forme ´egalement une clique, et une clique est dite augmentable si elle a au moins un voisin dans chacune des T parties du graphe. Le principe de r´eduction du graphe est bas´e sur l’observation que tous les arcs d’une clique maximale de taille T font ´egalement partie d’au moins

T−2 k−2

cliques aug-mentables de taille k. Le programme retire alors tous les arcs qui appartiennent `a moins de

T−2 k−2

cliques. Le proc´ed´e est it´er´e jusqu’`a l’obtention d’une petite collection de cliques augmentables dans lesquelles la clique maximale de tailleT aura une chance d’ˆetre trouv´ee en un temps raisonnable.

L’algorithme PROJECTION est une approche probabiliste, dont l’id´ee principale con-siste `a utiliser des fonctions de hachage. Le principe concon-siste `a transformer un mot de longueurlen un autre mot de longueurd form´e par la concat´enation des symboles choisis dans d positions parmi l. Une fonction donn´ee r´esulte du choix al´eatoire des d positions qui sont concat´en´ees. Tous les facteurs de S de longueurl sont transform´es par une fonc-tion de hachage donn´ee. Si cette foncfonc-tion produit un mot plus souvent que les autres, il y a de bonne chance qu’il soit issu d’une partie non n´egligeable des occurrences du mot ins´er´e.

L’algorithme PatternBranching consiste en un grimpeur strict sur le voisinage de Ham-ming. Cet algorithme est le plus efficace pour r´esoudre le probl`eme challenge, mˆeme sur des instances plus difficiles du probl`eme. L’espace de recherche correspond `a tous les mots de longueur l. Le grimpeur cherche `a minimiser une fonction objectif corres-pondant `a une somme de distances de Hamming minimales. Soit A un mot de lon-gueur l et soit H(A, P) la distance de Hamming entre A et P, un facteur de S. Soit

soit la somme des distances de Hamming minimales pour chaque s´equence entreA et tous les facteurs d’une s´equence. Le grimpeur est lanc´e sur tous les facteurs de S et cela suffit g´en´eralement `a identifier les occurrences du motif ins´er´e.

Il faut noter que d’une fa¸con g´en´erale, ce type de mod`ele n’est pas tr`es significa-tif du point de vue biologique. En effet, ce mod`ele suppose que les substitutions sont

1Un grapheT-parti est ´egalement appel´eTcolorable.

´equiprobables pour toutes les positions. De plus dans le cas le plus contraint (chercher un mot qui a une occurrence par s´equence avec exactement d erreurs), il suppose que toutes les occurrences du motif biologique recherch´e ont subit le mˆeme nombre de substitutions

`a partir d’un ancˆetre commun, ce qui n’est que tr`es rarement le cas dans la pratique.

Si l’on autorise au plus d erreurs, les occurrences d’un motif auront une chance d’ˆetre retrouv´ees pour autant que d soit petit par rapport `a l. Dans le cas contraire, il est fort probable que ce type de mod`ele identifie un grand nombre d’occurrences, parmi lesquelles les occurrences r´eelles du motif ne seront pas discernables des occurrences non significa-tives.

3.3 Les alignements deux ` a deux par programmation dy-namique

La publication d´ecrivant l’algorithme de Needleman et Wunsch de programmation dynamique pour l’alignement de deux s´equences (Needleman and Wunsch, 1970) est cer-tainement l’une des les plus connues en bioinformatique. Cet algorithme permet d’effectuer un alignement global entre deux s´equences de longueurnetmde fa¸con optimale avec une complexit´e spatiale et temporelle de O(nm). Il existe plusieurs variantes, toutes bas´ees sur la programmation dynamique (Gotoh, 1982; Smith and Waterman, 1981). Nous ne pr´esenterons ici que l’algorithme de Needleman and Wunsh pour l’alignement global. Le lecteur int´eress´e pourra se r´ef´erer au deuxi`eme chapitre de (Durbin et al., 1998) dans le-quel plusieurs de ces algorithmes sont d´ecrits en d´etail.

Les algorithmes d’alignement de s´equences par programmation dynamique sont inten-sivement utilis´es en bioinformatique. Il sont de plus `a la base de la majeure partie des programmes d’alignement multiples. L’alignement de deux s´equences consiste `a mettre en relation les similarit´es qu’elles peuvent pr´esenter. Afin d’illustrer la nature d’un ali-gnement, prenons un exemple d’alignement global entre deux prot´eines homologues de serpents : une neurotoxine du Bongare ray´e (Bungarus multicinctus, NXLH5 BUNMU) et une cardiotoxine du Cobra cracheur (Naja sputatrix, CTX1 NAJSP) :

CTX1 NAJSP MKTLLLTLVVVTIVCLDLGYTLKCNKLVPLFY---KTCPAGKNLCYKIF NXLH5 BUNMU METLLLTLVVVTIVCLDLGYTMQCKTC--SFYTCPNSETCPDGKNICVKRS CTX1 NAJSP

MVAT----PKVPVKRGCIDVCPKSSLLVKYVCCNTDRCN-NXLH5 BUNMU WTAVRGDGPKREIRRECAATCPPSKLGLTVFCCTTDNCNH

Deux symboles dispos´es l’un au-dessous de l’autre sont dits appari´es. Certains appa-riements sont constitu´es de deux symboles identiques alors que d’autres concernent des symboles diff´erents : un acide amin´e ayant ´et´e substitu´e par l’autre au cours de l’´evolution.

Nous verrons plus loin que certaines substitutions sont biologiquement pertinentes car elle concernent des acides amin´es aux propri´et´es physico-chimiques similaires, et sont plus souvent observ´ees dans des alignements suppos´es “corrects” par rapport `a ce que l’on at-tendrait par hasard. Un appariement de deux symboles suppose qu’ils sont homologues, c’est-`a-dire qu’ils sont suppos´es descendre d’un ancˆetre commun. Un alignement, est une description explicite des homologies suppos´ees, contrairement aux patterns ou aux mod`eles probabilistes (que nous verrons plus loin). Un alignement suppose deux types de muta-tion : la substitution (un symbole est remplac´e par un autre) et l’insertion ou lad´el´etion.

3.3. ALIGNEMENTS DEUX `A DEUX DE S ´EQUENCES 37