760 likes | 883 Views
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)
E N D
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) • 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)
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
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
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
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)
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
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
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
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
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
La phylogénie • Phylogénie des êtres vivants
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
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
La phylogénomique • Calcul de la phylogénie des especes en se basant sur l’ensemble de leur génome
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
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 »
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.
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
HOGENOMBase de données de familles de gènes homologues pour tous les génomes Construction des familles de gènes homologues génomes
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
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
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
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 »)
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 »)
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 »)
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 »)
HOGENOMBase de données de familles de gènes homologues pour tous les génomes Marche à suivre génomes
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.
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
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
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
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)
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)
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
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]
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)
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
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
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)
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
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
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
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
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
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
Monitoring • Un job de monitoring est lancé qui envoie régulièrement des mails décrivant l’avancement des tâches
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
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