´ Factulte des Sciences et des Techniques ´ Universite de Rouen Master 2 recherche I.T.A.

´ (Informatique Theorique et Applications)

2004 – 2005

Extraction de motifs utilisant des techniques de vecteurs binaires

Samuel G RAU
samuel.grau@club-internet.fr

Responsable : Thierry Lecroq

Table des mati` res e

Introduction 1 Probl´ matique e 1.1 Rappels . . . . . . . . . . . . . . . . . . . 1.1.1 G´ nomique . . . . . . . . . . . . . e 1.1.2 Dogme central . . . . . . . . . . . 1.2 R´ gulation de l’expression des g` nes . . . . e e 1.2.1 Les m´ canismes . . . . . . . . . . e 1.3 D´ tails de r´ gulation et objectifs . . . . . . e e 1.3.1 D´ finition biologique du promoteur e 1.3.2 D´ finition des objectifs . . . . . . . e ´ 2 Etude d’un algorithme rapide 2.1 Extraction de motifs courts non ordonn´ s e 2.1.1 Mod` les pour les motifs . . . . . e 2.2 Fonction de score . . . . . . . . . . . . . 2.2.1 Consistance . . . . . . . . . . . . 2.2.2 Signification . . . . . . . . . . . 2.2.3 Couverture . . . . . . . . . . . . 2.2.4 Score . . . . . . . . . . . . . . . 2.3 Description de l’algorithme . . . . . . . . 2.3.1 Description g´ n´ rale . . . . . . . e e 2.3.2 Description d´ taill´ e . . . . . . . e e 2.4 G´ n´ ration de motifs courts . . . . . . . . e e 2.4.1 Tentative d’´ num´ ration . . . . . e e 2.4.2 Le logiciel YMF . . . . . . . . . . 2.5 Recherche de motifs courts . . . . . . . . 2.5.1 Recherche exacte . . . . . . . . . 2.5.2 Recherche approch´ e . . . . . . . e

4 6 6 6 7 9 9 14 14 15 17 17 18 19 19 20 21 21 21 22 22 25 25 25 29 29 33

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

2

3 Implantation 3.1 Optimisations . . . . . . . . . . . . . . . . . . . . 3.1.1 Optimisations d’ordre g´ n´ ral . . . . . . . e e 3.1.2 Techniques SIMD . . . . . . . . . . . . . 3.1.3 Compl´ ment Renvers´ . . . . . . . . . . . e e 3.1.4 Combinaison et application des techniques 3.2 Performances R´ sultantes . . . . . . . . . . . . . . e 3.3 Interface graphique . . . . . . . . . . . . . . . . . 3.3.1 Description et param` tres g´ n´ raux . . . . e e e 3.3.2 Interface pour YMF . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

36 36 37 38 42 43 44 45 45 46 49 49 50 52 55 56 64

4 R´ sultats exp´ rimentaux e e 4.1 Premiers r´ sultats . . . . . . . . . . . . . . . . . . . . . . . . . . e 4.1.1 Exemple 1 - G` nes putatifs co-r´ gul´ s par HAP3 . . . . . e e e 4.1.2 Exemple 2 - G` nes putatifs co-r´ gul´ s par GCN4 . . . . . e e e Conclusion A Compl´ ment renvers´ acc´ l´ r´ e e ee e Bibliographie

3

Introduction

´ La comprehension du fonctionnement d’un tissu, qu’il soit dans un ´ ´ ´ etat normal ou pathologique, implique generalement l’analyse de l’expres` ´ ` ` sion des genes qui lui sont specifiques. Apres identification de ces genes, ´ ` ´ ´ ´ l’etape suivante consiste souvent a determiner la raison de cette specificite ` ´ ´ tissulaire. Elle peut trouver son origine a differents niveaux : regulation de ` ´ l’expression du gene, stabilite de son ARN messager (ARNm) ou de sa ´ ´ ´ ` ´ proteine, le premier cas etant le plus frequent. La premiere etape dans l’ex` pression des genes est l’initiation de la transcription qui est un point de ˆ controle important. ´ ´ D’un point de vue pathologique, les defauts de regulation de la trans` cription de certains genes sont l’une des causes majeures de cancer. L’ana´ ` ´ ´ lyse des regions promotrices des genes ayant une specificite tissulaire ´ ´ commune est donc incontournable pour comprendre la specificite de leur ´ ´ ´ transcription et leurs eventuelles de-regulation. De plus, lorsqu’un groupe ` ´ ` de genes est specifique a un tissu, l’une des suppositions naturelles est ´ ´ ` ´ que cette specificite est probablement due a une regulation commune de ` ´ ´ ´ ces genes... donc qu’ils ont des elements de regulation communs. ´ ´ De nombreuses etudes portant sur la prediction de promoteurs et la ´ ´ ´ ´ ´ ´ ´ recherche des elements de regulation de ces regions ont ete menees ; la ˆ ´ plupart, tout comme la notre, commencent par une etape d’analyse bioinformatique. ´ C’est dans ce cadre que se deroulera notre recherche. Nous com´ ´ ´ ` mencerons par donner quelques elements de biologie afin d’apprecier a ´ sa juste valeur, le contenu de ce papier. Cela nous permettra de redefinir, ` ´ ´ ` de maniere plus specifique, notre problematique, a savoir, celle de la mise ´ ´ ` en evidence de motifs consensus dans les regions promotrices de genes ´ ´ ´ potentiellement co-regules et la recherche de leur caracteristique. ` ` ´ Puis, nous exposerons la maniere d’y parvenir a l’aide d’une methode ´ ` ´ ayant deja fait ses preuves [9], methode, utilisant des techniques de vec´ ´ teurs de bits et methode pour laquelle, nous avons tenter d’en ameliorer les 4

´ performances afin de produire un outil efficace en signification de resultats ´ ´ et rapidite d’execution. ` ´ Enfin, nous chercherons a valider les resultats obtenus au travers de ´ leur pertinence biologique et de l’ensemble de leur particularites, pour les` decouvrir l’essence meme de leur organisation. ´ ˆ quelles reste a

5

C HAPITRE 1

Probl´ matique e

´ ` Nous savons maintenant que cette etude repose tres fortement, sur une assise biologique. Notre approche informatique se verra donc comme ` ` l’application des outils informatiques a une branche de la biologie, a savoir, ´ la biologie moleculaire, dont nous allons rappeler les bases. Nous allons ´ ´ ´ ´ ´ ´ ´ donc exposer la problematique generale bien que celle-ci a ete enoncee dans l’introduction.

1.1. Rappels
´ Dans le cadre de notre etude, nous nous positionnons d’un point de vue applicatif des outils informatique

1.1.1

G´ nomique e

D´ finition 1.1.1 (G´ nomique). Science qui etudie la structure et le fonctionnement e e ´ des g´ nomes et en particulier les g` nes. e e ´ La g´ nomique etudie le g´ nome, c’est-` -dire la mol´ cule d’ADN situ´ e dans e e a e e ˆ les cellules d’un etre vivant. L’ADN est comme un collier de quatre « perles » diff´ rentes (les bases) qui contient les g` nes, plans de montage des prot´ ines. La e e e g´ nomique a pour but de trouver l’ordre des « perles », d’identifier les g` nes et leur e e fonction (quelles prot´ ines ils codent) et de d´ terminer le rˆ le du reste de l’ADN. e e o ` e ˆ La g´ nomique vise a l’´ tude compl` te du mat´ riel h´ r´ ditaire des etres vie e e ee vants : parties codantes ou g` nes (5% du g´ nome chez l’homme) et non codantes. e e La g´ nomique structurale comprend l’´ tablissement de « cartes » du g´ nome, son e e e s´ quencage puis la localisation des g` nes et des zones de r´ gulation sur les chromoe ¸ e e ´ somes. La g´ nomique fonctionnelle etudie la fonction des g` nes (prot´ ine cod´ e), e e e e leur expression et sa r´ gulation ainsi que les interactions entre g` nes. Elle n´ cessite e e e 6

l’´ tude des ensembles de prot´ ines issues des g` nes (objet de la prot´ omique). Les e e e e applications de la g´ nomique sont multiples : l’agronomie (OGM), la m´ decine e e (g` nes responsables de maladie ou y pr´ disposant), la pharmacologie (g` nes cibles e e e de m´ dicaments, prot´ ines issues d’OGM) ou la justice (empreinte g´ n´ tique). e e e e L’´ tude de ces g` nes induit n´ cessairement l’´ tude des structures sur lesquelles e e e e elles reposent. Pour cela, nous allons redonner les quelques notions de biologie ´ mol´ culaire qui nous seront utiles tout au long de cette etude. e

1.1.2

Dogme central

ˆ Le ph´ nom` ne de la vie sur Terre peut etre envisag´ , de facon simplificatrice, e e e ¸ ` comme la transmission d’une g´ n´ ration a l’autre d’un ensemble d’informations e e ` ´e qui permettent la construction, a partir de constituants el´ mentaires trouv´ s dans e l’environnement terrestre et d’´ nergie d´ riv´ e essentiellement du rayonnement soe e e laire, de « machines de survie » ou organismes vivants. Le syst` me de stockage et e ˆ de transmission d’informations doit etre assez robuste pour que la plupart des desˆ ` cendants d’un etre donn´ soient viables, mais assez sujet a variation pour g´ n´ rer e e e avec le temps des formes vivantes de plus en plus diversifi´ es. e Le « dogme central », introduit par Francis Crick (le co-d´ couvreur de la struce ` ˆ ture d’ADN) a la fin des ann´ es 50, veut que chez tous les etres vivants, l’infore mation ne soit transmise que dans un sens : de l’ADN o` repose l’information, u ` ` a l’ARN, une structure transitoire permettant sa transmission a une machine de traduction, aux prot´ ines, les constituants de base qui font fonctionner la cellule et e l’organisme entier. L’ADN est donc le constituant chimique majeur de l’h´ r´ dit´ . ee e r´ plication e transcription ADN transcription inverse ARN r´ plication e de l’ARN traduction ´ proteine

pseudo-r´ plication e

F IG . 1.1 – Le « dogme central (bleu) et certaines de ces exceptions (rouge) ».

Rappelons pour commencer, quel est ce constituant chimique pr´ sent dans e ˆ toutes les cellules vivantes. Chez tous les etres vivants donc, l’information g´ n´ e e tique est stock´ e dans des polym` res de structure relativement simple, connus sous e e le nom d’acides nucl´ iques. e

7

Il en existe deux types, l’acide d´ soxyribonucl´ ique ou ADN, et l’acide riboe e nucl´ ique ou ARN. e La chaˆne principale des ces deux polym` res est compos´ e de sucres, le ribose ı e e pour l’ARN, et le d´ soxyribose pour l’ADN, li´ s entre eux par des phosphates. Au e e ribose et au d´ soxyribose, sont attach´ s des bases puriques et pyrimidiques, qui e e ´e sont les el´ ments porteurs d’information. Cet ensemble fait de l’ADN une macro mol´ cule, qui est donc form´ e de plusieurs nucl´ otides donnant un polynucl´ otide. e e e e Chaque nucl´ otide contient : e • un groupe phosphate, ` • un ose a cinq atomes de carbone (pentose), • une base, qui peut-ˆ tre soit une purine, soit une pyrimidine. La distinction e entre les purines et les pyrimidines vient du fait que les purines poss` dent e deux h´ t´ rocycles azot´ s alors que les pyrimidines n’en poss` dent qu’un. ee e e Dans l’ADN, le pentose est un d´ soxyribose, les nucl´ otides sont donc des e e d´ soxyribonucl´ otides. Dans l’ARN par contre, l’ose est un ribose, les nucl´ otides e e e y sont donc des ribonucl´ otides. e L’ADN est un acide nucl´ ique bicat´ naire, c’est-` -dire constitu´ de deux brins, e e a e associ´ s par des liaisons hydrog` ne (H). Les liaisons H s’´ tablissent entre une pue e e rine sur un brin, et une pyrimidine sur l’autre brin. Le nombre de liaisons possibles entre les mol´ cules fait que l’ad´ nine (A), est toujours reli´ e a la thymine (T) par e e e ` deux liaisons H alors que la guanine (G) est toujours reli´ e a la cytosine (C) par e ` trois liaisons H. La compl´ mentarit´ des paires de bases r´ sulte de leur structure e e e chimique. Elle fˆ t etablie par les travaux de Chargaff qui d´ montra que dans un u ´ e ´ ADN bicat´ naire, le nombre d’ad´ nine est egal au nombre de thymine et celui des e e ´ cytosine egal au nombre de guanine. La s´ quence de nucl´ otides constituant un brin d’ADN est compl´ mentaire de e e e celle de l’autre brin. Cette compl´ mentarit´ d´ termine la fid´ lit´ de la transmission e e e e e de l’information g´ n´ tique. Elle nous permettra, nous le verrons, de d´ terminer e e e avec exactitude la s´ quence nucl´ otidique d’un brin lorsque la s´ quence de l’autre e e e brin est connue. L’orientation d’un brin, d´ finie par ses extr´ mit´ s 5’ et 3’ (Fig. 1.2), est toujours e e e inverse de celle du brin compl´ mentaire ; les deux brins de l’ADN sont dits antie parall` les. L’association entre les deux brins, assur´ e par des liaisons hydrog` nes, e e e ` g´ n` re des contraintes physiques qui imposent a la mol´ cule d’ADN sa forme bien e e e connue d’h´ lice. e Le m´ canisme de fabrication des prot´ ines ainsi que la structure g´ n´ rale de e e e e l’ADN est donc maintenant d´ crit dans sa globalit´ . Il est un point int´ ressant dans e e e ` ´ ce processus, celui de la transcription. C’est a cette etape du « dogme central »

8

5’ T G G G A C T A A A C G T T G A C C C T G A T T T G C A A C 3’

3’

5’

F IG . 1.2 – Deux chaˆnes d’ADN repr´ sent´ es selon la notation conventionnelle. ı e e Les fl` ches indiquent le sens de lecture du brin. e que selon un grand nombre de param` tres, que nous tenterons de d´ tailler, cere e ` tains g` nes seront exprim´ s et d’autres r´ prim´ s. Etendons nos explications a ce e e e e ´ m´ canisme afin de mieux appr´ hender le termes qui seront utilis´ s au cours de e e e ´ cette etude.

1.2. R´ gulation de l’expression des g` nes e e
Un g` ne est un fragment d’ADN porteur d’une information g´ n´ tique se cone e e cr´ tisant sous la forme d’un ARN ou d’une prot´ ine. L’expression d’un g` ne en e e e prot´ ine n´ cessite la synth` se pr´ alable d’un ARN par le m´ canisme de transe e e e e ` cription. Contrairement a la r´ plication qui duplique toute la mol´ cule d’ADN, e e la transcription ne porte que sur l’information g´ n´ tique de certaines s´ quences e e e d’ADN (g` nes). Un syst` me enzymatique complexe assure la transcription de l’ine e formation g´ n´ tique de l’ADN en ARN. Trois classes majeures d’ARN sont proe e duites pour la transcription : • l’ARNm (messager) constitue la s´ quence nucl´ otidique qui sera traduite en e e une s´ quence d’acides amin´ s. e e • l’ARNt (de transfert) sert d’adaptateur capable de d´ coder l’information e ` g´ n´ tique de l’ARNm et de transf´ rer les acides amin´ s correspondant a e e e e une chaˆne polypeptidique en cours de synth` se. ı e • l’ARNr (ribosomal) forme, avec des prot´ ines sp´ cifiques, un assemblage e e supramol´ culaire, le ribosome. Celui-ci assure la traduction de l’ARNm. e Divers processus de r´ gulation de l’expression des g` nes font qu’` tout moe e a ` ment, seules les prot´ ines n´ cessaire a la cellule sont synth´ tis´ es, bien que toutes e e e e les cellules contiennent toute l’information g´ n´ tique de l’organisme. e e

1.2.1

Les m´ canismes e

Parmi les m´ canismes du vivant, celui de la synth` se des prot´ ines est celui qui e e e ´ englobe notre etude. La synth` se des prot´ ines est le processus par lequel une cele e 9

lule assemble les acides amin´ s isol´ s pr´ sent dans son cytoplasme en une chaˆne e e e ı ` prot´ ique, a partir de l’information contenue dans l’ADN. Elle se d´ roule en deux e e ´ etapes au moins : • la transcription de l’ADN en ARN messager, • la traduction de l’ARN messager en une prot´ ine. e Chez les eucaryotes (organismes dont les cellules poss` dent un noyau), ces e ´ deux etapes sont successives, la premi` re se d´ roule dans le noyau, la seconde, dans e e le cytoplasme. Chez les procaryotes (organismes dont les cellules ne poss` dent pas e ´ ˆ de noyau), les deux etapes ont lieu dans le cytoplasme et peuvent etre simultan´ es, e la traduction d´ butant alors que la transcription n’est pas encore achev´ e. e e

F IG . 1.3 – Proc´ d´ g´ n´ ral de synth` se des prot´ ines d’un organisme vivant. Aue e e e e e teur : Guillaume Bokiau. Source : http://fr.wikipedia.org/wiki/.

Transcription La premi` re etape de la synth` se des prot´ ines est la transcription d’un g` ne de e ´ e e e l’ADN en une mol´ cule d’ARN messager (ARNm ou acide ribonucl´ ique messae e ` ger). L’´ tape se d´ roule a l’int´ rieur mˆ me du noyau d’une cellule eucaryote et dans e e e e le cytoplasme des procaryotes. Les acides ribonucl´ ique (ARN) sont des mol´ cules e e obtenues par la transcription de l’information g´ n´ tique port´ e par l’ADN. Ce sont e e e des chaˆnes polynucl´ otides qui diff` rent de l’ADN par la pr´ sence de bases de ı e e e type Uracile (U) remplacant les Thymines (T) et de sucres de type ribose, en lieu ¸ et place de d´ soxyriboses. C’est la s´ quence des bases puriques (A, G) et pyrimie e diques (T, C) de l’ADN qui commande la s´ quence des bases (A, G, U, C) de l’ARN. e Compar´ a l’ADN, l’ARN des cellules vivantes est de petite taille et sa dur´ e de e` e vie est limit´ e. e

10

Les ARN sont donc des mol´ cules constitu´ es d’un seul brin (monocat´ naire). e e e A l’exception de l’ARN messager qui poss` de une structure lin´ aire, les ARNr e e et ARNt sont fait d’un brin fr´ quemment repli´ sur lui-mˆ me par appariement e e e local des bases. Ils adoptent ainsi une conformation faite de boucles et de tiges ´ ` (dite en epingles a cheveux ou bourrelets) et sont souvent associ´ s a des prot´ ines e ` e sp´ cifiques. e

F IG . 1.4 – Sch´ ma de l’ARNt (de transfert). α , anti-codon (3 nucl´ otides) ; e e β , site de fixation de l’acide amin´ ; γ , boucle variable ; δ , branche D ; τ , e branche T ; A, boucle de l’anti-codon ; D, boucle D ; T , Boucle T Source : http://fr.wikipedia.org/wiki/.

La transcription fait intervenir une activit´ enzymatique nomm´ e ARN poe e ´ lym´ rase holoenzyme. Cet enorme complexe enzymatique d´ roule et disjoint les e e deux brins de l’ADN h´ lico¨dale. Il recrute les mononucl´ otides du futur brin e ı e d’ARN et les assemble par compl´ mentarit´ avec les bases de la s´ quence du e e e brin d’ADN. Le processus de transcription est assez similaire chez les procaryotes (bact´ ries) et chez les eucaryotes (animaux et v´ g´ taux). Toutefois les cellules eue e e caryotes poss` dent trois types d’ARN polym´ rases (I , II, III) au lieu d’un seul e e chez les procaryotes. Chaque vari´ t´ de polym´ rase est responsable de la synth` se ee e e d’une classe d’ARN. Ainsi la pol I synth´ tise des ARN ribosomaux, la pol II les e ARNm et la pol III les ARNt et ARNr-5S. ´ La transcription s’effectue en trois etapes successives : initiation, elongation, ´ et terminaison. ` Initiation L’´ tape d’initiation d´ bute lorsque l’ARN polym´ rase s’associe a une e e e r´ gion sp´ cifique d’un brin d’ADN appel´ e promoteur. Un promoteur est e e e constitu´ d’une s´ quence consensus contenant l’arrangement de bases TATA e e

11

F IG . 1.5 – Processus de transcription de l’ADN. Auteur : Guillaume Bokiau. Source : http://fr.wikipedia.org/wiki/. (code Pribnow) et CAAT (chez les eucaryotes). Un facteur prot´ ique sp´ cie e ` fique (facteur sigma) s’associe a la polym´ rase et lui permet de se fixer e ` sur le brin a transcrire. Elle peut alors s´ parer les deux brins d’ADN et e cr´ ez une bulle de transcription permettant l’appariement des nucl´ otides e e ` compl´ mentaires de la s´ quence d’ADN a transcrire. e e ´ Elongation L’´ longation de la chaˆne d’ARN s’effectue par polym´ risation suce ı e cessive de nucl´ otides dans le sens 5’ - 3’. e Terminaison L’´ tape de terminaison intervient lorsqu’un signal indiquant la fin e du g` ne est lu. Un signal de terminaison est g´ n´ ralement constitu´ par une e e e e s´ quence palindromique riche en Guanine et Cytosine suivie d’une r´ gion e e essentiellement compos´ d’Ad´ nine. Cette s´ quence cause la formation d’un e e e bourrelet sur la chaˆne d’ARN, provoquant la dissociation du complexe polyı ´ merase-ADN-ARN. Dans certains cas la terminaison fait egalement intervenir un facteur prot´ ique appel´ facteur rho. e e A l’issu de la transcription, le brin d’ARN synth´ tis´ est appel´ transcrit prie e e maire car il est le n´ gatif (compl´ ment renvers´ ) de la s´ quence compl` te du g` ne. e e e e e e La maturation du transcrit primaire s’effectue par expulsion des s´ quences non e codantes ou introns (´ pissage). e Traduction Les prot´ ines sont les constituants fondamentaux des cellules. Elles poss` dent e e une structure complexe faite de chaˆnes polypeptides, obtenues par polym´ risation ı e de sous-unit´ s appel´ es acides amin´ s. L’expression de la s´ quence d’un ARN e e e e messager en une chaˆne polypeptide est nomm´ e traduction. La traduction est un ı e processus complexe qui utilise les trois classes d’ARN (Arnt, ARNr et ARNm) 12

dont toutes participent au transfert de l’information des g` nes aux prot´ ines, mais e e seul l’ARNm est d´ positaire de l’information, les ARNr et ARNt n’´ tant que des e e ` outils n´ cessaires a la lecture de l’information. e

F IG . 1.6 – Processus de traduction de l’ARN en prot´ ine. Auteur : Guillaume Boe kiau. Source : http://fr.wikipedia.org/wiki/. Une fois que le brin d’ARNm a atteint le cytoplasme, o` a lieu la traduction, u ` il se fixe a un ribosome qui va assembler une s´ quence d’acides amin´ s selon les e e « instructions » du code g´ n´ tique : chaque codon (groupe de 3 nucl´ otides de e e e ` l’ARNm) correspond a un acide amin´ , sauf 3 codons, appel´ s codons-stop, qui e e ´ provoquent l’arrˆ t de la transcription. Il y a egalement un codon (AUG) qui peut tant e coder le d´ but de la transcription que l’acide amin´ « m´ thionine ». e e e Le ribosome va parcourir le brin d’ARNm codon par codon et va par l’interm´ diaire d’un ARN de transfert (ARNt) ajouter un acide amin´ a la prot´ ine en e e` e cours de fabrication selon le codon lu. Une fois le codon-stop atteint, la prot´ ine est e compl` te : le ribosome se d´ tache de la prot´ ine et du brin d’ARNm, et la prot´ ine e e e e est lib´ r´ e dans l’organisme. ee ` Le mˆ me filament d’ARNm peut servir a la fabrication simultan´ e de plusieurs e e mol´ cules de prot´ ines, lorsque plusieurs ribosomes s’en chargent. Avant d’ˆ tre e e e ` ` d´ truite, cette mol´ cule participe en effet a la fabrication de 10 a 20 prot´ ines. e e e D` s que la chaˆne d’acides amin´ s est termin´ e, elle se d´ tache du ribosome e ı e e e qui est alors disponible pour une nouvelle synth` se. S’entame alors le transport des e prot´ ines, qui les m` nent hors de la cellule et dans le syst` me sanguin. e e e Pour r´ sumer, les enzymes responsables de la synth` se de l’ARN, les ARN poe e lym´ rase, apr` s avoir reconnu une r´ gion de l’ADN appel´ e promoteur, ce fixe sur e e e e ce promoteur entraˆnant, apr` s s´ paration localis´ e des brins d’ADN, le synth` se ı e e e e de l’ARN par l’un des deux brins. Le nucl´ otide, point de d´ part de la transcription, TSS (Transcription Start e e Site), est par convention num´ rot´ +1, les suivants en aval sont num´ rot´ s +2, e e e e +3, etc., alors que ceux en amont sont num´ rot´ s −1, −2, −3, etc. e e 13

` C’est cette derni` re r´ gion, la r´ gion en amont de g` nes que nous allons a e e e e pr´ sent d´ tailler. e e

1.3. D´ tails de r´ gulation et objectifs e e
Les quantit´ s de prot´ ines synth´ tis´ es par une cellule ne sont pas n´ cessairee e e e e ment fixes mais varient en fonction des besoins de la cellule. Le colibacille Escherichia coli est aussi bien capable de synth´ tiser des m´ tabolites (produits du e e m´ tabolisme, n´ cessaire pour le d´ veloppement) comme le tryptophane ou l’hise e e tidine que de les pr´ lever dans le milieu. L’un ou l’autre de ces m´ canismes est e e d´ clench´ selon le s besoins de la cellule et selon que les m´ tabolites en quese e e tion sont pr´ sents ou absents du milieu. G´ n´ ralement, la bact´ rie ne synth´ tise e e e e e des m´ tabolites que s’il n’est pas possible de les extraire du milieu. Elle fait ainsi e l’´ conomie de synth` ses inutiles. Les diff´ rents niveaux d’expression des g` nes e e e e t´ moignent de cet ajustement permanent entre les besoins cellulaires et les m´ cae e nismes mol´ culaires destin´ s a y faire face. e e ` Cette r´ gulation r´ sulte de diff´ rences de reconnaissance des promoteurs par e e e l’ARN polym´ rase et de diff´ rences dans le d´ marrage de la traduction. Il existe e e e ` aussi des syst` mes de r´ gulation qui font exprimer les g` nes a la demande. D’autres e e e syst` mes ajustent la concentration d’une prot´ ine dans la cellule en fonction des e e besoins impos´ s par l’environnement. On parle de r´ gulation de l’expression des e e g` nes pour d´ signer tous ces m´ cnismes. e e e ` e Nous voyons bien a pr´ sent, l’int´ rˆ t d’´ tudier ces m´ canismes en offrant un ee e e outil permettant de d´ terminer, si cela est possible, les caract´ ristiques et propri´ t´ s e e ee des promoteurs.

1.3.1

D´ finition biologique du promoteur e

Le promoteur est la r´ gion situ´ e en amont d’un ou de plusieurs g` nes, contee e e ´e nant les el´ ments permettant de r´ guler leur transcription et d’assurer un taux e maximal d’expression, pour autant que les conditions n´ cessaires soient r´ unies e e (pr´ sence de prot´ ines ad´ quates). S’il est parfois difficile de s’accorder sur la lie e e mite 5’ d’un promoteur, sa limite 3’ est en revanche d´ finie par un consensus : c’est e le « +1 » de transcription (ou TSS Transcription Start Site), l’endroit o` d´ bute la u e transcription du g` ne. La localisation du TSS est d’ailleurs l’une des principales e difficult´ s, en particulier chez les eucaryotes. e La structure des promoteurs eucaryotes et procaryotes est en effet tr` s dife f´ rente. La seule similitude r´ side dans la pr´ sence d’´ l´ ments stabilisant le come e e ee ´e plexe prot´ ique charg´ de la transcription (ARN polym´ rase). Les autres el´ ments, e e e ` ` plus nombreux et r´ gulant plus finement l’expression, sont sp´ cifiques a l’une ou a e e l’autre de ces cat´ gories d’organismes. e

14

a. ADN R´ gion promotrice e R´ gion codante e du g` ne e

-35

-30

-12

-7

+1

5’ --- tagtgta TTGACA tgatagaagcactctac TATAAT ctcaat A ggtccact --- 3’

5’ --- atcacat AACTGT actatcttcgtgagatg ATATTA gagtta T ccaggtga --- 3’

Transcription

5’ --- agguccacu . . . --- 3’

ARNm F IG . 1.7 – Promoteur procaryote. a. Exemple de promoteur de g` ne de Escherichia e coli.

1.3.2

D´ finition des objectifs e

Il existe des algorithmes permettant de trouver des motifs courts. Parmi ceux propos´ s, nous pouvons prendre l’exemple pr´ sent´ par Sinha et Tompa [12]. Il e e e s’agit d’une m´ thode statistique pour rechercher des motifs ayant un rˆ le de r´ gue o e lation dans les r´ gions promotrices facteur de transcription dont la signification, e au sens biologique, est mesur´ e par z-score. Nous porterons un fort int´ rˆ t pour e ee cet exemple par la suite. R´ cemment, plutˆ t que de ne s’int´ resser qu’` un motif e o e a ´e unique, des ensembles de motifs ordonn´ s poss´ dant, de plus, des br` ches ont et´ e e e intensivement consid´ r´ afin de rechercher des motifs d’ADN conserv´ s dans les ee e r´ gions en amont de g` ne, comme cela est la cas pour les ensembles de g` nes e e e co-exprim´ s et diverses familles de g` nes fonctionnels. e e ´ Il est evident que les ensembles de motifs plutˆ t que les motifs uniques sont o potentiellement plus ad´ quats dans la discrimination d’ensembles de g` nes partie e culiers les uns par rapport aux autres. En cons´ quence des r´ sultats satisfaisants e e ` obtenus a l’aide d’ensembles de motifs courts ordonn´ s acceptant des br` ches, sure e git la question selon laquelle des ensembles de motifs courts non ordonn´ s, sans e

15

aucune contrainte sur les br` ches, ne seraient-ils pas appropri´ s pour d´ couvrir des e e e motifs. Nous pouvons adjoindre une autre question : si, d’une certaine mani` re e ` nous obtenons des motifs a valeur significative biologiquement parlant, comment ces motifs sont ordonn´ s dans les r´ gions en amont de g` nes donn´ s, et quelles e e e e genres de contraintes sur les br` ches ces motifs satisfont-ils ? e

16

C HAPITRE 2

´ Etude d’un algorithme rapide

` Suite a la lecture de l’article de Marayuma et al. [9], notre but fut de ˆ ˆ ´ nous replacer dans les memes conditions experimentales que celles uti´ lisees par les auteurs. Dans cette partie, nous allons tenter d’apporter une ´ ` ´ description convenable de l’algorithme propose, ou nous detaillerons son ´ ˆ fonctionnement et son interet. Le but essentiel de cet algorithme est le classement d’arrangements de ´ motifs, profitant d’un temps d’execution faible par l’utilisation d’algorithmes ´ de recherche de motifs bases sur des techniques de vecteurs de bits.

2.1. Extraction de motifs courts non ordonn´ s e
L’extraction de motifs courts ou plus pr´ cis´ ment, l’identification de s´ quences e e e ` consensus est un probl` me ayant d´ j` donn´ suite a grand nombre d’´ tudes. Les e ea e e ´ r´ sultats obtenus etant plus ou moins viables, nous portons notre attention sur une e ´ etude offrant donc, il va de soit, des r´ sultats int´ ressants. e e Les auteurs ont eu l’id´ e suivante : sachant qu’il est aujourd’hui possible de e caract´ riser des s´ quences consensus ayant un rˆ le dans la r´ gulation, pouvonse e o e nous caract´ riser plusieurs de ces s´ quences simultan´ ment et d´ terminer parmi e e e e ces collections form´ es, lesquelles poss` dent une valeur biologique important dans e e la r´ gulation commune de plusieurs g` nes. e e Afin de concr´ tiser une telle id´ e, nous allons d´ crire un mod` le pour les e e e e s´ quences consensus, puis, y ajouter une m´ thode permettant de classer la valeur e e du poids biologique de ces s´ quences au travers d’un ensemble de fonctions obe jectives (fonction de score), pour enfin d´ terminer un algorithme r´ alisant cette e e op´ ration. Nous d´ finissons la notion de fonction objective dans ce qui suit. e e

17

2.1.1

Mod` les pour les motifs e

Soit Σ = {A, C, G, T, R, Y, M, K, S, W, B, D, H, V, N} un alphabet. Cet alphabet est l’alphabet IUPAC (International Union of Pure and Applied Chemistry) des codes des acides nucl´ iques. Les codes de l’alphabet IUPAC sont commun´ ment utilis´ s e e e pour repr´ sent´ s des nucl´ otides ambigus ; c’est-` -dire, pour lesquels il n’est pas e e e a possible de d´ terminer la « base » de mani` re exacte. Les correspondances sont e e visibles en table 2.1. Dans cet exemple d’algorithme, nous introduisons la notion de motif qui sera une chaˆne sur l’alphabet Σ. Bien sˆ r, une restriction sera impos´ e ı u e ´ ` sur la longueur des motifs. Celle-ci sera inf´ rieure ou egale a 32. Cette restriction e ` n’a rien a voir d’un point de vue biologique mais vient simplement du fait que les algorithmes de comparaison de chaˆnes de caract` res que nous utiliserons ne nous ı e permettent pas d’utiliser de longs mots ; ce sont donc des raisons calculatoires qui nous imposent ces limites de taille. Bien que cette limite dans la taille des motifs recherch´ s puisse paraˆtre au premier abord trop restrictive, il est n´ cessaire de se e ı e rappeler que les s´ quences consensus que nous tentons de mettre en valeur ne sont e pas, par exp´ rience, des motifs longs (≃ 20 carac` res). e e Code A C G T U R Y M K W S B D H V N Description Ad´ nine e Cytosine Guanine Thymine Uracile Purine (A ou G) Pyrimidine (C, T ou U) C ou A T, U ou G T, U ou A C ou G C, T, U ou G (pas A) A, T, U ou G (pas C) A, T, U ou C (pas G) A, C, ou G (pas T, pas U) N’importe qu’elle base ( A, C, G, T ou U)

TAB . 2.1 – Table des codes IUPAC – Codes des acides nucl´ iques. e

Comme nous l’avons vu pr´ c´ demment, la taille des motifs avec lesquels nous e e ´ ` travaillons n’exc` de pas 32 caract` res. Nous pourrions etendre cette taille a 64 en e e profitant des nouvelles architectures propos´ es sur le march´ de la micro infore e matique. Cependant, nous r´ servons l’usage de mots machines (mots m´ moires, e e ` registres) de taille sup´ rieure a 32 bits aux optimisations que nous apporterons par e 18

la suite. De part leur nature, la taille des motifs consid´ r´ s n’exc` de pas les 32 ee e caract` res et il n’est pas n´ cessaire d’effectuer cette extension. e e Il nous est alors possible d’appliquer en pratique, un algorithme de comparaison tr` s rapide en utilisant des op´ rations sur les bits [2] pour notre comparaison de e e motifs. Cet algorithme est en fait le L- MOTIF - COURT pour lequel nous d´ crirons e son fonctionnement en 2.5, aussi bien dans sa version exacte que dans sa version approch´ e. e Le choix ne s’est pas port´ sur les matrices pond´ r´ es en raison de deux ine ee conv´ nients de taille. La premi` re raison est tout de mˆ me assez simple. Les mae e e ´ trices pond´ r´ s ne sont pas pr´ dispos´ es a etre enum´ r´ es et c’est un point imee e e ` ˆ ee portant puisque nous l’´ num´ ration est un des points de l’algorithme trait´ . La e e e seconde raison, tout aussi simple, vient du fait qu’il est plus difficile de donner une ` signification biologique a une matrice pond´ r´ e que cela ne l’est pour un motif. ee Afin de classer les r´ sultats, les uns par rapport aux autres, nous allons d´ crire e e une fonction de score qui consiste en plusieurs fonctions objectives, que nous d´ taillons. e

2.2. Fonction de score
Dans cette section, nous allons d´ finir une fonction de score qui nous permettra e de classer les collections de motifs courts obtenus. Soit M = {m1 , . . . , mk } une collection de motifs courts. Nous nommons par le mˆ me occasion, G l’ensemble e de tous les g` nes d’un g´ nome complet. Nous d´ finissons aussi T ⊆ G un ensemble e e e particulier de g` nes du g´ nome. e e La fonction que nous pr´ sentons est compos´ e de plusieurs fonctions dites obe e jectives, c’est-` -dire, des fonctions permettant de d´ terminer les objectifs attendus. a e Dans notre cas, la fonction de score est donc compos´ e de deux fonctions objece tives : • fonction de Signification, • fonction de Couverture. toutes deux li´ es et d´ termin´ es par la notion de consistance. Nous leur appore e e tons la cr´ dibilit´ n´ cessaire dans les quelques paragraphes suivants. e e e

2.2.1

Consistance

Tout d’abord, introduisons la notion de consistance. Un g` ne g est dit consise tant avec M si pour ce g` ne g, chacun des motifs de l’ensemble M apparaˆt soit e ı dans la r´ gion en amont du g` ne soit dans la s´ quence compl´ mentaire du g` ne g. e e e e e ` La r´ gion en amont utilis´ e correspond a l’intervalle [−800, −1] dans les premiers e e ` r´ sultats d’exp´ rience (cf. 4.1) car cela correspond a la r´ gion o` sont susceptibles e e e u 19

de se trouver les r´ gions promotrices par rapport au point z´ ro du site de transcripe e tion (TSS) de la levure, Saccharomyces. cerevisiae [18]. Nous pouvons alors d´ finir l’ensemble consistant T avec M comme l’ensemble e ´e des g` nes gi de T dont tous les el´ ments de M occurrent soit dans les r´ gions en e e amont des gi soit dans les r´ gions compl´ ment´ es et renvers´ es des r´ gions en e e e e e ´ amont des gi de T . Une ecriture plus formelle nous donne : con (T, M) = {g ∈ T | g est consistant avec M}.

2.2.2

Signification

` De mˆ me, nous pouvons d´ finir la signification de M par rapport a T : e e sig (T, M) = card (con (T, M)) card (con (G, M)) (2.1)

La signification mesure la repr´ sentativit´ de M pour T relativement au g´ nome e e e complet G, et par cons´ quent, n´ glige les collections de motifs pour lesquelles e e tous les g` nes, autre que ceux pr´ sents dans T , sont consistants. Autrement dit, la e e signification va plus exactement, mesurer la multiplicit´ de M pour T . L’ensemble e M aura donc d’autant plus de signification que celle-ci est fortement consistante avec T et tr` s peu consistante avec les autres g` nes du g´ nome G. e e e
5’ 3’

... T G G G A C T A A A C G T T G ... A C C C T G A T T T G C A A C 3’ 5’

m = {GGACTAAAC, ACGTT}

5’

3’

... T G G G A C T A A A C G T T G ... A C C C T G A T T T G C A A C 3’ 5’

F IG . 2.1 – L’ensemble m = {GGACTAAAC, ACGTT} est consistant avec le g` ne dont e la s´ quence en amont est TGGGACTAAACGTTG, et son renvers´ compl´ ment´ est e e e e CAACGTTTAGTCCCA.

20

2.2.3

Couverture

` La couverture de M par rapport a T est d´ finie comme le rapport de l’ensemble e consistant de T avec M avec le nombre total de g` nes dans T , i.e., e cov (T, M) = card (con (T, M)) card (T ) (2.2)

Nous voil` en pr´ sence d’une fonction qui va nous permettre de discr´ dit´ les a e e e collections qui pourraient poss´ der une forte signification mais qui, face au souse ensemble de g` nes T n’ont aucune valeur. e

2.2.4

Score

Les deux fonctions objectives viennent de se concr´ tiser, chacune poss´ dant e e un rˆ le qui lui est propre. La signification donnera plus ou moins d’importance o aux ensembles collect´ s « pr´ sents » essentiellement dans des ensembles de g` nes e e e ´ particuliers de G et la couverture evaluera le poids d’un ensemble collect´ de motifs e dans un de ses ensembles. Nous pouvons alors int´ grer ces deux fonctions objectives simples en une seule e fonction. Cette fonction est une fonction de score et est d’une mani` re g´ n´ rale, e e e tr` s proche de celle propos´ e par Yuh-Jyh Hu et al. [6]. Nous d´ finissons donc la e e e fonction de score comme suit : Score (T, M) = 1 1 2 1 + sig (T, M) 1 cov (T, M) (2.3)

Remarque 2.2.1. Nous pouvons remarquer que les valeurs prisent par la fonction de score appartiennent a l’intervalle [0, 1] ∈ R. Une raison est que toutes les fonc` tions propos´ es jusqu’ici normalisent les r´ sultats, ce qui est d’autant plus visible e e avec cette derni` re fonction. e ` e ` Nous pouvons donc nous attendre a pr´ sent a ce que la signification et la couverture, agissent de mani` re coordonn´ e. Une telle synergie, va se r´ percuter sur e e e la fonction de score que nous venons de d´ crire et donner un poids justifi´ aux e e ensembles de motifs que nous traiterons.

2.3. Description de l’algorithme
A pr´ sent, il nous est possible de pr´ senter l’algorithme initialement propos´ e e e par Marayuma et al. [9]. L’algorithme principal utilis´ est donn´ (Fig. 2.2). e e

21

2.3.1

Description g´ n´ rale e e

´ L’algorithme se compose de deux etapes distinctes. Dans la premi` re partie de e ` l’algorithme, les motifs sont un a un compar´ s a chacune des r´ gions en amont des e ` e g` nes du g´ nome complet G ainsi qu’` chacune des r´ gions en amont des g` nes e e a e e de l’ensemble de g` nes T ⊆ G. A chaque fois qu’un motif apparaˆt dans une de e ı ces s´ quences, son occurrence est marqu´ e dans un tableau de bits qui conserve e e l’information pour la deuxi` me partie de l’algorithme. e Dans la seconde partie de l’algorithme, nous regroupons les motifs afin de former des ensembles dont le cardinal sera variable. Pour chacun des ensembles ainsi form´ s, nous calculons le score de cet ensemble. Les valeurs des scores pour les e diff´ rentes ensembles sont alors tri´ es, nous offrant les r´ sultats que nous attene e e dons.

2.3.2

Description d´ taill´ e e e

` Si l’on tient compte essentiellement a la description g´ n´ rale du fonctionnee e ment de l’algorithme, nous pouvons nous apercevoir que sa compr´ hension ne ree quiert pas d’efforts surhumains. Nous pouvons maintenant reprendre cette description afin de lui donner quelques pr´ cisions un peu plus techniques. e L’algorithme (Fig. 2.2) fait usage de tableaux de bits. Ces tableaux de bits sont ` les Bi avec i ∈ {0, . . . card (D) − 1}, et sont de taille card (G). Ils nous serviront a marquer si une occurrence d’un motif di ∈ D a eu lieu dans la s´ quence en amont e ou son compl´ ment renvers´ , d’un g` ne gi de G. e e e D´ finition 2.3.1 (Facteur). Soient x, y ∈ A∗ o` A est un alphabet. On dit que x est e u un facteur de y si et seulement si il existe u, v ∈ A∗ tel que uxv = y. ` Nous rappelons que lorsque nous faisons r´ f´ rence a gi dans notre algorithme, ee ` ` nous faisons en fait r´ f´ rence a sa r´ gion en amont. De mˆ me gi correspond a la ee e e s´ quence compl´ ment´ e renvers´ e de gi . Nous pouvons aussi ajouter que lorsqu’un e e e e ` motif di apparaˆt dans un g` ne g j , cela revient a dire que di est un facteur de g j ı e (i.e., di ∈ Fact (g j )). ˆ Les valeurs de Bij peuvent etre obtenues en utilisant un algorithme de compae e raison de chaˆnes de caract` res. La valeur de Bij d´ pend donc de la pr´ sence du ı e motif di dans la s´ quence g j et g j . e Bij = 1 si di ∈ Fact (g j ) ∪ Fact (g j ) 0 sinon .

Nous utiliserons cependant deux tableaux de bits distincts, le premier conservant les valeurs de consistance des motifs dans G et le second conservant celles dans T . Afin de calculer la « pr´ sence » d’un motif donn´ dans une s´ quence e e e 22

F IG . 2.2 : M OTIFS -E XTRACTION Entr´ es : e D : un ensemble de motifs courts sur Σ. G : l’ensemble de tous les g` nes du g´ nome. e e T ⊆ G, K ≥ 1, N ≥ 1. Sorties : Les N collections M1 , . . . , MN de motifs de D avec card (Ml ) = K ayant eu le meilleur score, avec l = 1, . . . , N. d´ but e pour chaque di ∈ D faire Bi ← Un tableau de bits de taille card (G); pour chaque g j ∈ G faire 1 si di ∈ Fact (g j ) ∪ Fact (g j ) Bij ← 0 sinon . finprch finprch pour chaque P ⊆ D faire Appliquer des ET logiques aux Bi avec i ∈ P; Soit BP le tableau de bit r´ sultant; e ` Calculer le score Score(T , P) a partir de BP ; finprch retourner Les N meilleures collections M1 , . . . , MN class´ es par Score e fin

donn´ e, nous utilisons un algorithme de recherche de motifs dans un texte, utie lisant des op´ rations sur les bits, dont la description est donn´ en 2.5. Comme nous e e ` l’avons d´ j` pr´ cis´ , ce type d’algorithme a l’avantage d’ˆ tre constant, poss´ der ea e e e e ˆ une faible complexit´ aussi bien spatiale que temporelle et etre tr` s rapide. e e Dans la seconde partie de l’algorithme, nous nous appliquons au calcul des scores pour des ensembles de motifs. Comme les ensembles form´ s ne sont pas e ` ordonn´ s (par d´ finition), cela revient a consid´ rer des combinaisons de motifs e e e (ou collections). Nous proposons alors l’algorithme 2.3 qui permet d’´ num´ rer les e e combinaisons possibles de taille c parmi n. ` Comme nous devons consid´ rer les ensembles de taille 1 a N, il nous suffit e ´ d’it´ rer l’algorithme donn´ en 2.3 pour enum´ rer successivement les ensembles de e e e ` taille 1 a N et ainsi calculer les scores des ensembles correspondants. Le calcul du score d’un ensemble donn´ est r´ alis´ en comptabilisant le nombre e e e de bits positionn´ s a 1 dans le tableau de bits des motifs consistants avec G d’une e ` part et celui des bits positionn´ s a 1 dans le tableau de bits des motifs consistants e ` 23

´ ´ F IG . 2.3 : E NUM E RATION - COMBINAISONS Entr´ es : e c : taille de la collection d´ sir´ e. e e n : nombre d’´ l´ ments. ee d´ but e T ← tableau d’entiers de taille n; pour i de 0 a c par pas de 1 faire ` Ti ← i; finpour f ← c; pour i de 0 a Cn − 1 par pas de 1 faire ` c pour j de 1 a c par pas de 1 faire ` Effectuer l’op´ ration; e finpour si T f = n − (c − f ) alors r´ p´ ter e e f ← f − 1; jusqu’` T f = n − (c − f ); a T f ← T f + 1; pour j de f + 1 a c par pas de 1 faire ` T j ← T j−1 + 1; finpour f ← c; finsi sinon T f ← T f + 1; finsi finpour fin

avec T . Cette op´ ration commence par effectuer un ET logique entre les tableaux e ` de bits des diff´ rents motifs de la collection. Les « 1 » r´ sultants correspondent a e e une apparition commune des motifs de la collection. Ce sont ces bits positionn´ s a e ` la valeur 1 qui nous permettent de calculer les cardinaux des ensembles con (T, M) et con (G, M) pour les ensembles de motifs M trait´ s et par cons´ quent les valeurs e e des fonctions sig (), cov () et enfin celle du Score () pour l’ensemble M courant. Il ne nous reste plus qu’` trier les r´ sultats et proposer les meilleurs ensembles a e pour terminer. Voici la description faite, nous pouvons nous interroger sur la mani` re dont nous pouvons choisir les motifs qui seront utilis´ s dans l’ensemble de e e ces calculs.

24

2.4. G´ n´ ration de motifs courts e e
Nous voyons depuis le d´ but de ce document, que seuls les motifs de petite e taille nous sont d’un int´ rˆ t. Nous avons le choix entre les diff´ rentes options suiee e vantes pour obtenir un domaine de motifs courts. • • • • ` G´ n´ rer les motifs a l’aide d’un algorithme de d´ couverte de motifs, e e e ` ` Construire les motifs a la main a partir de la litt´ rature, e ´ Enum´ rer tous les mots d’une longueur donn´ e, sur l’alphabet Σ, e e Utiliser un programme d’extraction de motifs.

2.4.1

Tentative d’´ num´ ration e e

Parmi ces options, nous furent pr´ alablement int´ ress´ par l’´ num´ ration de e e e e e tous les mots d’une longueur donn´ e. Bien que cette id´ e semblait pouvoir nous e e ´e offrir les el´ ments dont nous avions besoin, celle-ci s’av´ ra assez vite lourde de e cons´ quences. e En effet, nous tentˆ mes, vainement, d’´ num´ rer des motifs de la forme Γa N b Γa a e e dont nous verrons la description dans celle du logiciel YMF d´ crite en 2.4.2. Les raie ´ sons de cet echec furent les temps de calculs ainsi que l’espace m´ moire n´ cessaire e e ´ au stockage des motifs g´ n´ r´ s dont les valeurs etaient assez proches des limites e ee ´e des ordinateurs personnels actuels. Plus particuli` rement, si les calculs avaient et´ e ´e ˆ lanc´ , ce document aurait et´ termin´ bien avant que les r´ sultats ne puissent etre e e e obtenu, sachant que les calculs auraient aboutit dans une dizaine d’ann´ e. e ` Ce sont ces quelques contraintes qui nous ont donc conduit a porter notre attention sur un logiciel permettant la g´ n´ ration de motifs de la forme explicit´ e e e e ci-avant.

2.4.2

Le logiciel YMF

` e ` Une alternative a l’´ num´ ration exhaustive de tous les motifs consiste a utiliser e le logiciel YMF, d´ velopp´ par Sinha et Tompa [12]. Ce logiciel permet d’extraire e e les motifs de la forme : Γ a N b Γa o` Γ = {A, C, G, T, R, Y, W, S} ⊆ Σ et o` a et b sont deux entiers positifs. Nous u u verrons assez vite l’int´ rˆ t de tels motifs dans ce qui va suivre. Ce logiciel est ee ´ bas´ sur une m´ thode enum´ rative statistique permettant d’identifier des candidats e e e potentiels pour des facteurs de transcription de r´ gions promotrices inconnues. e Comparaison aux autres m´ thodes de recherche de motifs r´ gulateurs e e Nous l’avons vu auparavant, il existe d’autres m´ thodes de recherche de motifs e r´ gulateurs. Un grand nombre d’entre eux permettent l’obtention de motifs plus e 25

g´ n´ raux et plus longs qu’il n’est n´ cessaire pour identifier les facteurs de transe e e cription de r´ gions promotrices. Ces motifs g´ n´ ralis´ s sont en fait des matrices e e e e pond´ r´ es, des alignements ou des alignements avec br` ches. ee e ` Le prix a payer pour cette g´ n´ ralit´ est que ce type d’algorithmes ne garantit e e e de trouver des r´ sultats globalement optimaux. En fait, ils utilisent des algorithmes e ˆ gloutons et des recherches locales qui font que les r´ sultats ne peuvent etre que e optimaux localement. Cependant, ils apportent tout de mˆ me des r´ sultats assez e e ˆ int´ ressant pour ne pas etre n´ glig´ s. e e e ` e Nous voyons bien a pr´ sent que YMF se place dans un cadre interm´ diaire, e fortement plus proche de celui de l’´ num´ ration exhaustive que de celui de la ree e cherche heuristique, lui offrant ainsi par la mˆ me occasion, des r´ sultats proches e e d’un optimum global et non pas local. ´ Une autre m´ thode qui utilisait, elle aussi, une enum´ ration statistique afin de e e r´ soudre le mˆ me probl` me eu des r´ sultats tr` s satisfaisants dans la recherche e e e e e de motifs courts, contigus facteurs de transcriptions. Celle-ci poss` de cependant e ` ´ quelques inconv´ nients qui tendent a « eclipser » certains r´ sultats. e e Le simple fait de ne pas permettre la pr´ sence de caract` res espacant dans le e e ¸ motif empˆ che la d´ tection d’une r´ gion promotrice bien connue, celle de Gal4p e e e dont le motif consensus est CGGNNNNNNNNNNNCCG pour S. cerevisiae [16]. De plus, comme il s’agit d’une recherche exacte, celle-ci ne tient pas compte des variations naturelles pour un facteur de transcription donn´ . D’autres inconv´ nients ayant e e un poids important sur la discrimination des r´ sultats consid´ r´ s ont permis de e ee l’affiner et de donner la version actuelle de YMF. Variations parmi les instances de sites promoteurs Nous avons vu que YMF travaille avec des motifs de la forme Γa N b Γa . Il est alors l´ gitime de se demander ce que signifie concr` tement cette forme de motif e e et si elle a un sens, biologiquement parlant. Il se trouve que la litt´ rature et les e bases de donn´ es SCPD [18] et TRANSFAC [16] r´ v` lent des variations parmi les e e e sites promoteurs d’un simple facteur de transcription. Cependant, la nature mˆ me e ` de cette variabilit´ , varie d’un facteur a l’autre de telle sorte que le motif « core rect » est loin d’ˆ tre bien d´ fini. Heureusement, certaines tendances s’expriment et e e permettent de les inclure dans les motifs utilis´ s : e 1. Beaucoup de motifs poss` dent des « caract` res » espacant dont la taille varie e e ¸ ` de 1 a 11 paires de bases. Ceux-ci apparaissent souvent en milieu de motif et ceci car les facteurs se lient souvent comme des dim` res. e D´ finition 2.4.1. Un dim` re est un agr´ gat de deux mol´ cules li´ es entre e e e e e elles par des liaisons faibles comme par exemple une liaison hydrog` ne. e 2. Le nombre de bases bien conserv´ es (n’incluant pas les caract` res espacant) e e ¸ appartient en g´ n´ ral a l’intervalle [6, 10]. e e ` 26

` 3. Quand une variation a lieu a une position donn´ e dans un motif, il s’agit e souvent d’une transition (purine vers purine, ou pyrimidine vers pyrimi` dine) plutˆ t qu’une transversion. Cela est du a la similarit´ de la taille des o e ` nucl´ otides n´ cessaire a la fixation du domaine de liaison avec l’ADN du e e facteur de transcription. 4. Les insertions et suppressions parmi les sites promoteurs ne sont pas un ´ e ev` nement commun, encore un fois du fait de la structure fixe du domaine de liaison avec l’ADN du facteur de transcription. La d´ finition de motif pour le logiciel YMF est alors la suivante. Il s’agira d’une e ` chaˆne de caract` res sur l’alphabet {A, C, G, T, R, Y, W, S}, avec une suite de 0 a 11 ı e N au centre et un nombre limit´ de R (purine), Y (pyrimidine), S (liaison forte), e et W (liaison faible). Le choix d’un tel mod` le plutˆ t qu’une matrice pond´ r´ e est e o ee n´ cessaire pour l’´ num´ ration. e e e Mesure de la signification statistique Les motifs obtenus sont ensuite class´ s. C’est aussi sur la mani` re dont est e e mesur´ e la valeur de score que YMF se distingue des autres algorithmes propos´ s. e e En effet, une bonne mesure pour comparer les motifs doit prendre en consid´ ration e ` a la fois, le nombre d’occurrences absolues du motif dans les s´ quences propos´ es e e et la distribution g´ nomique en arri` re-plan. Pour chaque motif s, soit Ns le nombre e e d’occurrences de s dans les s´ quences en entr´ e, ce qui permet d’obtenir un nombre e e arbitraire d’occurrences par r´ gion en amont de g` ne. e e De mani` re plus sp´ cifique, soit X un ensemble de s´ quences d’ADN choisies e e e al´ atoirement tel que leur nombre et leur taille soit les mˆ mes que les s´ quences e e e en entr´ e. La seule diff´ rence est que ces s´ quences sont g´ n´ r´ es par une chaˆne e e e e ee ı de Markov d’ordre m dont les probabilit´ s de transition sont d´ termin´ es par les e e e (m + 1) − mer fr´ quences dans le compl´ ment complet de 6 000 r´ gions en amont e e e de g` ne auquel on ajoute celles en entr´ es. e e Dans leurs exp´ riences, Sinha et Tompa on choisi m = 3 de mani` re a ce que e e ` le mod` le en arri` re-plan puisse inclure les s´ quences TATA, AAAA et TTTT qui sont e e e omnipr´ sentes dans toutes les r´ gions en amont de g` ne du g´ nome. Consid´ rons e e e e e ` e a pr´ sent la variable Xs qui repr´ sente le nombre d’occurrences de s dans X, et e soient E(Xs ) et σ (Xs ) la moyenne et la d´ viation standard, respectivement. Alors, e le z-score associ´ a s est : e` Ns − E(Xs ) zs = σ (Xs ) La mesure du z-score zs de s correspond aux nombre de d´ viations standards e pour lesquelles, les valeurs observ´ es de Xs d´ passent leurs attentes. On parle e e alors souvent de « d´ viation normale ». La valeur zs est normalis´ e pour avoir e e une moyenne de 0 et une d´ viation standard de 1, afin qu’elle soit adapt´ e a la e e ` comparaison des diff´ rents motifs s. e 27

L’originalit´ de YMF r´ side donc dans une mani` re adroite d’affecter un poids e e e ` a un motif et dans la mani` re mˆ me dont le motif est d´ fini. Afin de mieux come e e ´ prendre l’int´ rˆ t du choix de ce logiciel, nous allons etudier tr` s succinctement ee e quelques uns des r´ sultats obtenus pour ce logiciel. e R´ sultats e Une fois la m´ thode impl´ ment´ e, celle-ci fˆ t ex´ cut´ e sur plusieurs ensembles e e e u e e de g` nes des r´ gions promotrices de la levure S. cerevisiae pour lesquelles le g` ne e e e consensus du site promoteur est connu. ´ ´ Sur les dix-sept echantillons test´ s, seuls deux echou` rent leur tentative de e e d´ termination du consensus connu. Le tableau 2.2 nous pr´ sente les cinq motifs e e poss´ dant le meilleur z-score. Il est assez ais´ de voir que le motif consensus ree e cherch´ se trouve en premi` re position. e e s CGGNNNNNNNNNNNCCG CGGNNNNNNNNNNNSCG CGGNNNNNNNNNNNCSG CGGNNNNNNNNNNNCCS CGGNNNNNNNNNNNYCG Ns 28 31 28 28 29 zs 32.72 28.72 26.03 25.52 25.13

` TAB . 2.2 – Les cinq motifs ayant obtenu le meilleur score pour la famille a 6 g` nes e GAL4, dont le consensus connu est CGGNNNNNNNNNNNCCG [18]. ` Un autre point important qui est permis dans la recherche de motifs a l’aide de est celle qui s’applique au cadre de notre recherche, celle des ensembles de g` nes coexprim´ s, ou plutˆ t cor´ gul´ s. Une fois de plus, YMF s’en sort assez bien. e e o e e
YMF

Utilisation En ce qui concerne l’utilisation de YMF, elle est assez simple. Il suffit de r´ gler e quelques param` tres tels que l’intervalle des caract` res espacant, la longueur du e e ¸ motif, l’organisme utilis´ , le nombre de motifs voulus, etc. e Actuellement l’outil que nous proposons aura comme rˆ le partiel l’interfacage o ¸ d’YMF et de ces param` tres. L’utilisateur aura alors le choix entre : e • utiliser YMF pour g´ n´ rer les motifs, e e • utiliser son propre fichier de motifs. Bien que l’on puisse d´ j` utiliser YMF sur des organismes tels que Saccharoea ˆ myces cerevisiae et Homo sapiens, certains pourraient sˆ rement etre int´ ress´ par u e e son utilisation sur d’autres organismes. A travers l’outil preproc disponible avec

28

YMF il devient alors possible d’´ tablir les tables d’arri` re-plan non plus exclusie e vement pour l’homme et la levure mais aussi pour tout ensemble de s´ quence en e amont de g` ne propos´ par l’utilisateur, pour n’importe quel organisme. e e

2.5. Recherche de motifs courts
La recherche de motifs se r´ v` le donc cruciale dans la r´ alisation de la m´ thode e e e e d’extraction de donn´ es. Lorsque nous sommes amen´ s a parler de recherche de e e ` motifs, nous ne tentons pas d’extraire un motif ayant une forme particuli` re comme e cela est le cas d’YMF pour la g´ n´ ration de ceux-ci. Nous nous efforcons simplee e ¸ ment de savoir si oui ou non, le motif consid´ r´ apparaˆt dans un texte donn´ . ee ı e Pour cela, un grand nombre d’algorithmes existent, poss´ dant des complexit´ s e e d’int´ rˆ t variable. Cependant, il existe une cat´ gorie d’algorithmes permettant cette ee e recherche qui effectue des op´ rations de bas niveau. Des op´ rations sur les bits pour e e ˆ etre plus pr´ cis. L’int´ rˆ t de tels algorithmes est qu’il r´ duisent les temps de calculs e ee e par un coefficient d´ pendant de la taille du mot m´ moire de la machine utilis´ e. En e e e ` effet, ces algorithmes font usage du « parall´ lisme des bits », qui consiste a utilie ser le parall´ lisme intrins` que de la manipulation des bits des mots m´ moires d’un e e e ordinateur de mani` re a r´ aliser plusieurs op´ rations en parall` le. En utilisant astue ` e e e ˆ cieusement ce fait, le nombre d’op´ rations r´ alis´ es par l’algorithme peuvent etre e e e r´ duites par un facteur w, o` w est le nombre de bits d’un mot m´ moire. Puisque e u e avec les architectures actuelles, w vaut 32 ou 64 voire mˆ me 128, l’acc´ l´ ration est e ee tr` s significative en pratique. e D’un autre cˆ t´ , a ce gain de performance s’ajoute un « point noir » qui est oe ` ˆ la taille des motifs pouvant etre compar´ s au contenu d’un texte ; qui elle aussi e d´ pend de la taille de ce fameux mot m´ moire. Cependant, sachant que les motifs e e consid´ r´ s ne sont pas d’une longueur ph´ nom´ nale (≃ 20 caract` res), l’utilisation ee e e e de cette cat´ gorie d’algorithmes de recherche de motifs, (i.e., recherche de motifs e courts) est indubitablement appropri´ e. e

2.5.1

Recherche exacte

Le probl` me de la recherche exacte de toutes les occurrences d’un mot x dans e ` un texte y peut se r´ soudre a l’aide de l’algorithme L- MOTIF - COURT propos´ par e e Charras et Lecroq [4] que nous allons pr´ senter. Il existe de nombreux algorithmes e permettant la r´ solution de ce probl` me mais le L- MOTIF - COURT , nous est d’un e e int´ rˆ t certain car il utilise des vecteurs de bits et les op´ rations qui leur son li´ es ee e e [2, 17]. ` Dans le texte qui va suivre, le symbole ≪ fera r´ f´ rence a un d´ calage de bits ee e vers la gauche, alors que le symbole ≫ en fera de mˆ me, vers la droite. Nous y e trouverons tout d’abord la version originale, puis celle que nous avons implant´ . e

29

Cette derni` re a demand´ quelques modifications afin de pouvoir offrir les perfore e ´ mances qui nous etaient n´ cessaires. e y C A A A T A x[0] x[0..1] x[0..2] x[0..3] x A A A A A T A A T A A A A T A A G 0 0 1 1 0

F IG . 2.4 – Vecteur binaire R0 pour la localisation de x = AATAA dans y = CAAATAAG. 6 ` e On a R0 = 00110. Les seuls pr´ fixes non vides de x qui se terminent a la position 6 6 de y sont A, AA et AATAA.

Description On consid` re n + 1 vecteurs de m bits, R0 , R0 , . . . , R0 . Le vecteur R0 core j −1 0 n−1 respond au traitement de la lettre y[ j] du texte. Il contient les informations sur tous ` les pr´ fixes de x qui se terminent a la position j sur le texte (voir la figure 2.4). Ce e vecteur est d´ fini de la mani` re suivante : e e R0 [i] = j 0 si x[0..i] = y[ j − i.. j] , 1 sinon ,

pour i = 0, 1, . . . , m − 1. ı ` Nous pouvons alors voir que lorsque R0 [m − 1] = 0, x apparaˆt a la position j. j Car dans ce cas, le mot x entier est reconnu comme un facteur du mot y. Le vecteur R0 correspond au pr´ fixe de y de longueur nulle ; en cons´ quence de quoi, toutes e e −1 ´ ` ses composantes sont egales a 1 : ∀i ∈ {0, . . . , m − 1}, R0 [i] = 1. −1

Pour j = 0, . . . , n − 1, le vecteur R0 s’exprime au moyen du vecteur R0 j j−1 comme suit : R0 [i] = j 0 si R0 [i − 1] = 0 et j−1 1 sinon , x[i] = y[ j] ,

pour i = 1, 2, . . . , m − 1, et R0 [i] = j 0 si x[0] = y[ j] , 1 sinon , 30

Le passage du vecteur R0 au vecteur R0 peut-ˆ tre calcul´ par l’´ galit´ donn´ e e e e e e j j−1 ` dans le lemme 2.5.1, ce qui r´ duit le calcul a deux op´ rations logiques sur les e e vecteurs binaires. On note, pour tout a ∈ A o` A est l’alphabet consid´ r´ , Sa le vecteur de m bits u ee d´ fini par e 0 si x[i] = a , Sa [i] = 1 sinon . Le vecteur Sa est le vecteur qui caract´ rise l’ensemble des positions de la lettre a e sur le mot x. Ce vecteur peut-ˆ tre calcul´ au pr´ alable de la phase de recherche afin e e e d’´ pargner des calculs redondants. e e e Lemme 2.5.1. Pour j = 0, 1, . . . , n − 1, le calcul de R0 se r´ duit a deux op´ rations ` j logiques, un d´ calage et une disjonction : e R0 = 1 ⊣ R 0 j j−1 ∨ Sy[ j] . D´ monstration. Pour i = 0, 1, . . . , m − 1, R0 [i] = 0 signifie que x[0..i] est un suffixe e j de y[0.. j], ce qui est vrai lorsque les deux conditions suivantes sont v´ rifi´ es : e e ´ ` j−1 (i) x[0..i − 1] est un suffixe de y[0.. j − 1], ce qui equivaut a R0 [i − 1] = 0. ´ ` ´ ` (ii) x[i] est egale a y[ j] ce qui equivaut a Sy[ j] [i] = 0. De plus, R0 [0] = 0 lorsque Sy[ j] [0] = 0. On a bien R0 = 1 ⊣ R0 j j j−1 ∨ Sy[ j] puisque l’op´ ration 1 ⊣ R0 introduit un 0 en premi` re position de R0 . e e j−1 j−1 L’algorithme L- MOTIF - COURT (Fig. 2.6) effectue la localisation de x dans y. Une seule variable, not´ e R0 dans le code, permet de repr´ senter la suite des e e vecteurs binaires R0 , R0 , . . . , R0 . Un exemple d’ex´ cution de l’algorithme Le −1 0 n−1 MOTIF - COURT est donn´ e figure 2.5. e Proposition 2.5.1. L’algorithme L- MOTIF - COURT localise toutes les occurrences d’un mot x dans un texte y. D´ monstration. La preuve est une cons´ quence du lemme 2.5.1. e e Les op´ rations sur les vecteurs de bits s’effectuent en temps constant, ce qui e n’est pas le cas de tous les algorithmes (Boyer-Moore par exemple). La constance de l’ex´ cution est obtenue lorsque la longueur m du mot x est inf´ rieure au nombre e e de bits d’un mot machine. D’o` le r´ sultat suivant. u e Proposition 2.5.2. Lorsque la longueur m du mot x est inf´ rieure au nombre de e bits du mot machine, la phase de pr´ traitement de l’algorithme L-M OTIF - COURT e s’ex´ cute en temps Θ(card (A)) dans un espace m´ moire de taille Θ(card (A)), o` e e u A est l’alphabet consid´ r´ . La phase de recherche s’ex´ cute en temps Θ(n). ee e

31

(a)

i 0 1 2 3 4

x[i] A A T A A 0 C 1 1 1 1 1

SA [i] 0 0 1 0 0 1 A 0 1 1 1 1

SC [i] 1 1 1 1 1 2 A 0 0 1 1 1 3 A 0 0 1 1 1

SG [i] 1 1 1 1 1 4 T 1 1 0 1 1 5 A 0 1 1 0 1

ST [i] 1 1 0 1 1 6 A 0 0 1 1 0 7 T 1 1 0 1 1 8 A 0 1 1 0 1 9 G 1 1 1 1 1 10 A 0 1 1 1 1 11 A 0 0 1 1 1

(b)

j y[ j] R0 [0] j R0 [1] j R0 [2] j R0 [3] j R0 [4] j

F IG . 2.5 – Illustration de la recherche du mot x = AATAA dans le texte y = CAAATAATAGAA. (a) Les vecteurs S. (b) Les vecteurs R0 . Le mot x apparaˆt a la ı ` position 6 dans le texte y car R0 [4] = 0. Il n’apparaˆt qu’` cette car les autres vaı a 6 ´ ` leurs R0 [4], avec j = 6, sont egales a 1. j F IG . 2.6 : L- MOTIF - COURT(x, m, y, n) d´ but e pour chaque lettre a ∈ A faire Sa ← 1m ; finprch pour i ← 0 a m − 1 faire ` Sx[i] [i] ← 0; finpour R0 ← 1m ; pour j ← 0 a n faire ` R0 ← R0 ≪ 1 ∨ Sy[ j] ; S IGNALER -S I (R0 [m − 1] = 0); finpour fin

` D´ monstration. La phase de pr´ traitement consiste a calculer les vecteurs Sa ce e e qui est effectu´ par les deux premi` res boucles de l’algorithme. La premi` re boucle e e e n´ cessite un espace en O(card (A)). La deuxi` me boucle s’ex´ cute en temps O(m), e e e c’est-` -dire en temps constant d’apr` s l’hypoth` se. La phase de recherche effectu´ e a e e e par la troisi` me et derni` re boucle s’ex´ cute en temps O(n) puisque l’examen de e e e chaque lettre du texte y n’implique que deux op´ rations sur les vecteurs binaires. e

32

Application Il n’est pas inutile de se rappeler que nous utilisons l’alphabet IUPAC Σ = {A, C, G, T, R, Y, M, K, S, W, B, D, H, V, N} pour d´ crire les motifs et que nous compae ` rons ces motifs a des s´ quences d´ finies sur l’alphabet {A, C, G, T}. Nous utilisons e e ´e ´e alors une fonction qui d´ code un el´ ment de l’alphabet IUPAC en un el´ ment de e l’alphabet {A, C, G, T}. Soit donc la fonction d´ code : e d´code : Σ → {A, C, G, T} e Par exemple, d´code(N) = {A, C, G, T}, d´code(A) = {A}, d´code(R) = {A, G} et e e e ainsi de suite (Tab. 2.1). ´ F IG . 2.7 : L- MOTIF - COURT- MODIFI E Entr´ es : e p = p1 · · · pm : mot sur Σ, de longueur m. t = t1 · · ·tn : texte sur {A, C, G, T } de longueur n. Sorties : Le plus petit indice j > 0 de t si une occurrence de p est trouv´ e e dans t et que celle-ci se termine en j. Sinon, 0. d´ but e pour chaque lettre a ∈ A faire Sa ← 1m ; finprch pour i ← 0 a m − 1 faire ` pour chaque symbole c dans decode(x[i]) faire Sc [i] ← 0; finprch finpour R0 ← 1m ; pour j ← 0 a n faire ` R0 ← R0 ≪ 1 ∨ Sy[ j] ; retourner j; finpour retourner -1; fin

2.5.2

Recherche approch´ e e

Autant que la recherche d’ensembles de motifs voit son int´ rˆ t dans la reee ˆ cherche exacte de ceux-ci, autant qu’il pourrait etre int´ ressant d’offrir la possie bilit´ de tol´ rer des « erreurs » en effectuant des recherches approch´ es de motifs e e e 33

ˆ dans des s´ quences. L’algorithme L-M OTIF - COURT peut facilement etre adapt´ e e pour r´ soudre ce probl` me. L’algorithme que nous allons maintenant pr´ senter est e e e un algorithme de recherche approch´ e de motifs avec au plus k diff´ rences du type : e e • insertion, • suppression, • substitution. Celui-ci cumule les m´ thodes utilis´ es pour le traitement de chaque op´ ration e e e prise s´ par´ ment. Nous laissons au lecteur la possibilit´ d’´ tudier ces op´ rations, e e e e e de mani` re individuelle, dans le livre de Charras et Lecroq [4]. e j y[ j] R1 [0] j R1 [1] j R1 [2] j R1 [3] j R1 [4] j 0 C 0 1 1 1 1 1 A 0 0 1 1 1 2 A 0 0 0 1 1 3 A 0 0 0 0 1 4 T 0 0 0 0 1 5 A 0 0 0 0 0 6 A 0 0 0 0 0 7 T 0 0 0 0 0 8 A 0 0 0 0 0 9 G 0 0 1 0 0 10 A 0 0 1 1 0 11 A 0 0 0 1 1

F IG . 2.8 – Les mots AATA, AATAA, ATAA, AATAAT, AATA, AATAG et AATAGA sont sept occurrences ayant au plus une diff´ rence par rapport au mot x = AATAA dans e le texte y = CAAATAATAGAA. Ils apparaissent aux positions respectives 5, 6, 6, 7, 8, 9 et 10, car R1 [4] = R1 [4] = R1 [4] = R1 [4] = R1 [4] = R1 [4] = 0. 10 9 8 7 5 6 L’algorithme requiert k + 1 vecteurs binaires R0 , R1 , . . . , Rk . Les vecteurs R0 , j pour j = −1, 0, . . . , m − 1, sont maintenus comme dans l’algorithme de recherche exacte. Les valeurs des autres vecteurs sont calcul´ es d’apr` s la relation de la proe e position 2.5.3 donn´ e avant le code de l’algorithme. Un exemple de recherche avec e une diff´ rence est montr´ figure 2.8. e e Proposition 2.5.3. Pour i = 1, 2, . . . , k, on a : Rij = Rij−1 ≫ 1 ∨ Sy[ j] ∧ Ri−1 ∧ Ri−1 ≫ 1 ∧ Ri−1 . j j−1 j−1

D´ monstration. La preuve est une cons´ quence directe des lemmes propos´ s par e e e les algorithmes dans leur version l´ gitime [4]. La relation e Rij = Rij−1 ≫ 1 ∨ Sy[ j] ∧ Ri−1 ≫ 1 ∧ Ri−1 ≫ 1 ∧ Ri−1 . j j−1 j−1

se r´ crit en celle donn´ e dans l’´ nonc´ . e e e e Th´ or` me 2.5.1. Lorsque la longueur m du mot x est inf´ rieure au nombre de bits e e e du mot machine, la phase de pr´ traitement de l’algorithme L- DIFF - MOTIF - COURT e s’ex´ cute en temps Θ(k + card (A)) dans un espace m´ moire de Θ(k + card (A)). e e La phase de recherche s’ex´ cute en temps Θ(k × n). e 34

F IG . 2.9 : L- DIFF - MOTIF - COURT(x, m, y, n, k) d´ but e pour chaque lettre a ∈ A faire Sa ← 1m ; finprch pour i ← 0 a m − 1 faire ` Sx[i] [i] ← 0; finpour R0 ← 1m ; pour j ← 0 a n faire ` T ← R0 ; R0 ← R0 ≫ 1 ∨ Sy[ j] ; pour l ← 0 a k faire ` T ′ ← Rl ; Rl ← Rl ≫ 1 ∨ Sy[ j] ∧ T ∧ Rl−1 T ← T ′; S IGNALER -S I (Rk [m − 1] = 0); finpour finpour fin

∧T;

D´ monstration. La preuve du th´ or` me 2.5.1 d´ coule de la proposition 2.5.2. e e e e

35

C HAPITRE 3

Implantation

´ ´ ` L’algorithme que nous venons de decrire semble fort interessant a im´ ´ planter. Les auteurs decrivent une implantation ecrite en langage C afin d’obtenir de bonne performances du point de vue des calculs. Cependant, ´ ´ ´ ` ´ certains details presents dans l’algorithme nous ont pousse a realiser notre propre implantation en y apportant certaines modifications plus ou moins importantes. Les modifications que nous proposons sont essentiellement ´ des optimisations en plus de la realisation de l’outil. Nous y ajoutons aussi ´ une interface graphique afin que les utilisateurs puissent realiser ces cal` culs de maniere plus simple. ´ Cette partie permettra d’exposer les details de l’implantation, dans la` quelle nous aborderons des techniques de programmation offrant de tres ` ´ bonne performances de calcul, apres y avoir decrit nos structures de don´ ´ ´ ` nees les plus interessantes, pour enfin presenter brievement l’interface graphique que nous proposons.

3.1. Optimisations
Les calculs, voil` sˆ rement la raison principale de l’existence de la bioinfora u ` matique. Les biologistes se trouvent aujourd’hui face a un nombre consid´ rable de e ` donn´ es a analyser, li´ es n´ cessairement a la taille des g´ nomes rencontr´ s. Il est e ` e e e e ` donc tout a fait judicieux de porter une attention d’importance capitale aux calculs mis en jeu dans la r´ alisation d’une application li´ e a la bioinformatique. e e ` Nous commencerons par pr´ senter les techniques dites « SIMD », nous vere rons alors comment les appliquer dans notre programme. Puis nous traiterons de ` diverses optimisations li´ es de pr` s ou de loin a ces techniques. e e

36

3.1.1

Optimisations d’ordre g´ n´ ral e e

ˆ Il existe un grand nombre d’op´ rations qui peuvent etre r´ alis´ es sans faire ape e e ` pel a des techniques sauvages ou mˆ me bien connues. Ces types d’optimisations e sont d’une part d´ pendante du compilateur utilis´ particuli` rement et d’autre part, e e e d´ pendantes de mani` re globale de la mani` re dont les compilateur, dans l’ene e e semble, sont concus. ¸ Le premier type d’optimisations que nous avons utilis´ fait r´ f´ rence aux ope ee ` ee ` timisations qui consistent a pr´ f´ rer des variables statiques locales a des variables dynamiques pass´ es en param` tre. Celles-ci ont l’avantage d’´ viter des coˆ ts ine e e u utiles en demande d’allocation et de lib´ ration d’espace m´ moire. De plus, le fait e e ` d’ˆ tre en local, fait que le compilateur sera plus propice a les placer dans les e diff´ rents niveaux de m´ moire cache du processeur. e e ` Un deuxi` me type d’optimisation qui est a la fois compr´ hensible et tout aussi e e surprenant ; les compilateurs devraient tenter d’y apporter une solution ; ce sont les optimisations sur les coˆ ts (en cycles d’horloge) en temps des appels aux foncu tions. En effet, nous avons eu la regrettable surprise, lorsque nous avons souhai` ter cr´ er une fonction servant a englober l’acc` s a la valeur d’une donn´ e de la e e ` e s´ quence, de voir nos temps de calculs augmenter de 20 secondes. Notre objectif e ´ etait simplement d’´ viter de r´ crire du code si une modification devait avoir lieu e e dans la mani` re dont les donn´ es seraient acc` d´ es. Mˆ me en poussant la fonction e e e e e en mode inline, (i.e., traduite en ligne par le compilateur, sans saut), nos fatidiques 20 secondes persistaient. Pour l’exemple, la ligne de commande qui faisait un acc` s a la i-` me valeur du e ` e ` pattern pour la stocker dans la variable valeur ressemblait a l’instruction suivante :
v a l e u r = ∗ ( p a t t e r n −>p a t + p o s i t i o n ) ;

qui, une fois transform´ e en fonction : e
valeur = ino pattern get value ( pattern , position );

avec la fonction suivante :
i n l i n e u8 i n o p a t t e r n g e t v a l u e ( I n o P a t t e r n ∗ p a t t e r n , u32 p o s i t i o n ) { r e t u r n ∗ ( p a t t e r n −>p a t + p o s i t i o n ) ; }

nous ajoutait nos fameuses 20 secondes aux calculs dans leur globalit´ . Ce e r´ sultat est tout de mˆ me assez impressionnant, bien que l’on sache que d` s que e e e l’on essaye de rendre du code plus explicite, les temps de calculs augmentent proportionnellement. Il existe cependant des techniques permettant d’effectuer des optimisations ´ bien moins d´ pendantes du syst` me. Ce sont les techniques que nous allons etudier e e dans ce qui suit. 37

3.1.2

Techniques SIMD

Depuis 1997, beaucoup de processeurs d´ di´ s a l’usage des particuliers ont ofe e ` fert plusieurs moyens permettant d’acc´ l´ rer les op´ rations ayant lieu sur plusieurs ee e ´ entiers en les r´ alisant en parall` le, bien evidemment, si cela l’est demand´ explie e e citement. Ceci est particuli` rement utile par exemple quand il devient n´ cessaire e e d’ajuster le contraste d’une image, qui effectue la mˆ me op´ ration sur tous les e e pixels d’une image. Peu de temps apr` s furent ajout´ es des instructions permettant d’effectuer de e e ` telles op´ rations sur des nombre a virgule flottante en simple pr´ cision. Le nom e e g´ n´ rique de cette technique est Single Instruction, Multiple Data, SIMD (i.e., Une e e instruction pour plusieurs donn´ es). Cette technique est aussi appel´ e Technique de e e programmation par instruction vectorielle. Il faut ajouter que la plupart des processeurs actuels ont la possibilit´ de « coue pler » certaines instructions, leur permettant de r´ aliser les op´ rations suivantes en e e une fois. Cela peut bien sˆ r paraˆtre magique, et cela le serait si cette technique u ı n’´ tait pas r´ git par certaines lois. e e Processeurs modernes ` L’architecture interne des processeurs modernes ne ressemblent en rien a celle de leurs pr´ d´ cesseurs. Alors que les nouveaux processeurs tels que l’Opteron e e ex´ cuteront tr` s bien du code binaire d´ di´ aux 8086 de 1987, la mani` re dont e e e e e ces op´ rations sont r´ alis´ es y est si diff´ rente que faire une quelconque comparaie e e e son serait totalement inutile. Embarqu´ dans les processeurs r´ side des « choses » e e appel´ es pipelines, paths, branch predictors, speculative execution units, register e ´ shufflers, dependency analysers et bien d’autres. Il est bien evidemment tr` s diffie cile de comprendre toute cette machinerie, et mˆ me si avec le temps vous pourriez e tout maˆtriser, un nouveau processeur verrait le jour avec cette fois, HyperThreaı ding ou Flux Capacitor. Notre but ici n’est pas de comprendre n´ cessairement l’ensemble des m´ cae e ` nismes propos´ s, mais plutˆ t de pouvoir les utiliser a notre avantage. e o Th´ orie des extensions e Avant de poursuivre dans d’avantage de d´ tails, nous tentons de rappeler les e quelques aspects th´ oriques li´ s a la programmation des techniques SIMD. e e ` Il existe une grande vari´ t´ de processeurs, qui ne supportent pas tous les ee mˆ mes caract´ ristiques. En particulier, lorsqu’il s’agit de travailler avec le SIMD, e e ˆ de distinctions peuvent etre faites. Il existe six types d’instructions vectorielles pertinentes : MMX (Multimedia Extensions) : R´ alis´ en 1997 et est pr´ sent dans tous les e e e processeurs communs compatibles ia32 (i.e., Intel). Ces extensions op` rent e sur les entiers. Elle g` rent la multiplication mais pas la division. e 38

SSE (Streaming SIMD Extensions) : Ces extensions sont apparues quand la dif` fusion de flux vid´ os etait cens´ e prendre toute son importance, a un moe ´ e ´ ´ ment o` personne ne pensait que cela etait une eventuelle possibilit´ . SSE u e ` ` op` re sur 4 nombres a virgule flottante en simple pr´ cision, a la fois. SSE est e e pr´ sent sur les processeurs, depuis l’arriv´ e du Pentium 3, ainsi que sur les e e processeurs Athlon. SSE2 Extensions actuellement uniquement support´ es par les processeurs Pene ` tium 4, Athlon 64 et Opteron. Elles contiennent une version mise a jour du ` MMX pouvant traiter plus d’entiers a la fois ainsi que les op´ rations sur le e flottants, non plus en simple mais en double pr´ cision. Ce dernier ne traite e ` que deux flottants en double pr´ cision a la fois, ou alternativement, quatre en e simple pr´ cision. e SSE3 Acutellement, uniquement support´ par le Pentium 4 « Prescott » et offre e des instructions suppl´ mentaires telles que le produit vectoriel ou l’addie tion volumineuse appel´ e aussi mode horizontal. Il est expliqu´ que ces e e ˆ instructions verticales peuvent etre utilis´ es afin d’acc´ l´ rer certains calculs e ee arithm´ tiques complexes ou les transformations de Fourier. e ` 3DNow ! Une sorte de SSE mais pas tout a fait. Poss` de aussi quelques instructions e horizontales et est pr´ sent sur les Athlons. e ` AltiVec Dans le mˆ me ordre d’id´ e que les extensions pr´ c´ dentes, a ceci pr` s, e e e e e elle s’applique aux processeurs PowerPC G4 et ult´ rieurs. e Pratique des extensions Il existe plusieurs moyens permettant d’effectuer des calculs SIMD. Nous avons toujours eu la possibilit´ d’effectuer le codage en dur grˆ ce au langage assembleur. e a Il existe aussi des instructions pr´ -construites propres au compilateur utilis´ . Ces e e instructions sont directement traduites en assembleur lors de la compilation mais offrent une sorte d’interface rendant le codage plus ais´ . Et r´ cemment, le compie e lateur gcc s’est vu offert la gestion intrins` que des op´ rations SIMD. Il en d´ coule e e e que le programmeur effectue une demande de vecteur aux dimensions et contenus voulus et effectue alors des op´ rations sur ce vecteur. e Selon les options pass´ es au compilateur, ces op´ rations selon alors traduit e e soit en instructions SIMD soit en instructions habituelles. Ceci est d´ crit dans le e chapitre (Vector Extensions) du manuel de gcc. ` e C’est du cas des vecteurs dont nous allons a pr´ sent traiter au travers d’un petit exemple. Nous laissons de cˆ t´ les fonctions dites built-in pr´ concues qui r´ crivent oe e ¸ e le code directement en assembleur mais qui sont trop d´ pendantes de la machine e de destination, ce qui n’est pas le cas des vecteurs.
# i n c l u d e < s t d i o . h> / / ! V e c t e u r de 4 f l o a t s en s i m p l e p r e c i s i o n ´

39

typedef int v4sf union f 4 v e c t o r { v4sf v ; float f [4]; };

attribute

( ( mode ( V4SF ) ) ) ;

` Ce petit morceau de code ne fait rien mis a part d´ finir une union adapt´ e aux e e e op´ rations SIMD. Le typedef cr´ er ici une structure plus simple pour l’utilisation e d’un vecteur de quatre flottants et union nous permet d’acc´ der individuellement e aux quatre donn´ es composant le vecteur. Le mot clef mode qui reste cach´ a toute e e sont importance puisqu’elle sp´ cifiera que les donn´ es de l’union sont align´ es et e e e que cet alignement est n´ cessaire au bon fonctionnement des op´ rations SIMD. e e
i n t main ( ) { union f 4 v e c t o r a , b , c ; a . f [0] = 1; a . f [1] = 2; a . f [2] = 3; a . f [3] = 4; b . f [0] = 5; b . f [1] = 6; b . f [2] = 7; b . f [3] = 8; c.v = a.v + b.v; p r i n t f ( ”%f , %f , %f , %f \n ” , c . f [0] , c . f [1] , c . f [2] , c . f [3]); }

Ce petit bout de code peut-ˆ tre compil´ « tel quel » par n’importe qu’elle vere e sion r´ cente de gcc (3.3 fonctionne, 3.4 aussi) : e
$ gcc -ggdb -c example1.c $ gcc example1.o -o example1

Lorsqu’il est ex´ cut´ , le programme, d´ livre bien les r´ sultats attendus : e e e e
$ ./example1 6.000000, 8.000000, 10.000000, 12.000000

´ Cependant, nous n’avons pas pr´ cis´ a gcc quel etait notre processeur et il a e e` probablement du supposer pour notre plate-forme la variante de base (80386, ou un G3 par exemple). Pour le v´ rifier, on ex´ cute la commande suivante : e e
$ objdump -dS ./example1.o c.v = a.v + b.v; 8b: d9 45 e8 8e: d8 45 d8 91: d9 5d b8 94: d9 45 ec 97: d8 45 dc | grep -22 c.v | tail -25 flds fadds fstps flds fadds 0xffffffe8(%ebp) 0xffffffd8(%ebp) 0xffffffb8(%ebp) 0xffffffec(%ebp) 0xffffffdc(%ebp)

40

9a: 9d: a0: a3: a6: a9: ac: af: b2: b5: b8: bb: be: c1: c4:

d9 d9 d8 d9 d9 d8 d9 8b 89 8b 89 8b 89 8b 89

5d 45 45 5d 45 45 5d 45 45 45 45 45 45 45 45

bc f0 e0 c0 f4 e4 c4 b8 c8 bc cc c0 d0 c4 d4

fstps flds fadds fstps flds fadds fstps mov mov mov mov mov mov mov mov

0xffffffbc(%ebp) 0xfffffff0(%ebp) 0xffffffe0(%ebp) 0xffffffc0(%ebp) 0xfffffff4(%ebp) 0xffffffe4(%ebp) 0xffffffc4(%ebp) 0xffffffb8(%ebp),%eax %eax,0xffffffc8(%ebp) 0xffffffbc(%ebp),%eax %eax,0xffffffcc(%ebp) 0xffffffc0(%ebp),%eax %eax,0xffffffd0(%ebp) 0xffffffc4(%ebp),%eax %eax,0xffffffd4(%ebp)

printf("%f, %f, %f, %f\n", c.f[0], c.f[1], c.f[2], c.f[3]);

Nous pouvons clairement voir beaucoup d’instructions r´ p´ titives, indiquant e e ` que gcc a du coder « na¨vement » nos quatre additions. Recompilons ce proı gramme en informant gcc du type de processeur en notre possession et voyons les nouveaux r´ sultats. Il faut tout de mˆ me remarquer que cet exemple est sp´ cifique e e e ` a Intel, il est n´ cessaire de mettre le nom du processeur pour lesquel le programme e est destin´ a etre ex´ cute et pas n´ cessairement pentium3. Les r´ sultats seront e ` ˆ e e e diff´ rents pour un G3 mais similaires de part leur nature. e
$ gcc -ggdb -march=pentium3 -mcpu=pentium3 -c -o example1.o example1.c $ gcc -lm example1.o -o example1 $ objdump -dS ./example1.o | grep -4 c.v | tail -5 c.v = a.v + b.v; 8b: 0f 28 45 e8 movaps 0xffffffe8(%ebp),%xmm0 8f: 0f 58 45 d8 addps 0xffffffd8(%ebp),%xmm0 93: 0f 29 45 c8 movaps %xmm0,0xffffffc8(%ebp) printf("%f, %f, %f, %f\n", c.f[0], c.f[1], c.f[2], c.f[3]);

Afin de pouvoir v´ rifier l’int´ rˆ t de la programmation des techniques SIMD e ee ` a l’aide de l’extension vectorielle de gcc, nous avons r´ alis´ des calculs de pere e ` formances portant sur la multiplication et la division de nombre a virgule flottante en simple pr´ cision. Les figures 3.1 et 3.2 nous montrent l’int´ rˆ t d’utiliser cette e ee technique. C’est donc un gros avantage que de pouvoir programmer de mani` re unique e notre programme puis que celui-ci, en fonction des param` tres qui lui seront foure ´ nis lors de la compilation, offrira des performances egales, ou sup´ rieures. e Nous pouvons d´ sormais imaginer le r´ sultat dans un programme effectuant un e e grand nombre d’op´ rations qu’il est possible de parall´ liser sur une machine. Dans e e notre cas, nous allons voir en section 3.1.4 que nous sommes amen´ s a effectuer un e ` grand nombre de fois ce genre d’op´ rations. L’utilisation de cette technique nous e apporte un gain non n´ gligeable dans la r´ alisation des calculs demand´ s. e e e 41

ms 1000 800 600 400 200 0 0 10

sans SIMD avec SIMD

20

30

40

50

60

70

80

90 100 million d’op´ rations e

F IG . 3.1 – Comparaison des temps de calcul de la multiplication avec et sans l’utilisation des techniques SIMD. 5000 4000 3000 2000 1000 0 0 10 20 30 40 50 60 70 80 90 100 ms
sans SIMD avec SIMD

million d’op´ rations e F IG . 3.2 – Comparaison des temps de calcul de la division avec et sans l’utilisation des techniques SIMD.

3.1.3

Compl´ ment Renvers´ e e

Le compl´ ment invers´ d’une s´ quence, est un d´ tail important dans notre ime e e e ` plantation. Lorsque nous comparons un motif m a la s´ quence en amont d’un g` ne e e 42

g, afin de savoir si le motif est consistant ou non avec g, autrement dit, afin de savoir si m apparaˆt dans la r´ gion en amont de g, la d´ finition de la consistance ı e e nous am` ne a consid´ rer la s´ quence renvers´ e compl´ ment´ e. e ` e e e e e Description Cela est en effet important car dans le cas d’un g` ne repr´ sentant une fae e mille multig´ nique il se peut que le promoteur se situe sur le brin oppos´ e dans e e la s´ quence d’ADN. Sachant que dans un soucis d’´ conomie d’espace m´ moire et e e e tout simplement parce que cela est suffisant pour effectuer l’ensemble des calculs, les s´ quences d’ADN utilis´ es ne portent que sur un seul brin, nous sommes par e e ` cons´ quent dans l’obligation d’effectuer de temps a autres le renversement et la e compl´ mentation d’une s´ quence d’ADN. e e Si l’on reprend l’algorithme propos´ par Marayuma et al. [9], nous pouvons e nous rendre compte que les s´ quences sont renvers´ es et compl´ ment´ es autant e e e e ´ de fois qu’un motif est v´ rifi´ comme etant consistant. Si l’on regarde d’un peu e e plus pr` s, cette op´ ration peut-ˆ tre tr` s vite r´ alis´ e, un demi-million de fois sur e e e e e e des s´ quences de taille 800 (dans notre exemple). Dans une autre cat´ gories de e e tests que nous avons men´ s, les s´ quences des r´ gions promotrices repr´ sentaient e e e e ´ ˆ jusqu’` 5 000 bases. Il devient evident que si un effort d’optimisation doit etre a ˆ men´ , celui-ci doit etre r´ alis´ ici mˆ me. e e e e Nous avons mis au point une m´ thode qu’il est possible de voir plus en d´ tail e e en annexe A qui fait une nouvelle fois profit du coˆ t tr` s faibles des op´ rations u e e logiques. Celle-ci utilise l’op´ ration XOR repr´ sent´ e par le symbole ⊻. e e e Il devient alors possible de combiner l’ensemble des techniques.

3.1.4

Combinaison et application des techniques

Les meilleurs gains sont obtenus en combinant les techniques SIMD aux optimisations pr´ alablement effectu´ es, lorsque, bien sˆ r, les conditions sont favoe e u rables. C’est le cas par exemple, pour le calcul de la fonction de score. Calcul de la fonction de score Une des optimisations que nous avons pu apporter au programme est celle du calcul de la fonction de score. Nous avons tout d’abord repris la fonction initiale ` afin de r´ duire le nombre d’op´ rations arithm´ tiques n´ cessaires a son calcul. Le e e e e fonction de score (2.3) est compos´ e de quatre divisions, une multiplication et une e division, sans compter bien sˆ r celles engendr´ es par les fonctions sig () et cov (). u e

43

Si nous reprenons cette fonction : Score (T, M) = 1 1 2 1 1 + sig (T, M) cov (T, M)

nous pouvons la r´ crire en remplacant les valeurs des fonctions sig () et cov () puis e ¸ en simplifiant l’ensemble de la fonction. Score (T, M) = 1 2 1 1 + sig (T, M) cov (T, M) card (con (G, M)) + card (con (T, M))
−1

= 2

card (T ) card (con (T, M))
−1

−1

= 2 = 2

card (con (G, M)) + card (T ) card (con (T, M)) card (con (T, M)) card (con (G, M)) + card (T )

´ Il est bien evident maintenant, que le nombre d’op´ rations arithm´ tiques a die e minu´ . Il en r´ sulte une division, une multiplication et une addition. Quand on sait e e ` le prix que « coˆ te » une division face a une addition par exemple, nous pouvons u ` nous r´ jouir d’ˆ tre pass´ de quatre a une seule. e e e La seconde optimisation qu’il nous est possible d’appliquer au cas du calcul de score est obtenue par l’utilisation des techniques SIMD que nous avons d´ cris en e 3.1.2. Dans la deuxi` me partie de l’algorithme L- MOTIF - COURT (Fig. 2.2), nous e aurions pu, lorsque les cardinaux des ensemble consistant avec T et G respectivement, effectuer directement le calcul du score. Ce n’est pas la direction que nous avons prise. Nous avons pr´ f´ r´ rel´ guer le calcul des scores ult´ rieurement, une eee e e fois que tous les cardinaux sont connus. Cela nous donne la possibilit´ d’effectuer e les calculs quatre par quatre et donc profiter des avantages offerts par la programmation vectorielle de gcc et par cons´ quent des techniques SIMD. e

3.2. Performances R´ sultantes e
Il est bien connu que si un grand nombre de personnes offrent tous une petite somme d’argent, mˆ me infime, au final, tous ces montant cumul´ s repr´ sentent une e e e somme d’argent cons´ quente. e Il est donc l´ gitime, apr` s toutes ces tentatives d’optimisations, plus ou moins e e ` e ` r´ ussies, de nous int´ resser a pr´ sent a l’impact sur les performances globales du e e logiciel que nous avons mis au point. 44

´ Nous n’allons pas nous eterniser dans cette partie, mais sur les exp´ riences que e nous avons men´ es, le programme s’ex´ cutait initialement en approximativement e e 5 minutes. Apr` s un certain nombre d’optimisations, pr´ sent´ es ou non, le temps e e e d’ex´ cution de ces mˆ mes exp´ riences approchent maintenant les 60 secondes. e e e Nous pouvons alors nous r´ jouir de l’impact significatif qu’on apport´ l’ene e semble des optimisations sur la version et l’implantation originale de ce logiciel.

3.3. Interface graphique
Afin d’offrir un certain confort d’utilisation, nous avons pens´ a mettre en place e` ´ une interface graphique. Celle-ci est ecrite en GTK.

3.3.1

Description et param` tres g´ n´ raux e e e

` L’interface poss` de l’ensemble des options n´ cessaires a l’ex´ cution du proe e e gramme. Elle offre ainsi la possibilit´ de charger les fichiers contenant les s´ quene e ces des r´ gions en amont de g` nes constituant l’ensemble « complet » ainsi que e e celles constituant le sous-ensemble (Fig. 3.3). Dans un souci de coh´ rence des e r´ sultats, les fichiers du sous-ensemble des r´ gions en amont de g` nes, ne provee e e ´e nant exclusivement que de l’ensemble de d´ part, il n’a pas et´ offert la possibilit´ e e ` de les charger directement a partir d’une interface li´ e au syst` me de fichier. Ce e e n’est pas le cas pour l’ensemble principal refl´ tant le g´ nome, bien au contraire. e e Les fichiers du sous-ensemble sont alors extraits de la liste des fichiers de l’ensemble principal. Nous pouvons ensuite, au travers de l’interface, r´ gler quelques param` tres e e (Fig. 3.4). Parmi ces param` tres nous pouvons effectuer le choix du mode de ree cherche de motifs : • recherche exacte, • recherche approch´ e. Pour la recherche approch´ e, il est aussi possible de e e d´ finir le nombre de diff´ rences autoris´ es par la recherche. e e e Un deuxi` me param` tre qu’il est possible de modifier est la m´ thode d’ obtene e e tion des motifs : • g´ n´ r´ s par YMF, e ee • personnalis´ s, fichier propos´ par l’utilisateur. e e Un dernier param` tre qu’il est encore possible de modifier dans la partie gloe ´ bale de l’interface est la taille maximale des ensembles de motifs evalu´ s par le e logiciel. En effet, sans cette option, le logiciel ne poss` de plus de grand int´ rˆ t e ee ` puisque cela reviendrait uniquement a consid´ rer soit les motifs propos´ s par l’utie e lisateur (ce qui reste convenable tous de mˆ me puisqu’ils seront class´ s par pertie e nence) soit les motifs d´ j` ordonn´ s par z-score fournis par YMF. ea e

45

F IG . 3.3 – Fenˆ tre principale du programme. e

3.3.2

Interface pour YMF

` Le logiciel YMF permet de g´ n´ rer ou plutˆ t de rechercher des motifs a forte e e o signification biologique. Notre logiciel propose une interface pour YMF. Il nous est alors possible de pr´ ciser l’emplacement de l’ex´ cutable ainsi que l’emplacement e e ` des fichiers qui sont n´ cessaires a sa bonne ex´ cution (Fig. 3.5). e e ` Les options param´ trant l’ex´ cution d’YMF a proprement parler peuvent euxe e aussi se voir modifi´ s (3.6). Ces param` tres nous permettent d’une part de r´ gler e e e les param` tres qui seront pass´ s a l’ex´ cutable et d’autre part ceux pr´ sents dans le e e ` e e fichier de configuration utilis´ par YMF. e Ces derniers r` glent entre autres, le nombre de motifs d´ sir´ s, l’intervalle des e e e caract` res espacant dans la forme des motifs ou encore le nombre d’occurrences e ¸ ´ minimal d’un motif avant que celui-ci ne soit consid´ r´ comme etant pertinant. ee

46

F IG . 3.4 – Fenˆ tre contenant les options g´ n´ rales du programme. e e e

47

F IG . 3.5 – Fenˆ tre principale du programme e

F IG . 3.6 – Fenˆ tre principale du programme e 48

C HAPITRE 4

R´ sultats exp´ rimentaux e e

´ Maintenant que nous avons pu decrire l’ensemble du programme, dans ´ sa theorie, en passant par son implantation et ses optimisations, nous pou´ ´ vons nous demander si les resultats qu’il propose sont coherents ou s’ils ` sont porteurs d’informations. ´ ˆ ´ Nous verrons les resultats obtenus sur les memes jeux de donnes que ´ ceux utilises par Marayuma et al. [9]. Cela nous permettra de juger si notre ´ ´ implantation est proche ou non de celle theorique proposee.

4.1. Premiers r´ sultats e
En se replacant dans les conditions de l’exp´ rience de Marayuma et al. [9], ¸ e nous avons tenter de retrouver les mˆ mes r´ sultats que ces derniers. Nous redone e ` nons a titre informatif, leur d´ marche exp´ rimentale. e e Le laboratoire Kuhara de l’universit´ de Kyushu a accumul´ et inventori´ les e e e profils d’expression de 5 952 g` nes de S. cerevisiae, pour lesquels un simple g` ne e e ` relatif a la r´ gulation de la transcription est discontinu. Il existe actuellement 120 e profils d’expressions pour les 5 952 g` nes r´ pertori´ s. e e e De mani` re a rechercher la relation entre les facteurs de transcription et les e ` g` nes putatifs r´ gul´ s par ces facteurs, Marayuma et al. [9] ont construit plusieurs e e e ` collections de g` nes a partir de ces donn´ es d’expression. e e ´e Ces collections ont et´ construites de la mani` re suivante. Soit gd un g` ne dise e continu (i.e., poss´ dant des br` ches). Nous pouvons voir gd comme l’objet abstrait e e repr´ sentant une famille multig´ nique. Pour un g` ne g, le ratio de g signifie la vae e e leur du log du rapport de la force d’expression de g dans une famille multig´ nique e ` e e gd a celle de g dans un ensemble quelconque de g` nes. Tout d’abord, les g` nes ` ` dont le ratio est inf´ rieur a µ − 2σ o` sup´ rieur a µ + 2σ sont collect´ s, avec µ et e u e e σ qui sont la moyenne et la d´ viation standard, respectivement, des la distribution e 49

des ratios des 5 952 g` nes (cf. Fig. 4.1). On appelle Ggd la collection de la famille e multig´ nique gd . e

exp

Ratios conserv´ s e

Ratios conserv´ s e

µ − 2σ

µ + 2σ

F IG . 4.1 – Repr´ sentation de la distribution des ratios des g` nes. e e Il est aussi construit une collection form´ e de g` nes connus de YPD (Yeast e e ´ Proteome Database) comme etant des facteurs de transcription ainsi que de g` nes e ` r´ gul´ s (induits ou r´ prim´ s) par certains de ces facteurs. Il est a noter que 302 e e e e g` nes sont class´ s comme facteurs de transcription dans YPD. On appelle cette e e collection (compl` te) qui regroupe un total de 552 g` nes, GYPD . Plus sp´ cialement, e e e YPD e pour le g` ne gt facteur de transcription, on note Ggt la collection de g` nes connue e ´ dans YPD comme etant r´ gul´ e par gt . e e Dans les deux exp´ riences qui vont suivre, pour chacun des 26 g` nes g connus e e ´e comme des facteurs de transcription, il a et´ construit une collection de g` nes pue tatifs co-r´ gul´ s par g, et qui est d´ fini de la mani` re suivante : e e e e Gg = Gexp ∩ GYPD . g De cette mani` re, GYPD va jouer un rˆ le de filtre en ne laissant apparaˆtre dans la e o ı collection, que les g` nes hautement co-r´ gul´ s. e e e

4.1.1

Exemple 1 - G` nes putatifs co-r´ gul´ s par HAP3 e e e

Nous allons effectuer nos calculs exp´ rimentaux sur GY BL021C , c’est-` -dire, e a une collection de g` nes suppos´ s co-r´ gul´ s par YBL021C(HAP3). YBL021C est e e e e d´ crit dans YPD comme un composant (avec Hap2p, Hap4p et Hap5p) h´ t´ rotrim´ e ee e rique du facteur de liaison CCAAT. Les membres de GY BL021C sont donn´ e dans la e YPD ´ e table 4.1. Les membres de GY BL021C sont egalement propos´ s en table 4.2. ` On peut remarquer que YGL187C, YKL148C et YPR145W sont a la fois YPD membres de GY BL021C et de GY BL021C . Un r´ sultat int´ ressant sur GY BL021C est l’ensemble m de deux motifs m1 et e e ` m2 (Tab. 4.4), obtenus a l’aide du logiciel YMF en g´ n´ rant 1 000 motifs avec e e 50

GY BL021C YBR092C YDR012W YGL062W YLR263W YOR375C

YBR093C YDR050C YGL187C YMR280C YPR145W

YBR112C YEL034W YHR174W YMR303C

YBR115C YFL014W YKL060C YOR028C

YCL018W YGL031C YKL148C YOR290C

TAB . 4.1 – Les membres de GY BL021C .
YPD GY BL021C YBL030C YDR232W YHR051W YKL141W YNL052W

YBR026C YFL018C YIL125W YKL148C YNR001C

YDL205C YGL040C YJL166W YLL041C YOR065W

YDL230W YGL187C YJR040W YML054C YPR145W

YDR148C YHR008C YJR048W YML091C YPR191W

YPD TAB . 4.2 – Les membres de GY BL021C .

les r´ gions en amont de GY BL021C comme arri` re-plan de fonctionnement. Ces e e ` motifs, ensuite utilis´ s par notre application donnent a l’ensemble m, le deuxi` me e e meilleur score 0.308. Nom YKL148C YPR145W YGL062W YBR112C Description (SDH1) : succinate dehydrogenase (ASN1) : asparagine synthetase (PYC1) : pyruvate carboxylase (CYC8) : prot´ ine m´ diatrice de la r´ pression de glucose e e e TAB . 4.3 – Ensemble consistant avec m. Ce couple non ordonn´ (arrang´ ) de motifs m1 et m2 poss` de les propri´ t´ s e e e ee suivantes : • Les g` nes consistants avec m sont seulement au nombre de quatre. Ce sont e les g` nes YKL148C, YPR145W, YGL062W et YBR112C, dont une dese cription rapide est donn´ e table 4.3. Nous pouvons remarquer que ces quatre e g` nes sont inclus dans GY BL021C . Aucun autre g` ne dans G\GY BL021C n’est e e consistant avec m. YPD • Parmi les quatre g` nes, YKL118C et YPR145W sont dans GY BL021C , autree ´ ment dit, ils sont connus comme etant co-r´ gul´ s par YBL021C. e e • Sur une carte de m´ tabolisme, ces quatre g` nes sont impliqu´ s dans ou poe e e sitionn´ s a proximit´ d’un cycle citrate. e ` e 51

m = {m1 , m2 } m1 m2

= =

ACGGNNNNNGYRC CGGCNNNNNNNNNNNNGCYG

TAB . 4.4 – m = {m1 , m2 }. Ces faits pourraient impliquer que m1 et m2 sont des motifs pour des sites promoteurs de facteurs de transcription. La table 4.5 montre les emplacements et occurrences de m1 et m2 . Nous pouvons voir que les motifs ne poss` dent pas un e intervalle de gap commun, dans ce cas. G` ne e YKL148C YPR145W YBR112C YGL062W Position m1 m2 ∗ [−733, −721] [−310, −291]∗ [−348, −336] [−347, −328] [−339, −327]∗ [−347, −328]∗ [−504, −492]∗ [−786, −767] [−667, −655]∗ [−550, −538]∗ [−731, −712]∗ Distance entre m1 et m2 410 Chevauchement 99 161

TAB . 4.5 – Position des motifs de l’ensemble m sur les g` nes consistants avec m. e indique que la position est sur le compl´ ment. La colonne distance donne les e espaces minimaux entre les occurrences de m1 et de m2 .

4.1.2

Exemple 2 - G` nes putatifs co-r´ gul´ s par GCN4 e e e

Le premier exemple donnait d´ j` quelques r´ sultats. Voyons si cela est toujours ea e le cas pour GCN4. YEL009C(GCN4) est connu comme un facteur de transcription de la famille basique du zipper de la leucine (bZIP). Celui-ci r´ gule le contrˆ le g´ n´ ral en e o e e ` r´ ponse a une lacune d’acides amin´ s ou de purine. e e Dans le mˆ me esprit que pour l’exemple 1 (HAP3), nous refaisons les calculs e exp´ rimentaux, mais cette fois sur GY EL009C , dont les membres sont donn´ s, table e e YPD e 4.6. La collection GY EL009C est aussi donn´ e, table 4.7. De nouveau, nous avons utilis´ 1 000 motifs g´ n´ r´ s par YMF pour l’ensemble e e ee ′ = {m′ , m′ }, donn´ en table 4.8 poss` de donn´ , GY EL009C . Le motif non ordonn´ m e e e e 1 2 le meilleur score de l’ensemble des ensembles collect´ s obtenus, soit 0.615. Ce e couple poss` de des points int´ ressants qu’il est judicieux de relever : e e • Les g` nes consistants avec m′ sont donn´ s en table 4.9. Le dernier de ceuxe e ci, YHR077C, est le seul qui n’est pas inclus dans GY EL009C . Ce point est

52

GY EL009C YBR019C YFL026W YJL157C YNR044W

YBR115C YGR044C YKL178C YOR212W

YCL027W YHR084W YKL209C YOR348C

YDL227C YIL015W YKR097W

YDR103W YIL072W YMR173W

TAB . 4.6 – Les membres de GY EL009C .
YPD GY EL009C YAL044C YCL030C YDR300C YER069W YGL026C YIL116W YKL211C YMR062C YOL058W YOR303W

YAR015W YDL171C YDR354W YER086W YGL234W YIR034C YLR058C YMR108W YOL140W YPR035W

YBR115C YDR035W YDR408C YER090W YGR124W YJL071W YLR303W YMR300C YOR128C YPR060C

YBR248C YDR037W YER052C YFL018C YHR018C YJL088W YLR355C YNL103W YOR184W YPR145W

YBR249C YDR158W YER055C YFR025C YHR025W YJR109C YLR451W YNL104C YOR202W YPR167C

YPD TAB . 4.7 – Les membres de GY EL009C .

m′ = {m′ , m′ } 2 1 m′ 1 m′ 2

= =

ACTTNNNNNNNNAGCC CAGANNNNNNNNNNNSAGC

TAB . 4.8 – m′ = {m′ , m′ }. 2 1 int´ ressant car cela signifie que mˆ me sans ce g` ne dans la collection, la e e e ′ reste importante. signification de m ` YPD • YER086W et YOL058W qui appartiennent a GY EL009C sont consistants avec ′ alors qu’ils n’appartiennent pas a G ` Y EL009C . Donc, il y a de fortes chances m2 ′ soit un motif tr` s significatif au niveau biologique. e pour que m2 • On sait que YCL027W et YKL178C, list´ s table 4.9 jouent un rˆ le important e o dans le pathway signal´ tique de MAPK pour le ph´ romone [7]. e e D’apr` s ces observations, nous pouvons dire que m′ et m′ sont capables de e 1 2 capturer les facteurs de transcription de sites promoteurs, et sp´ cialement, ceux e de YCL027W et YKL178C. La table 4.10 montre que ces motifs, m′ et m′ , sont 1 2 totalement disjoints. Ils ne poss` dent pas de lieu de chevauchement. e

53

Nom YCL027W YKL178C YIL015W YKR097W YHR077C

Description (FUS1) (STE3) (BAR1) (PCK1) (NMD2)

: : : : :

Prot´ ine de fusion de cellule e Ph´ romone r´ ceptrice de Facteur-A e e Pr´ curseur de barri` re pepsine e e Phospho´ nolpyruvate carboxykinase e Prot´ ine 2 d´ calage ARNm m´ diation-Nonsens e e e

TAB . 4.9 – Ensemble consistant avec m′ .

G` ne e YCL027W YKL178C YIL015W YKR097W YHR077C

Position m1 [−670, −655]∗ [−637, −622] [−442, −427]∗ [−405, −390]∗ [−689, −674] m2 [−522, −504] [−357, −339]∗ [−784, −766] [−648, −630] [−680, −662]

Distance entre m1 et m2 132 264 323 224 161

TAB . 4.10 – Position des motifs de la collection m′ sur les g` nes consistants avec e ′ . ∗ indique que la position est sur le compl´ ment. La colonne Distance donne les m e espaces minimaux entre les occurrences de m′ et de m′ . 2 1

54

Conclusion

´ ´ Nous avons pu observe tout au long de ces differents chapitres, que ´ la recherche de motifs offrait un panel impressionnant de voies qu’il etait possible d’explorer. ´ ´ ` ´ La voie que nous avons emprunte nous a amene a considerer un lo´ ´ giciel (YMF) qui permet d’alleger le travail propose par notre outil en four´ ´ ˆ ` nissant des motifs classes par z-score ayant la particularite d’etre tres significatifs biologiquement. Son utilisation nous a permis d’extraire par nos ´ ´ experiences, des motifs interessants pour la levure S. cerevisiae. ´ Il est cependant un grand nombre de details concernant ces motifs qu’il ´ ´ est encore necessaire d’etudier afin d’y retrouver des similitudes et par la ˆ ´ ` meme occasion, les caracteriser de maniere plus fine. En effet, un grand nombre de questions restent en suspend. Les motifs des ensembles mis en valeur sont-ils tels que l’un d’eux ´ ` precede toujours les autres ? Quelle est la taille moyenne d’un motif, si ´ celle-ci est moyenne ? Existe-t-il des chevauchements recurrents de motifs ´ ´ ` dans les ensembles consideres ? Toutes ces questions, posent la derniere ; ´ ´ ´ pourquoi donc ne pas avoir effectue plus d’experiences afin d’y decouvrir ´ des differences ou points communs ? ˆ ´ ´ Nous tentames l’experience sur des ensembles de sequences relatives aux cellules du foie humain, pour lesquelles, s’il n’y avait malencontreusement pas eu une confusion digne de la communication sur la tour de Babel, ´ nous aurions pu tenter d’en extraire de nouveaux resultats. Nous ne pou´ ` ´ vons cependant pas pretendre a une defaite sachant que le logiciel que ˆ ´ nous avons mis au point risque fortement d’etre utilise sur le site de l’Uni´ ` ´ ´ versite de Rouen a des fins experimentales. Y seront alors menees les ´ ` experiences pour lesquelles nous avons eu de petits soucis quand a la va´ ´ leur des donnees que nous traitions. Nous pouvons alors esperer en des ´ resultats d’ici peu.

55

A NNEXE A

Compl´ ment renvers´ acc´ l´ r´ e e ee e

Une des op´ rations r´ guli` rement utilis´ e en bioinformatique est celle du calcul e e e e ` du compl´ ment renvers´ d’une s´ quence donn´ e. Bien que relativement simple a e e e e mettre en oeuvre, sa version na¨ve reste encore coˆ teuse en nombre d’op´ rations. ı u e Ce que nous proposons ici est une m´ thode permettant, sur une machine de milieu e de gamme, d’acc´ l´ rer le traitement de cette op´ ration par un coefficient moyen ee e 5 k ∼ 2. Si l’on souhaite calculer le compl´ ment renvers´ d’une s´ quence s donn´ e telle e e e e que s = c0 c1 · · · cn−1 o` ci ∈ {A, C, G, T} pour i = 0..n − 1 et o` |s| = n, nous devons u u alors calculer la s´ quence s′ = c′ c′ · · · c′ c′ avec e n−1 n−2 1 0   A si ci = T   C si ci = G ′ ci =  G si ci = C   T si ci = A

Avant de pouvoir esp´ rer obtenir ce r´ sultat, il est n´ cessaire de discuter de la e e e repr´ sentation de la s´ quence, en m´ moire. Na¨vement, nous pourrions repr´ senter e e e ı e la s´ quence comme une suite de caract` res sur l’alphabet Σ = {A, C, G, T}. L’algoe e rithme na¨f serait alors l’algorithme Fig. A.1. Cependant, nous pouvons alors penı ` ser a une repr´ sentation diff´ rente. Si maintenant, nous repr´ sentions l’alphabet e e e consid´ r´ par des entiers sur l’intervalle [0, 3], ce qui nous donnerait alors l’alphaee ´ bet α = {0, 1, 2, 3}. Nous pourrions alors etablir l’isomorphisme entre Σ et α de la mani` re suivante : e A ⇔ 0 C ⇔ 1 T ⇔ 2 G ⇔ 3 ´ Ces equivalences nous offrent alors la possibilit´ , plutˆ t que d’effectuer quatre e o tests dans le pire des cas pour chaque lettre de la s´ quence, de r´ duire ces tests en e e 56

´ un calcul d’entiers. Le calcul est alors le suivant. Etant donn´ ci le i-` me entier de la e e ` s´ quence, le calcul de son compl´ mentaire se fait a l’aide de l’expression suivante : e e ci = ci + 2 mod 4. Bien que ce tout petit calcul nous apporte un gain consid´ rable concernant la vie tesse de calcul, nous pourrions accentuer ce gain. Pour cela, il suffit de consid´ rer e la repr´ sentation des entiers de l’intervalle en binaire. e n10 n2 n2 + 2 n2 + 2 mod 4 010 0002 0102 0102 110 0012 0112 0112 210 0102 1002 0002 310 0112 1012 0012

TAB . A.1 – Valeurs possibles pour les entiers de l’alphabet La table Tab. A.1 pr´ sente l’ensemble des valeurs possibles partant d’un entier e e donn´ de α . Nous voyons que, pour tout entier, seul le deuxi` me bit prend son e compl´ mentaire. D´ sormais, si l’on souhaite effectuer un compl´ ment renvers´ , e e e e l’op´ ration de compl´ mentation devient donc un simple XOR sur l’entier avec un e e masque ad´ quat. e ci = ci ⊻ 0x02. En consid´ rant bien sˆ r que les entiers sont repr´ sent´ s sur un octet, cette e u e e m´ thode offre une diminution des temps de calculs du compl´ ment renvers´ d’une e e e s´ quence. Nous pourrions tout de mˆ me apporter une forte am´ lioration. Si les e e e donn´ es sont pr´ sentes de mani` re align´ es en m´ moire, il nous serait alors pose e e e e sible de profiter de l’architecture actuelle des machines afin d’´ tendre nos calculs e sur 32, 64 ou 128 bits. Le gain en serait presque proportionnel. L’algorithme propos´ Fig. A.2 se voit donc aussi bien r´ duit en taille qu’en e e ` ` temps d’ex´ cution. Le masque serait a changer dans le cas d’une extension a plus e de 8 bits.

57

´ ´ F IG . A.1 : C OMPL E MENT-R ENVERS E -NA¨F I Entr´ es : Une s´ quence s = c0 c1 · · · cn−1 o` ci ∈ {A, C, G, T} pour e e u i = 0..n − 1 et o` |s| = n. u Sorties : s′ = c′ c′ · · · c′ c′ avec n−1 n−2 1 0   A   C ′ ci =   G  T si c|s|−1−i = T si c|s|−1−i = G si c|s|−1−i = C si c|s|−1−i = A

d´ but e // Renverser la s´quence ; e pour i allant de 0 a ⌊(|s| − 1)/2⌋ faire ` ´ // Echanger ci avec c|s|−1−i ; Temp ← ci ; ci ← c|s|−1−i ; c|s|−1−i ← Temp; finpour // Compl´menter la s´quence ; e e pour i allant de 0 a |s| − 1 faire ` suivant ci faire ` cas ou ci = A ci ← T fin d’alternative ` cas ou ci = C ci ← G fin d’alternative ` cas ou ci = G ci ← C fin d’alternative ` cas ou ci = T ci ← A fin d’alternative fin d’alternative finpour fin

58

´ ´ F IG . A.2 : C OMPL E MENT-R ENVERS E -S UBTIL Entr´ es : Une s´ quence s = c0 c1 · · · cn−1 o` ci ∈ {0, 1, 2, 3} pour e e u i = 0..n − 1 et o` |s| = n. u Sorties : s′ = c′ c′ · · · c′ c′ avec n−1 n−2 1 0   0   1 ′ ci =  2   3 si c|s|−1−i = 2 si c|s|−1−i = 3 si c|s|−1−i = 0 si c|s|−1−i = 1

d´ but e // Renverser et compl´menter la s´quence ; e e pour i allant de 0 a ⌊(|s| − 1)/2⌋ faire ` Temp ← ci ⊻ 0x02; ci ← c|s|−1−i ⊻ 0x02; c|s|−1−i ← Temp; finpour fin

59

Liste des tableaux

2.1 2.2

Table des codes IUPAC – Codes des acides nucl´ iques. . . . . . . e ` Les cinq motifs ayant obtenu le meilleur score pour la famille a 6 g` nes GAL4, dont le consensus connu est CGGNNNNNNNNNNNCCG e [18]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

28 51 51 51 52

Les membres de GY BL021C . . . . . . . . . . . . . . . . . . . . . . YPD Les membres de GY BL021C . . . . . . . . . . . . . . . . . . . . . . Ensemble consistant avec m. . . . . . . . . . . . . . . . . . . . . m = {m1 , m2 }. . . . . . . . . . . . . . . . . . . . . . . . . . . . Position des motifs de l’ensemble m sur les g` nes consistants avec e ∗ indique que la position est sur le compl´ ment. La colonne m. e distance donne les espaces minimaux entre les occurrences de m1 et de m2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Les membres de GY EL009C . . . . . . . . . . . . . . . . . . . . . . YPD 4.7 Les membres de GY EL009C . . . . . . . . . . . . . . . . . . . . . . 4.8 m′ = {m′ , m′ }. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 4.9 Ensemble consistant avec m′ . . . . . . . . . . . . . . . . . . . . 4.10 Position des motifs de la collection m′ sur les g` nes consistants e ′ . ∗ indique que la position est sur le compl´ ment. La coavec m e lonne Distance donne les espaces minimaux entre les occurrences de m′ et de m′ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 A.1 Valeurs possibles pour les entiers de l’alphabet . . . . . . . . . .

4.1 4.2 4.3 4.4 4.5

52 53 53 53 54

54 57

60

Table des figures

1.1 1.2 1.3 1.4

1.5 1.6 1.7 2.1

Le « dogme central (bleu) et certaines de ces exceptions (rouge) ». Deux chaˆnes d’ADN repr´ sent´ es selon la notation conventionı e e nelle. Les fl` ches indiquent le sens de lecture du brin. . . . . . . . e Proc´ d´ g´ n´ ral de synth` se des prot´ ines d’un organisme vivant. e e e e e e Auteur : Guillaume Bokiau. Source : http://fr.wikipedia.org/wiki/. Sch´ ma de l’ARNt (de transfert). α , anti-codon (3 nucl´ otides) ; β , e e site de fixation de l’acide amin´ ; γ , boucle variable ; δ , branche D ; e τ , branche T ; A, boucle de l’anti-codon ; D, boucle D ; T , Boucle T Source : http://fr.wikipedia.org/wiki/. . . . . . . . . . . . . . . Processus de transcription de l’ADN. Auteur : Guillaume Bokiau. Source : http://fr.wikipedia.org/wiki/. . . . . . . . . . . . . . . . Processus de traduction de l’ARN en prot´ ine. Auteur : Guillaume e Bokiau. Source : http://fr.wikipedia.org/wiki/. . . . . . . . . . . . Promoteur procaryote. a. Exemple de promoteur de g` ne de Eschee richia coli. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . L’ensemble m = {GGACTAAAC, ACGTT} est consistant avec le g` ne e dont la s´ quence en amont est TGGGACTAAACGTTG, et son renvers´ e e compl´ ment´ est CAACGTTTAGTCCCA. . . . . . . . . . . . . . . . e e M OTIFS -E XTRACTION . . . . . . . . . . . . . . . . . . . . . . . ´ ´ E NUM E RATION - COMBINAISONS . . . . . . . . . . . . . . . . . Vecteur binaire R0 pour la localisation de x = AATAA dans y = 6 e CAAATAAG. On a R0 = 00110. Les seuls pr´ fixes non vides de x 6 ` qui se terminent a la position 6 de y sont A, AA et AATAA. . . . . . Illustration de la recherche du mot x = AATAA dans le texte y = CAAATAATAGAA. (a) Les vecteurs S. (b) Les vecteurs R0 . Le mot x ı apparaˆt a la position 6 dans le texte y car R0 [4] = 0. Il n’apparaˆt ı ` 6 ´ ` qu’` cette car les autres valeurs R0 [4], avec j = 6, sont egales a 1. a j L- MOTIF - COURT(x, m, y, n) . . . . . . . . . . . . . . . . . . . . ´ L- MOTIF - COURT- MODIFI E . . . . . . . . . . . . . . . . . . . . .

7 9 10

11 12 13 15

2.2 2.3 2.4

20 23 24

30

2.5

2.6 2.7

32 32 33

61

2.8

2.9 3.1 3.2 3.3 3.4 3.5 3.6 4.1

Les mots AATA, AATAA, ATAA, AATAAT, AATA, AATAG et AATAGA sont sept occurrences ayant au plus une diff´ rence par rapport au e mot x = AATAA dans le texte y = CAAATAATAGAA. Ils apparaissent aux positions respectives 5, 6, 6, 7, 8, 9 et 10, car R1 [4] = R1 [4] = 5 6 R1 [4] = R1 [4] = R1 [4] = R1 [4] = 0. . . . . . . . . . . . . . . . . 7 8 9 10 L- DIFF - MOTIF - COURT(x, m, y, n, k) . . . . . . . . . . . . . . . . Comparaison des temps de calcul de la multiplication avec et sans l’utilisation des techniques SIMD. . . . . . . . . . . . . . . . . . Comparaison des temps de calcul de la division avec et sans l’utilisation des techniques SIMD. . . . . . . . . . . . . . . . . . . . Fenˆ tre principale du programme. . . . . . . . . . . . . . . . . . e Fenˆ tre contenant les options g´ n´ rales du programme. . . . . . . e e e Fenˆ tre principale du programme . . . . . . . . . . . . . . . . . e Fenˆ tre principale du programme . . . . . . . . . . . . . . . . . e Repr´ sentation de la distribution des ratios des g` nes. . . . . . . . e e

34 35 42 42 46 47 48 48 50 58 59

´ ´ A.1 C OMPL E MENT-R ENVERS E -NA¨F . . . . . . . . . . . . . . . . . I ´ MENT-R ENVERS E -S UBTIL . . . . . . . . . . . . . . . . ´ A.2 C OMPL E

62

Bibliographie

[1] M. Abderrahman and J. Raymond. Biologie Mol´ culaire. Sciences Sup. e Dunod, 2nd edition, 2003. [2] R. Baeza-Yates and G. H. Gonnet. A new approach to text searching. Commun. ACM, 35(10) :74–82, 1992. [3] M. Blanchette and S. Sinha. Separating real motifs from their artifacts. Bioinformatics, 17(90001) :30S–38, 2001. [4] C. Charras and T. Lecroq. Handbook of Exact String Matching Algorithms. King’s College Publications, 2004. [5] C. Hancart, T. Lecroq, and M. Crochemore. Algorithmique du texte. Vuibert, 2001. [6] Y.-J. Hu, S. Sandmeyer, C. McLaughlin, and D. Kibler. Combinatorial motif analysis and hypothesis generation on a genomic scale. Bioinformatics, 16(3) :222–232, 2000. [7] K. Laboratories. Kegg : Kyoto encyclopedia of genes and genomes. http ://www.genome.ad.jp/kegg/. [8] L. Marsant and M.-F. Sagot. Extracting structured motifs using a suffix treealgorithms and application to promoter consensus identification. In RECOMB ’00 : Proceedings of the fourth annual international conference on Computational biology, pages 210–219, New York, NY, USA, 2000. [9] O. Maruyama, H. Bannai, Y. Tamada, S. Kuhara, and S. Miyano. Fast algorithm for extracting multiple unordered short motifs using bit operations. Inf. Sci. Appl., 146(1-4) :115–126, 2002. [10] K. M´ gy. Analyse in-silico de profils d’expression de g` nes humains a partir e e ` d’une etude statistique des EST. PhD thesis, Universit´ de la m´ dit´ rran´ e e e e e ´ Aix-Marseille II, 2002. [11] G. Navarro and M. Raffinot. Fast and simple character classes and bounded gaps pattern matching, with application to protein searching. In RECOMB

63

’01 : Proceedings of the fifth annual international conference on Computational biology, pages 231–240, New York, NY, USA, 2001. ACM Press. [12] S. Sinha and M. Tompa. A statistical method for finding transcription factor binding sites. In Proceedings of the Eighth International Conference on Intelligent Systems for Molecular Biology, pages 344–354. AAAI Press, 2000. [13] S. Sinha and M. Tompa. Discovery of novel transcription factor binding sites by statistical overrepresentation. Nucl. Acids Res., 30(24) :5549–5560, 2002. [14] M. Tompa. An exact method for finding short motifs in sequences, with application to the ribosome binding site problem. In Proceedings of the Seventh International Conference on Intelligent Systems for Molecular Biology, pages 262–271. AAAI Press, 1999. [15] J. van Helden, B. Andr´ , and J. Collado-Vides. Extracting regulatory sites e from the upstream region of yeast genes by computational analysis of oligonucleotide frequencies. J. Mol. Biol., 281 :827–842, 1998. [16] E. Wingender, P. Dietze, H. Karas, and R. Knuppel. TRANSFAC : a database on transcription factors and their DNA binding sites. Nucl. Acids Res., 24(1) :238–241, 1996. [17] S. Wu and U. Manber. Fast text searching : allowing errors. Commun. ACM, 35(10) :83–91, 1992. [18] J. Zhu and M. Zhang. SCPD : a promoter database of the yeast Saccharomyces cerevisiae. Bioinformatics, 15(7) :607–611, 1999.

64

Sign up to vote on this title
UsefulNot useful