1 / 76

Calculs intensifs pour l étude de l’évolution

Calculs intensifs pour l étude de l’évolution . Le calcul de l’arbre du vivant. Le génome. Le génome est l’ensemble du materiel génétique d’un individu ou d’une espece Le génome est codé sous la forme de une ou plusieurs molécules d’ADN (par exemple les chromosomes)

elmer
Download Presentation

Calculs intensifs pour l étude de l’évolution

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Calculs intensifs pour l étude de l’évolution Le calcul de l’arbre du vivant

  2. Le génome • Le génome est l’ensemble du materiel génétique d’un individu ou d’une espece • Le génome est codé sous la forme de une ou plusieurs molécules d’ADN (par exemple les chromosomes) • Il est présent chez tous les organismes vivants: plantes, animaux, insectes, champignons, microbes, bactéries • Toutes les cellules d’un individu contienent un exemplaire du génome (chaque cellule humaine contient 2 mètres d'ADN environ)

  3. Les gènes • Il s’agit de zones dans le génome qui contiennent l’information sur la construction d’élements fondamentaux du fonctionnement des cellules, des organes, etc. • Par exemple les gènes codent pour les protéines, des polypeptides impliqués a tous les niveaux de la vie cellulaire

  4. Diversité des génomes • Génome humain : • 3,2 milliards de lettres • environ 25 000 gènes • Génome de la mouche: • 120 millions de lettres • environ 20 000 gènes • Génome du maïs: • 5 milliards de lettres • 55 000 gènes • Génome de la bactérie Escherichia coli • 4 millions de lettres • 4 000 gènes

  5. Séquençage du génome • Il s’agit de connaître la « séquence » du génome c’est à dire la formule : AATGCATAGTGCCGATG….. • Certaines parties du génome sont des gènes qui codent des protéines AATGCATAGTGCCGATGTAGTGCATAGTGC

  6. Explosion du nombre de génomes séquencés • Cout du séquençage en chute libre (nouvelles technos) • Accélération du nombre de génomes séquencés • Génome de l’homme: • Séquencage du génome humain 1989-2001: 12 ans • En 2010 : projet « 1000 Génomes » (1000 génomes humains)

  7. Explosion du nombre de génomes séquencés • 2 000 génomesdisponiblesaujourd’hui • Quelqueprojetsparmid’autres: • Génome 10K: 10 000 génomes de vertébrés • i5K: 5 000 génomesd’insectesdans les 5 ans • 1KP: 1 000 génomes de plantes

  8. L’évolution« rien en biologie n’a de sens, si ce n’est à la lumière de l’évolution »Theodosius Dobzhansky (1900-1975) : • La diversité des formes de vie est le résultat d’un processus historique, fait de hasards et de contraintes : l’évolution • Comprendre l’évolution pour expliquer les formes de vie • Comprendre les formes de vie pour retracer l’évolution

  9. La phylogénie • Etude de l’histoire des relation de parentés entre les êtres vivants • Anatomie comparée • Comparaison de séquence On observe une similarité qui permet de supposer qui il existait un ancêtre commun a ces organes On peut observer des similarités entre les séquences intérêt: tous les organismes ont des séquences d’ADN (alors qu’ils n’ont pas tous des pattes!) AATTACGATCGATTTACGC AATTGCGATCGATTTACGC AATTCCTATCGATTTACGC AATTCCTATCGATTTACGC

  10. La phylogénie • Gènes homologues: ce sont des gènes qui descendent du même gène ancestral • Deux séquences présentant une forte similarité de séquence ont de grande chance d’être des séquences homologues • Nombreuse méthodes mathématique permettant de calculer la similarité entre 2 séquences • Séquences ADN : 4 lettres • Séquences de protéines : 20 lettres

  11. La phylogénie • Phylogénie d’un gène • On estime la distance évolutive entre différents gènes • On la représente sous la forme d’un arbre Phylogénie d’un gène présent dans le génome de différents organismes Ces gènes sont des gènes « homologues » Le gène de la souris est plus proche du gène du rat que de celui de la vache : la distance entre gène est proportionelle la longeur de branche

  12. La phylogénie • Phylogénie des êtres vivants

  13. La phylogénie On utilise la phylogénie d’un gène pour proposer une phylogénie des êtres vivants • Phylogénie des êtres vivants

  14. La génomique comparative • Autrefois on se basait sur quelques gènes pour reconstruire l’ histoire évolutive des organismes • Mais tous les gènes n’ont pas la même histoire • Aujourd’hui on peut utiliser l’ensemble du génome pour comparer les organismes

  15. La phylogénomique • Calcul de la phylogénie des especes en se basant sur l’ensemble de leur génome

  16. Projet AncestromeEtude du fonctionnement et de l’organisation des génomes des êtres vivants actuels dans le but de construire des modèles permettant de connaître le génomes de leurs ancêtres ainsi que les processus évolutifs qui les ont engendrés • Entre autres aspects: • Base de données HOGENOM • Calculs de similarité de séquences • Clustering • Programme PHYLDOG : • Calcul simultané de l’arbre phylogénetique du vivant et des arbres phylogenétique de chaque gène

  17. HOGENOMBase de données de familles de gènes homologues pour tous les génomes • On recherche les familles de gènes homologues chez tous les organismes vivants • Pour chaque famille on calcule un arbre phylogénétique: un « arbre de gène »

  18. HOGENOMBase de données de familles de gènes homologues pour tous les génomes génomes (tout l’ADN)  gènes (ADN codant) protéines (traduction du gène) protéines clustering phylogénie génomes etc.

  19. HOGENOMBase de données de familles de gènes homologues pour tous les génomes • Environ 1 500 génomes (dont 140 eukaryotes : mamiferes, oiseaux, plantes etc.) • Soit 160 milliards de lettres au total • Environ 7 millions de gènes codants soit 3 milliards de lettres • Résultat: ces 7 milions de gènes sont classés en 300 000 familles

  20. HOGENOMBase de données de familles de gènes homologues pour tous les génomes Construction des familles de gènes homologues génomes

  21. HOGENOMBase de données de familles de gènes homologues pour tous les génomes Construction des familles de gènes homologues génomes protéines

  22. HOGENOMBase de données de familles de gènes homologues pour tous les génomes Construction des familles de gènes homologues génomes protéines

  23. HOGENOMBase de données de familles de gènes homologues pour tous les génomes Construction des familles de gènes homologues génomes protéines

  24. HOGENOMBase de données de familles de gènes homologues pour tous les génomes Construction des familles de gènes homologues génomes protéines Recherche de similarités locales entre les séquences (« BLAST »)

  25. HOGENOMBase de données de familles de gènes homologues pour tous les génomes Construction des familles de gènes homologues génomes protéines Clustering transitif avec condition (« SILIX») Recherche de similarités locales entre les séquences (« BLAST »)

  26. HOGENOMBase de données de familles de gènes homologues pour tous les génomes Construction des familles de gènes homologues génomes protéines A B A C A D Clustering transitif avec condition (« SILIX») Recherche de similarités locales entre les séquences (« BLAST »)

  27. HOGENOMBase de données de familles de gènes homologues pour tous les génomes Construction des familles de gènes homologues génomes protéines A B A B C A D C Famille A D Clustering transitif avec condition (« SILIX») Recherche de similarités locales entre les séquences (« BLAST »)

  28. HOGENOMBase de données de familles de gènes homologues pour tous les génomes Marche à suivre génomes

  29. HOGENOMBase de données de familles de gènes homologues pour tous les génomes Marche à suivre clustering phylogénie génomes protéines etc.

  30. Calcul distribuéParallélisationpar les données texte banque BLAST Plusieurs millions de séquences « requêtes » 1 fichier Plusieurs millions de séquences « cibles » Plusieurs milliards de zones similaires entre les séquences

  31. Calcul distribuéParallélisationpar les données texte banque BLAST Plusieurs millions de séquences « requêtes » 1 fichier Plusieurs millions de séquences « cibles » Plusieurs milliards de zones similaires entre les séquences texte banque BLAST Quelques dizaines séquences « requêtes » Centaines de milliers de fichiers

  32. Calcul distribuéParallélisationpar les données • Chaque calcul est indépendant • On peut donc utiliser indifféremment et indépendamment • un cluster de machines • une grille de calcul • le calcul dans le nuage • une combinaison des précédents

  33. Calculs BLAST incrémentiel sur toutes les séquences connues • A chaque nouvelle version de la base, on classe les séquences comme « ancienne » ou « nouvelle » • On calcule la similiarité: • des nouvelles séquences entre-elles ( BLAST new x new) • des nouvelles séquences avec les anciennes ( BLAST new x old) • Finalement on ajoute BLAST new x new et BLAST new x old aux similarités de la release précédente (i. e. BLAST old x old)

  34. Calculs BLAST incrémentiel sur toutes les séquences connues

  35. HOGENOMBase de données de familles de gènes homologues pour tous les génomes • Comparaison de tous les gènes entre eux pour déterminer leur similarité • Utilisation d’un logiciel (« BLAST ») qui recherche des zones de similarités locales entre les séquences ( approche heuristique)

  36. HOGENOMBase de données de familles de gènes homologues pour tous les génomes • Exemple: un arbre phylogénetique de gène de HOGENOM Eukaryotes

  37. Calculs effectués 1ère Release (2009-2010) env.8 000 000 séquences BLAST 8,000,000 x 8,000,000 séquences [grille TIDRA] 2ème Release(2011)env. 13 000 000 séquences BLAST 5,000,000 nouvelles x 5,000,000 nouvelles [cluster] BLAST 5,000,000 nouvelles x 8,000,000 anciennes [grilles TIDRA/GRISBI] 3ème Release (2013) env. 19 000 000 séquences BLAST 6,000,000 nouvelles x 6,000,000 nouvelles [cluster] BLAST 6,000,000 nouvelles x 13,000,000 anciennes [cluster]

  38. Technologie grille et services associéssur TIDRA (Grille Rhône-Alpes) • 7000 cœurs (cpu) • 300 To de stockage • 5 Sites • LAPP (Annecy) • LPSC (Grenoble) • IPNL (Lyon) • IBCP (Lyon) • CC-IN2P3 ( Lyon)

  39. Technologie grille et services associésTIDRA RAGRID (Grille Rhône-Alpes) • Middleware : • Job management : gLite, LRMS • Stockage : iRODS, SRM • Utilisateur : JSAGA implementation SAGA vo.rhone-alpes.idgrilles.fr

  40. Mise en place sur TIDRA 1ère release (2009-2010) 1ère mouture de BGENR : séquences Uniprot (9 millions) 8 millions de séquences non redondantes à comparer. Historique : Mise en place de l’outil avec 3 membres du CC - Y.Cardenas, P. Calvat, J.Y. Nief 1er contact avec la grille Novembre 2008 Premiers tests de charge et développements blast  intensifs   Février 2009  Arrivée de iRODS Gros soulagement!!! Juin 2009 Début de la production + développement Juillet 2009 Fin de la production Janvier 2010

  41. Contraintes dues à la mémoire Mémoire minimum des machines : 2 Go La solidité d'une chaîne dépend du maillon le plus faible : on veut éviter un dépassement de mémoire sur les machines les moins puissantes • taille maximum de la banque BLAST : 2 x 106 séquences • 8 x 106 = 4 banques de 2 x 106 séquences à traiter itérativement * • nombre maximum de séquences à traiter avec une banque 2 x 106 : 30 La “tâche unitaire” compatible avec une mémoire de 2 Go est donc : 4 x BLAST de 30 séquences vs 2 x 106séquences *La taille théorique de la banque BLAST est fixée (option -z)

  42. Optimisation du temps passé en calcul Le calcul d’1 tâche unitaire est très court : env. 15 minutes Bien inférieur au temps disponible dans un job : variable selon les machines quelques heures - quelques jours Chaque job doit exécuter le plus grand nombre possible de tâches unitaires

  43. Résumé • Données ( format FASTA) • 1ère mouture de BGENR : séquences Uniprot (9 millions) : 8 millions non redondantes. • Banque BLAST • 8 millions de séquences • Divisée en 4 bases de 2 millions de séquences pour éviter de dépasser la mémoire maximum disponible sur les machines • Séquences à blaster • 8 millions de séquences, soit: • 250, 000 fichiers de 30 séquences au format FASTA 30 séquences : nombre maximum de séquences pour éviter un dépassement de mémoire sur les machines les moins puissantes • Chaque job doit exécuter le plus grand nombre possible de tâches quelque soit son temps de calcul maximum

  44. Stratégie adoptéePlusieurs tâches par job • 1 - Liste de tâches à effectuer (250,000 fichiers de 30 séquences) • 2 - Chaque job N tente de traiter les 100 tâches à partir de la tâche numéro N x 100 • 3 - Une fois tous les jobs terminés, génération d’une nouvelle liste de tâches à traiter • 4 - Retour au point 1 On a choisi un “pas” de 100 fichiers par job : c’est au dessus du nombre de tâches qu’il est possible de traiter avec les durées les plus longues. Mais on peut l’adapter à la production : vers la fin, on prend un “pas” plus court On utilise des jobs paramètriques, le paramètre est N

  45. Stratégie deuxième production première production 1 1 1 1 100 100 100 100 200 200 200 200 300 300 300 300 400 400 400 400

  46. Paramètres à ajuster: exemple BGENR1 : 8 x 106 séquences • 1 - Nombre de banques BLAST 4 • 2 - Nombre de séquences par fichiers 30 • 3 - Nombre max de fichiers par job100 • 4 - Nombre de jobs par job paramétrique 40 • 5 - Délai entre la soumission des jobs paramétriques 20 mn

  47. Lancement des jobs script jdl Launcher : source launcher 1 1000 40 20 generic_par_irods_lst_new.jdl premier job dernier job nombre de jobs par job paramétrique délai de soumission entre les jobs • Le launcher propose une liste de noeuds. Les jobs paramétriques seront répartis sur les noeuds choisis. Ici on a lancé 1000 jobs (de 1 à 1000) par paquets de 40 : 25 jobs paramétriques, temps total soumission = 8h

  48. Monitoring • Un job de monitoring est lancé qui envoie régulièrement des mails décrivant l’avancement des tâches

  49. Résultats Rappel : 250,000 fichiers à traiter  250,000 fichiers résultats • 2,000,000,000 hits blast • concaténation en 200 fichiers de 5 Go (1 To) • moyenne de 50 fichiers par job • environ 5000 jobs (plusieurs séries) • moyenne : 125 jobs x 40 paramétriques x 50 fichiers = 250 000 • moyenne : jobs de 15 heures • Calcul en 1 semaine au lieu de 8 ans

  50. Description du JDLN est le paramètre du job paramétrique • Déroulement d’un job numéro N : • récupération de différents outils via lcg-cp : • outils iRODS • outils pour l’estimation du temps de calcul • outils pour la gestion des proxies • Renouvellement du proxy • Lancement de l’application : • Copie des programmes BLAST en local via iRODS • Copie des banques BLAST en local via iRODS • Copie de la liste de fichiers à traiter • Copie des 100 fichiers à traiter : fichiers numéros (N -1)x 100 +1 à N x 100 • Boucle: pour i variant de (N -1)x 100 +1 à N x 100 • traite le fichier i, copie le résultat via iRODS • tant que 95% du temps maximum n’est pas atteint, passe au fichier suivant • Post-traitement: envoi de mail, copie des logs via iRODS

More Related