Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 47 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
47
Dung lượng
502,85 KB
Nội dung
M´emoire de fin d’´etude Indexation parall` ele des donn´ ees g´ enomiques NGUYEN Van Hoa Responsable : Dominique LAVENIER Equipe d’accueil : Symbiose, IRISA 18 novembre 2005 Remerciement Je tiens `a remercier tout particuli`erement Monsier Dominique Lavenier, mon responsable de stage, de m’avoir accueilli, soutenu et aid´e tout au long de ces six mois, Rumen Andonov pour ses judicieux conseils Un grand merci ´egalement `a toute l’´equipe Symbiose pour son accueil R´ esum´ e Les banques de donn´ees g´enomiques sont de plus en plus volumineuses depuis quelques ann´ees Elles sont devenues la ressource d’information principale de la biologie mol´eculaire pour d´eterminer une histoire ´evolutive des organismes, ou pour d´eterminer des donn´ees fonctionnelles Face `a leur croissance exponentielle, les outils actuels de recherche de similarit´es devient lourd dans quelques ann´ees lorsqu’on d´esire effectuer une recherche syst´ematique Nous proposons la recherche par indexation parall`ele pour acc´el´erer les performances Nous pr´esentons ce mod`ele de recherche sur un cluster de machines : les noeuds travaillent ind´ependamment sur une partie des banques et le r´esultat final est la fusion de l’ensemble Mots-cl´ es : g´enomiques, indexation parall`ele, recherche de similarit´es, cluster de PC Abstract The genomic databases have been increasingly more and more for a few years They became the resource of principal information of molecular biology to determine an evolutionary history of the organism, or to determine functional data In face of their exponential growth, the current tools for similar searching becomes heavy in a few years when we want to the systematic researches We propose a model of research by parallel indexing to accelerate the performances We present this model of research on a cluster of machines : the nodes work independently on part of the banks and the final result is the set fusion Keywords : genomic, parallel indexing, search for similarities, PC cluster Table des mati` eres Introduction 1.1 Contexte du stage 1.2 Contexte biologique 1.2.1 Banques de donn´ees de s´equences d’ADN 1.2.2 La recherche de similarit´es 1.3 Heuristique de recherche d’alignement 1.4 Recherche par indexation parall`ele 1.5 Objectifs du stage 1 2 4 Indexation pour la recherche de similarit´ es 2.1 Principe de l’indexation 2.1.1 Exemple de recherche via l’indexation 2.1.2 Indexation des banques g´enomiques 2.2 Les travaux ant´erieurs 2.2.1 Les structures de donn´ees 2.2.2 La recherche 2.3 M´ethodes d’indexation pour la recherche de similarit´es 2.3.1 Format de la table d’index 2.3.2 M´ethode de r´ef´erence 2.3.3 Suppression des zones de faible complexit´e 2.3.4 Discussion 2.4 Conclusion 6 7 8 10 10 11 12 13 14 Indexation parall` ele pour la recherche de similarit´ es 3.1 Principe 3.1.1 La tˆache de filtrage 3.1.2 La recherche 3.2 Mod´elisation du temps d’ex´ecution 3.3 Plateformes ´etudi´ees 3.3.1 Cluster de PC 3.3.2 RDisk 3.3.3 ReMiX 3.4 Conclusion 15 15 16 16 17 17 17 18 19 20 21 21 21 22 23 25 26 Ordonnancement 4.1 Principe d’ordonnancement 4.1.1 R´epartir les donn´ees g´enomiques 4.1.2 Dupliquer une partie des donn´ees localement 4.1.3 Algorithme d’ordonnancement 4.2 Application `a l’ordonnancement des tˆaches de filtrage 4.3 Application `a l’ordonnancement des s´equences i ` TABLE DES MATIERES 4.4 Simulation 4.5 Conclusion ii 27 27 Impl´ ementation et r´ esultats 5.1 Plateforme et biblioth`eque 5.2 Impl´ementation 5.3 Param`etres d’indexation et 5.3.1 Les param`etres 5.3.2 Les r´esultats 5.4 Conlusion 28 28 28 29 29 30 35 Conclusion et perspectives r´esultats 37 Table des figures 1.1 Croissance de Genbank 2.1 2.2 Les arbres des suffixes pour le text ”tctagc” Les tableaux de suffixes pour le text “tctagc” 3.1 3.2 3.3 3.4 Diagramme de traitement d’une requˆete par Configuration de cluster de PC Configuration de RDisk Configuration de ReMiX 4.1 4.2 4.3 R´epartition de 16 clusters cons´ecutifs et non-cons´ecutifs sur processeurs R´epartition et duplication 16 clusters cons´ecutifs a ` processeurs Duplication d’une partie des donn´ees en local niveau (r´epartition cons´ecutives et 22 22 non-cons´ecutives) Temps d’ordonnancement des tˆ aches de filtrage pour 48 processeurs, W=9 (calcul´e en 23 4.4 micro seconds) Temps d’ordonnancement des tˆ aches de filtrage pour 48 processeurs, W=9 (calcul´e en 24 4.5 micro seconds) Temps d’ex´ecution des N*tˆ aches de filtrage pour chaque plateforme avec diff´erent ni- 25 4.6 l’index 15 18 19 20 veau de duplication des cluster (la longueur de requˆete = 2077, la taille de la banque FASTA est de Go, le nombres de noeuds pour le cluster de PC est de 32 ; et RDisk de 48 ; et ReMiX de 8) Temps de construction de la banque sur chaque plateforme correspondant niveau de 26 4.7 4.8 duplication des s´equences (M = 10.000) Temps d’ex´ecution des requˆetes avec diff´erents niveaux de duplication des clusters 26 27 5.1 5.2 5.3 Mod`ele de l’impl´ementation pour un cluster PC a ` K noeuds Deux ´etapes principales de traitement d’une requˆete pour un cluster de PC Temps d’ex´ecution de l’´etape de filtrage par rapport a ` un nombre de noeuds diff´erents 29 29 (pas de duplication des donn´ees) Temps d’ex´ecution de l’´etape de filtrage par rapport au niveaux de concurrence des 30 5.4 5.5 5.6 5.7 clusters (K=32) Temps d’extraction de la banque par rapport a ` un nombre de noeuds diff´erents Temps de traitement des requˆetes par rapport a ` un nombre de noeuds diff´erents Comment le temps de traitement des requˆetes se passe pour 16 noeuds (calcul´e en 31 31 32 seconds) 34 iii Chapitre Introduction Le d´eveloppement des techniques de la biologie moderne a conduit au s´equencage en masse des g´enomes Les biologistes mol´eculaires veulent extraire et ´etudier l’information tr`es rapidement Ils effectuent quotidiennement des recherches de similarit´es pour d´eterminer une histoire ´evolutive des organismes, ou pour d´eterminer des donn´ees fonctionnelles Plusieurs approches, exhaustives ou `a base d’index existent pour faciliter la recherche N´eanmoins, la n´ecessit´e d’acc´el´erer les recherches se d´eveloppe tous les jours D`es qu’un nouveau g`ene est s´equenc´e, l’´etape suivante est l’exploration des banques nucl´eotides pour extraire des similarit´es entre un g`ene connu et un g`ene nouveau 1.1 Contexte du stage J’ai effectu´e mon stage dans l’´equipe Symbiose1 , `a l’Institut de Recherche en Informatique et Syst`emes Al´eatoires (IRISA) La probl´ematique g´en´erale de cette ´equipe correspond au champ de la bio-informatique, c’est `a dire `a la mod´elisation des donn´ees g´enomiques pour assister le biologiste mol´eculaire dans la formulation et la d´ecouverte de nouvelles connaissances L’´equipe s’articule autour de grands axes : l’analyse linguistique des s´equences, l’analyse et l’identification de syst`emes dynamiques et l’architecture et le parall´elisme Dans le dernier axe, il y a deux projets ils s’appellent RDisk (un cluster de disques reconfigurables) et ReMiX (un cluster de m´emoires reconfigurables) L’objectif des deux projets est la parall´elisation des traitements coˆ uteux en g´enomique pour en acc´el´erer fortement l’ex´ecution La mise en oeuvre vise les super-calculateurs, les grilles de calcul et les architectures sp´ecialis´ees http ://www.irisa.fr/symbiose 1.2 Contexte biologique 1.2 Contexte biologique La biologie mol´eculaire ´etudie l’ADN, l’ARN, les prot´eines et leurs interactions Ces trois ´el´ements ont en commun d’ˆetre des chaˆınes de petites mol´ecules L’ADN contient l’information g´en´etique compl`ete permettant de d´efinir la structure, la fonction, le d´eveloppement et la reproduction d’un organisme Les g`enes qui sont des portions d’ADN sont le support de cette information g´en´etique et les prot´eines sont les produits de ces g`enes Les g`enes sont constitu´es d’un enchaˆınement de types de nucl´eotides : Ad´enine (A), Cytosine (C), Guanine (G), et Thymine (T) On peut consid´erer l’ADN comme un tr`es grand texte avec un vocabulaire de lettres : A,C,G,T Les prot´eines sont, par contre, les macromol´ecules de l’activit´e et de la structure Elles assurent le fonctionnement des processus cellulaires et servent de mat´eriau de construction pour la cellule L’unit´e de base des prot´eines est l’acide amin´ee On en trouve 20 diff´erents ayant des caract´eristiques physico-chimiques vari´ees Le rˆole de l’ARN est interm´ediaire dans le sens o` u sa fonction principale est de transcrire l’information se trouvant dans l’ADN en prot´eine [8] 1.2.1 Banques de donn´ ees de s´ equences d’ADN En 1965, la premi`ere s´equence de 100 bases a ´et´e publi´ee [5] D`es la fin des ann´ees 70, grˆace `a une nouvelle technique de s´equencage, les s´equences ont ´et´e produites cent fois plus rapidement En r´epondant `a l’int´erˆet croissant port´e `a l’analyse de ces informations, la communaut´e biologique a d´ecid´e en 1978 d’´etablir une base de donn´ees rassemblant l’ensemble de ces ressources afin de collecter, organiser et distribuer les informations et les annotations sur les s´equences A partir de cette d´ecision, toutes les s´equences produites sont collect´ees dans les banques de donn´ees g´enomiques dont les trois banques principales sont : the Euroean ´ Molecular Biology (EMBL) en Europe, Genbank aux Etats-Unis et the DNA Data Bank of Japan (DDBJ) au Japon Les banques de donn´ees sont mises `a jour `a partir d’une collaboration internationale Ainsi, depuis sa cr´eation en 1982, la taille de Genbank n’a cess´e de croˆıtre `a une vitesse toujours plus rapide chaque ann´ee On estime que la taille de Genbank double tous les 15 ou 16 mois [8] depuis sa cr´eation (fig 1.1)2 Les banques de donn´ees peuvent ˆetre organis´ees en plusieurs structures : texte, XML, donn´ees relationnelles etc Nous prenons un exemple : le format FASTA Dans cette structure, http ://www.ncbi.nlm.nih.gov/Genbank 1.2 Contexte biologique Fig 1.1 – Croissance de Genbank les s´equences d’ADN ou d’acides amin´es sont des donn´ees non structur´ees Elles sont stock´ees sous la forme de grands fichiers textuels qui peuvent ˆetre soit des fichiers personnels (pr´esents dans un espace personnel) ou soit des fichiers publics (s´equences des banques) Une s´equence au format FASTA a deux parties : la ligne de d´efinition et la s´equence d’ADN >Ligne de d´efinition La s´equence d’ADN > – la ligne de d´efinition doit commencer par le caract`ere ”>” Cela permet de mettre plusieurs s´equences dans un mˆeme fichier Apr`es le caract`ere ”>” on trouve un identificateur unique (ID) et une petite description La description est libre et ne contient pas de caract`ere terminal de ligne ; – la s´equence d’ADN est pr´ec´ed´ee imm´ediatement de la ligne de d´efinition La s´equence est donn´ee sous forme de lignes de 80 caract`eres au maximum 1.2.2 La recherche de similarit´ es Lorsque l’on recherche la fonction d’un g`ene ou d’une prot´eine inconnue, on essaye de trouver des similarit´es entre sa s´equence d’acides amin´es ou de ses bases d’ADN et celles de mol´ecules connues et ´etudi´ees La similarit´e est une mesure de ressemblance entre deux s´equences prot´eiques ou nucl´eiques Elle est bas´ee sur la pourcentage d’identit´e entre les deux s´equences compar´ees La recherche de similarit´e consiste `a rep´erer des r´egions similaires entre une s´equence, appel´ee s´equence requˆete, et une s´equence cible Pour ce faire, on proc`ede par 1.3 Heuristique de recherche d’alignement alignement de s´equences Les types d’alignement sont : – alignement local : cet alignement est utilis´e pour d´etecter les r´egions locales de hautes similarit´es entre deux s´equences ayant des longueurs diff´erentes ; – alignement global : le but de cet alignement est de mesurer la ressemblance globale entre deux s´equences Ceci est effectu´e en alignant la totalit´e des deux s´equences ; – gaps et insertion : en alignant, on peut ´egalement introduire des d´ecalages, c’est `a dire une absence de lettre sur l’une ou sur l’autre des s´equences que l’on notera ”-” et qui correspond biologiquement aux insertions/delections Plus pr´ecis´ement, c’est un ´ev´enement de mutation qui ´elimine une partie d’un g`ene, ou en ins`ere une nouvelle 1.3 Heuristique de recherche d’alignement La recherche des s´equences similaires correspond `a la recherche par le contenu dans de grands ensembles de donn´ees On doit parcourir toutes les donn´ees de l’ensemble consid´er´es Il existe plusieurs solutions pour trouver des alignements Les premiers algorithmes, comme celui de Smith-Waternam en 1981, utilisent des techniques de programmation dynamique, et sont d’une complexit´e quadratique [28] BLAST bas´e sur une heuristique est apparu en 1990 [1] BLAST permet d’ex´ecuter dans un temps raisonnable la comparaison de deux s´equences de quelques centaines `a quelques milliers de nucl´eotides BLAST est devenu la r´ef´erence en exploration de base de donn´ees g´enomiques Cependant, BLAST devient lourd lorsqu’on d´esire effectuer une recherche syst´ematique dans des banques dont la taille est de l’ordre 109 `a 1010 r´esidus Il y a deux probl`emes : la capacit´e calculatoire et le temps d’acc`es aux donn´ees Pour acc´el´erer les performances, il existe deux fa¸cons : – l’impl´ementation parall`ele de BLAST sur un cluster de stations : TurboBLAST [22], mpiBLAST [7] et parallelBLAST [23] – l’ajout d’acc´el´erateurs mat´eriels : unit´es de traitement sp´ecialis´ees (en technologie ASIC ou reconfigurable [RDisk]) r´eparties sur des cartes d’extension 1.4 Recherche par indexation parall` ele Nous pouvons am´eliorer les performances de recherche de similarit´es en indexant les donn´ees g´enomiques L’index nous permet de pointer directement sur des donn´ees pertinentes L’id´ee est de chercher seulement dans une petite partie des banques On construit une table 4.4 Simulation 4.4 27 Simulation Nous calculons le temps de traitement des requˆetes Trequete = N ∗ TF iltrage + M ∗ TExtraction avec les param`etres suivants : la banque d’EST (Expressed Sequence Tag) compos´ee d’environ Giga paires de bases reparties dans 16.000.000 s´equences ; la taille des s´equences requˆetes est compris entre 300 et 2100 bases ; le niveau de duplication des clusters varie de `a La figure 4.8 montre que le temps gagn´e grˆace `a la duplication des donn´ees `a niveau est le plus important Le meilleur niveau de duplication pour la plateforme ReMiX est de Cluster PC RDisk 3 niveau de concurrence des donnees ReMiX 0.24 temps d’execution de requete (sec) q300 q600 q900 q1200 q1500 q1800 q2100 temps d’execution de requete (sec) temps d’execution de requete (sec) 4.5 3.5 2.5 niveau de concurrence des donnees 0.22 0.2 0.18 0.16 0.14 0.12 0.1 niveau de concurrence des donnees Fig 4.8 – Temps d’ex´ecution des requˆetes avec diff´erents niveaux de duplication des clusters 4.5 Conclusion La baisse du temps d’extraction de la banque au format FASTA n’est pas importante si l’on duplique des donn´ees Par contre, la duplication entraˆıne un besoin en espace de stockage C’est la raison pour laquelle nous d´ecidons de dupliquer les donn´ees seulement pour l’´etape de filtrage Le niveau de cette duplication varie de `a Les figures 4.5 et 4.8 montre que le temps d’ordonnancement des tˆaches de filtrage par rapport le temps d’ex´ecution total est n´egligeable pour les trois plateformes Chapitre Impl´ ementation et r´ esultats 5.1 Plateforme et biblioth` eque – plateforme : nous faisons l’exp´erimentation sur un cluster de machines ayant les caract`eristiques suivantes : Noeuds : parasol (parasol01, parasol02, , parasol32) Type : SUN Fire V20z CPU : 2.2 GHz M´emoire : Go R´eseau : Gigabit Ethernet Disque dur : protocole SCSI, taille de 73 Go par noeud Syst`eme d’exploitation : Linux – biblioth`eque : MPI (Message-Passing Interface) c’est une biblioth`eque de fonctions utilisables depuis C, Fortran, C++ Elle nous permet d’exploiter des machines multiprocesseurs par passage de messages Le mod`ele de programmation de MPI est celui de processus communicants, coop´erant `a l’ex´ecution d’une tˆache Chaque processus a ses propres donn´ees Les processus peuvent communiquer entre eux et ils peuvent se synchroniser 5.2 Impl´ ementation Dans ce mod`ele, il y a un serveur et K stations Les informations concernant les clusters, comme leur taille, et leur nombre, sont stock´ees sur le serveur Les deux banques “index” et “FASTA” sont r´eparties sur les stations Pour la banque index´ee, nous utilisons une table 28 5.3 Param` etres d’indexation et r´ esultats 29 Fig 5.1 – Mod`ele de l’impl´ementation pour un cluster PC a` K noeuds index des cluster (IDX) qui nous permet de d´eterminer la position d’un cluster Et pour la banque FASTA, chaque s´equence est point´ee par un offset Une requˆete s’effectue en deux ´etapes principales : filtrage et extraction (figure 5.2) Fig 5.2 – Deux ´etapes principales de traitement d’une requˆete pour un cluster de PC 5.3 5.3.1 Param` etres d’indexation et r´ esultats Les param` etres La base des donn´ees qui a servi de r´ef´erence pour l’ensemble des tests est une banque d’EST compos´ee d’environ Giga de paires de bases r´eparties dans 16.000.000 s´equences Pour l’ensemble des tests, nous avons pris des mots de taille W=10 et une taille de voisinage V=12 Pour ´evaluer les alignements lors de la phase de traitement des requˆetes, nous avons appliqu´e une fonction de score calcul´ee par programme dynamique Le seuil est de 23 pour la somme du score de deux voisinages Afin d’´evaluer les r´esultats r´eels sur la plateforme cluster de PC par rapport aux valeurs th´eoriques nous devons pr´eciser les param`etres de 5.3 Param` etres d’indexation et r´ esultats 30 cette plateforme : Tacces = 4.7msec Tf = 25Mo/s Texec = 20Mo/s Par ailleurs, nous ´evaluons les performances de notre impl´ementation en faisant varier le nombre de noeuds du cluster (8 noeuds, 16 noeuds, 24 noeuds et 32 noeuds) Nous mesurons : – l’acc´el´eration de l’´etape de filtrage (N tˆaches) ; – l’acc´el´eration de l’´etape de construction la banque au format FASTA (fbank) ; – l’acc´el´eration d’ex´ecution d’une requˆete ; 5.3.2 Les r´ esultats La figure 5.3 montre les performances de l’´etape de filtrage La taille des s´equences requˆetes entr´ees varie de 300 `a 3100 bases Dans cette exp´erimentation nous ne faisons pas de duplication Le r´esultat montre que l’acc´el´eration de l’´etape de filtrage d’index n’augmente pas lin´eairement car la taille des clusters est tr`es in´egale En g´en´eral, les r´esultats r´eels sont un peu sup´erieurs aux valeurs th´eoriques Par ailleurs, l’acc´el´eration de cette ´etape d´epend aussi du temps d’acc`es aux donn´ees Le temps moyen d’acc`es aux donn´ees est de 4.7 msec En effet, si nous augmentons le nombre de noeuds, la tailles de donn´ees sera plus faible Cette figure montre aussi que le temps de traitement de cette ´etape d´epend de la longueur des s´equences requˆetes a (theorie) b (implementation) query−300 query−600 query−900 query−1200 query−1500 query−1800 query−2100 query−2400 query−2700 query−3100 temps de l’etape de filtrage (seconds) temps de l’etape de filtrage (seconds) 16 24 nombre de noeuds 32 16 24 nombre de noeuds 32 Fig 5.3 – Temps d’ex´ecution de l’´etape de filtrage par rapport a` un nombre de noeuds diff´erents (pas de duplication des donn´ees) Pour r´eduire le temps de traitement de l’´etape de filtrage nous faisons la duplication d’une 5.3 Param` etres d’indexation et r´ esultats 31 partie des clusters Cette duplication nous permet d’affecter les tˆaches pour que le charge de chaque noeud soit ´equivalent Dans cette exp´erimentation, le nombre de noeuds a ´et´e fix´e `a 32 La taille des s´equences requˆetes varie de 600 `a 3100 bases et le niveau de concurrence des clusters varie de `a Le r´esultat ressemble `a celui calcul´e en th´eorie, c’est `a dire que le temps gagn´e entre le premier et le deuxi`eme niveau est plus que celui entre le deuxi`eme et le troisi`eme niveau (voir figure 5.4) a (theorie) b (implemantation) 2.5 query−600 query−900 query−1200 query−1500 query−1800 query−2100 query−2700 query−3100 1.5 temps de traitement de filtrage (seconds) temps de traitement de filtrage (seconds) 2.5 0.5 niveau de duplication des donnees 1.5 0.5 niveau de duplication des donnees Fig 5.4 – Temps d’ex´ecution de l’´etape de filtrage par rapport au niveaux de concurrence des clusters (K=32) Les performances de l’´etape d’extraction de la banque au format FASTA est linaire (voir figure 5.5) La taille des s´equences n’est pas tr`es diff´erente, environ 600 paires de bases en moyenne C’est la raison pour laquelle le temps d’extraction d’une s´equence ne d´epend que du temps d’acc`es aux donn´ees Grˆace `a cette fa¸con de r´epartir des s´equences, nous pouvons distribuer la charge d’extraction des s´equences aux noeuds de mani`ere al´eatoire Le temps de construction de la banque ne d´epend pas la longueur des s´equences a (theorie) b (implementation) 12 query−300 query−600 query−900 query−1200 query−1500 query−1800 query−2100 query−2400 query−2700 query−3100 10 temps d’extraction de la banque (seconds) temps d’extraction de la banque (seconds) 12 16 24 nombre de noeuds 32 10 8 16 24 nombre de noeuds 32 Fig 5.5 – Temps d’extraction de la banque par rapport a` un nombre de noeuds diff´erents 5.3 Param` etres d’indexation et r´ esultats 32 Pour les performances de traitement des requˆetes, la figure 5.6 montre que les performances des longues s´equences est meilleur que celui des s´equences courtes La raison est que pour une petite s´equence requˆete il n’a pas beaucoup de tˆaches Par contre le temps de communication entre les noeuds est augment´e si l’on ajoute des noeuds dans un cluster des machines Cette figure montre que les performances th´eoriques sont meilleures que les performances r´eelles a (theorie) b (implementation) 20 query−300 query−600 query−900 query−1200 query−1500 query−1800 query−2100 query−2400 query−2700 query−3100 18 16 14 12 10 temps de traitement des requetes (seconds) temps de traitement des requetes (seconds) 20 16 24 nombre de noeuds 32 18 16 14 12 10 8 16 24 nombre de noeuds 32 Fig 5.6 – Temps de traitement des requˆetes par rapport a` un nombre de noeuds diff´erents Le temps d’ex´ecution des ´etapes d’une requˆete est calcul´e th´eoriquement avec les param`etres du cluster de machine au-dessus Les tableaux et montrent le temps d’ex´ecution de chaque ´etape en th´eorie(T) et en r´ealit´e(R) Ces tableaux montrent que le temps r´eel de l’´etape filtrage et de l’´etape de construction de la banque au format FASTA est plus grand que celui calcul´e pour la plupart des s´equences Le temps r´eel de traitement des requˆetes comprend le temps de communication entre les noeuds C’est la raison pour laquelle il est plus grand que celui calcul´e en th´eorie G´en´eralement, la diff´erence entre th´eorie et r´ealit´e n’est pas tr`es grande 5.3 Param` etres d’indexation et r´ esultats 33 Taille Temps Temps Temps Temps Temps Temps requˆete filtrage(T) filtrage(R) extraction(T) extraction(R) requˆete(T) requˆete(R) 323 0.284 0.309 1.071 0.740 1.357 2.040 616 0.428 0.616 1.806 2.275 2.237 3.642 909 0.708 0.683 1.967 2.497 2.680 4.171 1223 1.298 1.423 3.839 4.210 5.145 6.531 1501 0.797 0.990 2.076 2.952 2.878 4.879 1803 1.208 1.410 2.299 2.649 3.512 4.933 2127 1.534 1.569 3.958 4.316 5.501 7.198 2410 1.303 1.506 2.517 2.807 3.826 4.934 2724 1.512 1.719 3.247 3.010 4.767 5.674 3165 1.730 1.999 3.636 3.692 5.375 6.547 Tableau : comparaison entre les r´esultats th´eoriques et r´eels des requˆetes pour 24 noeuds (duplication=1) Taille Temps Temps Temps Temps Temps Temps requˆete filtrage(T) filtrage(R) extraction(T) extraction(R) requˆete(T) requˆete(R) 323 0.180 0.258 1.114 0.791 1.297 1.762 616 0.338 0.479 1.901 2.371 2.244 3.684 909 0.470 0.527 2.024 2.621 2.703 4.146 1223 0.674 0.889 3.792 4.158 4.475 5.867 1501 0.676 0.843 2.005 2.924 2.687 4.649 1803 0.826 0.987 2.199 2.715 3.032 4.688 2127 1.014 1.056 3.967 4.412 4.991 6.377 2410 0.970 1.119 2.522 2.724 3.500 4.397 2724 1.181 1.450 3.171 3.246 4.360 5.386 3165 1.481 1.584 3.531 3.724 5.022 6.116 Tableau : comparaison entre les r´esultats th´eoriques et r´eels des requˆetes pour 24 noeuds (duplication=2) Le temps d’extraction de M s´equences ( la sixi`eme colonne dans les tableaux et ) est tr`es coˆ ut Dans le jeu, chaque noeuds a une m´emoire de Goctets La taille de la banque Fasta locale est inf´erieur de taille de la m´emoire Nous avons optimis´e le temps d’extraction par copier la banque Fasta locale `a la m´emoire Ceci nous permet de gagner de temps Le tableau montre le temps d’extraction mesur´e sur un cluster de 24 processeurs 5.3 Param` etres d’indexation et r´ esultats 34 Taille Nombre Mettre la banque Non mettre la banque requˆete s´equences `a la m´emoire `a la m´emoire 323 4780 0.798 0.740 616 8415 0.856 2.275 909 9625 0.856 2.497 1223 17904 0.989 4.210 1501 9327 0.833 2.952 1803 10376 0.847 2.649 2127 18648 1.004 4.316 2410 11888 0.879 2.807 2724 15083 0.932 3.010 3165 16727 0.981 3.692 Tableau : Temps d’extraction de M S´equences Th´eoriquement, le temps de traitement d’une requˆete est : Trequete = N ∗ TF iltrage + M ∗ TExtraction On n´eglige le temps de communication entre les noeuds En fait, mˆeme si les tˆache s’effectuent ind´ependamment, on a besoin de communication pour diffuser des donn´ees concernant l’ordonnancement des tˆaches et pour combiner le r´esultat La figure 5.7 montre comment le temps de traitement des requˆetes se passe en r´ealit´e Le temps de communication de construire la banque et de diffuser des informations est encore important Fig 5.7 – Comment le temps de traitement des requˆetes se passe pour 16 noeuds (calcul´e en seconds) Nous avons compar´e les performances de notre approche (IndexBLAST) avec la version parall`ele de BLAST (1.4.0) : le logiciel mpiBLAST Le tableau r´esume les temps d’ex´ecution mesur´e sur un cluster de 24 processeurs avec un niveau de duplication de l’index de 5.4 Conlusion 35 Taille Temps Nombre de Temps Temps Temps Temps Temps requˆete filtrage s´equences extraction fusion alignement IndexBLAST mpiBLAST 323 0.258 4780 0.898 0.080 0.243 1.804 3.109 616 0.479 8413 0.930 0.131 0.455 2.322 3.080 909 0.527 9265 0.850 0.173 0.512 2.355 3.150 1223 0.889 17904 1.096 0.254 0.954 3.526 3.476 1501 0.843 9377 0.869 0.141 0.516 2.815 3.372 1803 0.987 10373 0.966 0.159 0.614 3.059 3.566 2127 1.056 18646 1.142 0.274 1.051 3.860 3.615 2410 1.119 11883 0.899 0.180 0.687 3.222 3.522 2724 1.450 15083 0.954 0.227 0.892 3.862 3.850 3165 1.584 16727 1.001 0.248 0.945 4.122 4.083 Tableau : comparaison entre indexBLAST et mpiBLAST pour 24 noeuds Le temps d’alignement (la colonne 6) est le temps d’effectuer (s´equentiellement) le logiciel BLAST sur la banque Fasta de M s´equences Les deux derni`eres colonnes du tableau donnent les temps d’ex´ecution total Le temps total d’IndexBLAST contient le temps de filtrage, d’extraction, de fusion de la banque, de communication et d’alignement G´en´eralement, les temps des deux derni`eres colonnes sont quasiment similaire 5.4 Conlusion En regroupant des mots identiques de taille W, l’indexation nous permet de pointer directement des r´egions ayant potentiel similaire avec la s´equence requˆete, ceci nous permet d’acc´el´erer la recherche En impl´ementant parall`ele, une requˆete s’effectue en deux ´etapes principaux : filtrage index et extraction de la banque Elles sont s´epar´ees mais d´ependantes, c’est `a dire que nous ne pouvons lancer que la derni`ere si la premi`ere a ´et´e termin´ee C’est la raison pour laquelle pendant le temps d’ex´ecution de requˆete, il existe quelques processeurs en attente de travail Par ailleurs, la taille des donn´ees concernant l’ordonnancement des tˆaches et des s´equences n’est pas tr`es grande Par contre, la taille des donn´ees pour construire la banque FASTA est tr`es importante Elle provoque un temps de communication (point-to-point) pour construire la banque FASTA de 0.4 second Apr`es avoir ´etudi´e le comportement de la recherche de similarit´es par l’indexation parall`ele, on d´eduit que : 5.4 Conlusion – une duplication des clusters au plus de n’apporte pas beaucoup de gain ; – il est inutile de dupliquer la banque FASTA ; 36 Chapitre Conclusion et perspectives Dans ce rapport nous avons abord´e la m´ethode de recherche de similarit´es par indexation dans le domaine bioinformatique et le comportement de l’indexation parall`ele sur trois plateformes : cluster de PC, cluster de disques reconfigurables (RDisk) et cluster de m´emoires reconfigurables (ReMiX) L’indexation parall`ele d´ecrit dans ce rapport peut acc´el´erer les performances de traitement des requˆetes Nous avons ´etudi´e le taux de duplication d’une partie des donn´ees en local Nous avons propos´e un algorithme d’ordonnancement des tˆaches o` u le temps est n´egligeable par rapport au temps d’ex´ecution total Nous avons analys´e le temps de traitement des requˆetes sur le mod`ele construit et compar´e de temps th´eorique et r´eel de traitement des ´etapes de requˆete pour la plateforme cluster de PC Les r´esultats obtenus nous permettent de pr´evoir des gains significatifs sur les banques d’ADN par rapport au logiciel de r´ef´erence du domaine mpiBLAST Par contre, Il y a deux directions principales pour am´eliorer notre approche : – l’impl´ementation parall`ele r´ealis´ee pour valider notre approche peut ˆetre am´elior´ee Le sch´ema global propos´e (Fig 3.1) comporte des parties s´equentielles qui brident les performances de l’ensemble, notamment l’´etape finale d’alignement Nous pouvons r´eduire le temps de cette ´etape en effectuant en parall`ele pour tous les noeuds sur une base de donn´ees obtenue par l’extraction des s´equences ; – l’analyse des r´esultats montre ´egalement que dans notre approche la majorit´e du temps est pass´ee dans de filtrage Pour l’instant, l’indexation est bas´ee sur l’heuristique qui consiste `a trouver des point d’ancrage form´es de mots de W caract`eres cons´ecutifs Or, depuis quelques ann´ees, plusieurs ´etudes pour la recherche par des motifs plus subtils (appel´es graines espac´ees) qui permettent soit un sensibilit´e accure, soit une indexation 37 38 moins gourmande en terme d’espaces m´emoire Bibliographie [1] Stephen F Altschul, Warren Gish, W Miller, Eugene Myers, and D J Lipman Basic Local Alignment Search Tool Journal of Molecular Biology, 215 :403 410, 1990 [2] Stephen F Altschul, Thomas L Madden, Alejandro A Shaffer, Jinghui Zhang, Zheng Zhang, Webb Miller and David J Lipman Grapped BLAST and PSI-BLAST : a new generation of protein database searche programs Nucleic Acids Research Vol 25, No 17 3389-3402, 1997 [3] S Guy´etant, D Lavenier, Filtrage de bases de donn´ees sur le prototype RDISK, SympAAA’2003 9`eme Symposium en Architectures de Machines et Ad´equation Algorithme Architecture, La Colle sur Loup, 2003 [4] Stephane Guyetant, Mathieu Giraud, Ludovic L’Hours, Steven Derrien, Stephane Rubini, Dominique Lavenier, Frederic Raimbault Cluster of re-congurable nodes for scanning large genomic banks Parallel Computing 31, 2005, 73-96 [5] Jeremy Buhler Provably sensitive indexing strategies for biosequence similarity search In Gene Myers, Sridhar Hannenhalli, Sorin Istrail, Pavel Pevznera, and Michael Waterman, editors, Proceedings of the 6th Annual International Conference on Computational Molecular Biology, RECOMB 2002 (Washington, DC, USA, April 1821, 2002), pages 90 99, New York, 2002 ACM Press [6] D Lavenier, D Guy´etant, S Derrien, S Rubini, A reconfigurable parallel disk system for filtering genomic banks, ERSA’03, Engineering of Reconfigurable Systems and Algorithms, Las Vegas, Nevada, USA, 2003 [7] Aaron E Darling, Lucas Carey, Wu-chun Feng The Design, Implementation, and Evaluation of mpiBLAST 2003 [8] Hugh E Williams and Justin Zoble Indexing and Retrieval for Genomic Databases IEEE Transaction on knowledge and data engineering, Vol 14, No 1, 2002 [9] Hugh E Williams Genomic information Retrieval Conference in Research and Practice in Information Technology Vol 17, 2003 [10] Christian Burks, Michael J Cinkosky, and Paul Gilna Decades of nonlinearity ; the growth of DNA sequence data Los Alamos Science, (20), 1992 [11] Gonzalo Navarro, Ricardo Baeza-Yates, Erkki Sutinen and Jorma Tarhio Indexing Method for Approximate String Matching Bulletin of the IEEE Computer Society Technical Committee on Data Enginerring, 2001 39 BIBLIOGRAPHIE 40 [12] Twee-Hee Ong, Kian-Lee Tan, and Hao Wang Indexing genomic databases for fast homology searching In DEXA 02 : Proceedings of the 13th International Conference on Database and Expert Systems Applications, pages 871 880, London, UK, 2002 Springer-Verlag [13] Ela Hunt Indexed searching on proteins using arrays suffix sequoia Bulletin of the IEEE computer society technical committee on data engineering, 2004 [14] Ela Hunt, Malcolm P Atkinson, RobertW Irving Database indexing for large DNA and protein sequence collections The VLDB Journal 11 : 256 271, Digital Object Identifier, 2002 [15] Ozgur D Sahin, S Alireza Aghili, Divyakant Agrawal, and Amr El Abbadi Efficient filtration of sequence homology search through singular value decomposition Technical Report ucsb cs :TR-200319, University of California, Santa Barbara, Computer Science, jul 2003 [16] Bin Ma, John Tromp, and Ming Li PatternHunter : faster and more sensitive homology search Bioinformatics, 18(3) :440-445, March 2002 [17] Stefan Burkhardt, Andreas Cramer, Paolo Ferragina, Hans-Peter Lenhof, Eric Rivals Martin, Vingron q-gram Based Database Searching Using a Suffix Array (QUASAR) RECOMB 99 Lyon France Copyright, ACM 1999 [18] Stefan Burkhardt and Juha K ark ainen Better filtering with gapped q-grams In Combinatorial Pattern Matching, pages 73-85, 2001 [19] G Cooper, Michael L Raymer, Travis E Doom, Don Krane, and Natsuhiko Futamura Indexing genomic databases In Proceedings of the Fourth IEEE Symposium on Bioinformatics and Bioengineering, pages 587-591, 2004 [20] Michael Roberts, Wayne Hayes, Brian R Hunt, Stephen M Mount, and Jams A York Reducing storage requirements for biological sequence comparison Bioinformatics, 20(18), jul 2004 [21] Xia Cao, Shuai Cheng Li, and Anthony K H Tung Indexing DNA Sequences Using q-grams, 2004 [22] R.D Bjornson, A.H Sherman, S.B Weston, N Willard, J Wing TurboBLAST : A Parallel Implementation of BLAST Built on the TurboHub TurboGenomics, 2002 [23] David R Mathog Parallel BLAST on split databases In Bioinformatics Applications Note, Vol 19, no 14, pages 1865-1866, 2003 [24] W James Kent BLAT The BLAST-Like Alignment Tool In Genome Research, 2002 [25] Michael Roberts, Wayne Hayes, Brian R Hunt, Stephen M Mount, and Jams A York Reducing storage requirements for biological sequence comparison Bioinformatics, 20(18), jul 2004 [26] Cheol-Hoon Lee and Kang G Shin, Fellow Optimal Task Assignment in Homogeneous Networks In IEEE Transaction on parallel and distributed systems, Vol 8, No 2, Feb 1997 [27] Virginia Mary Lo Heuristic Algorithms for Task Assignment in Distributed systems In IEEE Transaction on Computers, Vol 37, No 11, Nov 1988 [28] J Smith, TF and Waterman Identification of Common Molecular Subsequences J Mol Biol, 147, 195-197, 1981 BIBLIOGRAPHIE 41 [29] A Califano and I Rigoutsos FLASH : Fast Look-up Algorithm for String Homology 1995 [30] Chtistian Fondrat and Philipe Dessen A rapid access motif databases (RAMdb) with a search algorithm for the retrieval patterns in nucleic acids or protein databank 1995 [...]... m´ecanismes d indexation ont ´et´e d´evelopp´es, chacun adapt´e `a un type de donn´ees et `a un type de recherche L indexation des textes est tr`es bien avanc´ee Mais pour quelques types de donn´ees, en particulier des donn´ees des s´equences biologiques, il n’y a pas de crit`eres pr´ecis pour faire de l indexation La difficult´e dans ce secteur c’est que l’on ne cherche pas des s´equences ou des sous-s´equences... partie des donn´ees est d’´equilibrer la charge des processeurs Ceci r´eduit le temps de traitement global des requˆetes La figure 4.6 montre que le temps gagn´e grˆace `a la duplication des clusters en local est important, surtout au niveau 2 Par contre, la duplication d’une partie des clusters entraˆıne un besoin suppl´ementaire en espace de stockage 4.3 Application ` a l’ordonnancement des s´ equences... Param` etres d indexation et r´ esultats Les param` etres La base des donn´ees qui a servi de r´ef´erence pour l’ensemble des tests est une banque d’EST compos´ee d’environ 9 Giga de paires de bases r´eparties dans 16.000.000 s´equences Pour l’ensemble des tests, nous avons pris des mots de taille W=10 et une taille de voisinage V=12 Pour ´evaluer les alignements lors de la phase de traitement des requˆetes,... arbres des suffixes pour le text ”tctagc” – Les tableaux de suffixes [17] : ce sont des tableaux contenant tous les indices aux suffixes des textes tri´es dans l’ordre (alphab´etique) lexicographique Chaque suffixe est 2.2 Les travaux ant´ erieurs 9 une chaˆıne commen¸cant `a une certaine position dans le texte et finissant `a la fin du texte En fait, c’est une version sous forme de tableau des arbres des. .. C) {C : nombre de clusters ; N : nombre de tˆaches} 4 4 (a) x 10 2.5 temps d’ordonnancement des taches temps d’ordonnancement des taches 5 4 3 2 1 0 0 200 600 1000 1400 nombre des taches 1800 2200 (b) N=1000 x 10 2 1.5 1 0.5 0 0 2 4 6 8 10 niveau de concurrence des donnees 12 14 Fig 4.4 – Temps d’ordonnancement des tˆaches de filtrage pour 48 processeurs, W=9 (calcul´e en micro seconds) – deuxi`eme approche... similarit´es par indexation Puis, dans la section 3 nous pr´esenterons un mod`ele de la recherche de similarit´es par indexation parall`ele Dans la partie suivante nous pr´esenterons l’algorithme d’ordonnancement des tˆaches Enfin dans la section 5, nous validerons le mod`ele par une impl´ementation sur un cluster de 32 noeuds Chapitre 2 Indexation pour la recherche de similarit´ es L indexation est... temps d’execution N*taches(sec) 6 0 26 1.5 1 0.5 0 2 3 4 5 6 niveau de duplication des donnees 1 0.15 0.1 0.05 0 2 3 4 5 6 niveau de duplication des donnees 1 2 3 4 5 6 niveau de duplication des donnees Fig 4.6 – Temps d’ex´ecution des N*tˆaches de filtrage pour chaque plateforme avec diff´erent niveau de duplication des cluster (la longueur de requˆete = 2077, la taille de la banque FASTA est de 9... 4.5 4 3.5 3 2.5 1 2 3 4 5 6 niveau de concurrence des donnees 0.22 0.2 0.18 0.16 0.14 0.12 0.1 1 2 3 4 5 6 niveau de concurrence des donnees Fig 4.8 – Temps d’ex´ecution des requˆetes avec diff´erents niveaux de duplication des clusters 4.5 Conclusion La baisse du temps d’extraction de la banque au format FASTA n’est pas importante si l’on duplique des donn´ees Par contre, la duplication entraˆıne... d’index 2.2 Les travaux ant´ erieurs 2.2.1 Les structures de donn´ ees – Les arbres des suffixes [13] : c’est une structure de donn´ees refl´etant les caract´eristiques internes des s´equences Dans les arbres des suffixes chaque noeud interne reliant des fils est une unit´e du texte index´e et les feuilles sont les indices des positions o` u commence le mot lu en partant de la racine de l’arbre jusqu’au... exit des s´equences similaires `a la s´equence requˆete On d´ecouple la s´equence requˆete en N mots requˆete La longueur des mots est W Pour chaque mot requˆete, on acc`ede directement au mot r´ef´erence correspondant dans la banque index´ee Ensuite, on compare les voisinages du mot requˆete avec ceux des mots occurrences dans le cluster pour ´evaluer la similarit´e On consid`ere les comparaisons des