RAGA:RNA Sequence alignment by genetic algorithm Cédric Notredame, Emmet A. O’Brien and Desmond G. Higgins Nucleic Acids Research, 1997, Vol. 25 No 22. 1 Plan de la présentation • • • • Description du problème Fonction objectif Algorithme génétique Résultats 2 Description du problème • On veut aligner deux séquences homologues • On connaît la structure secondaire du Master • On assume que la structure secondaire du Slave est la même que celle du Master (une fois alignées) Master: A C G C G U ... Slave: A A C G A G ... Master: A -- C G C -- G U ... Slave: A A C G -- A G -- ... 3 Description (suite) • Solution: optimisation d’une fonction objectif prenant en compte l’alignement et la structure secondaire • Utilisation d’un algorithme génétique 4 Fonction objectif • Corpet et Michot, 1994 • Contient trois composantes: Pr: Score fonction de l’alignement Se: Score fonction de la structure secondaire Gap: Pénalité des gaps • FO = Pr + (K * Se) - Gap 5 Fonction objectif (suite) Master: A C G -- C G ... Pr Slave: A A G A -- U ... Se • Pr(B1,B2) = 1 si B1 == B2, 0 si B1 != B2 • Se(B1,B2) = 2 pour paire GC, 1 pour UA et UG 6 Fonction objectif (suite) • Gap: – GOS : pénalité ouverture gap deux paires empilées – GO : pénalité ouverture gap dans région non structurée – GEP : pénalité longueur du gap • GAP = (a * GOS) + (b * GO) + (c * GEP) 7 Optimisation fonction objectif • Par programmation dynamique : – Temps dans O(n5) – Espace dans O(n4) – Optimal : On trouve l’alignement maximisant FO • GA (genetic algorithm) : – Va plus vite – Permet traitement pseudo-noeuds 8 Algorithme Génétique • Individus: Les alignements • Population: Ensemble d’individus • On part d’une génération initiale G0 • La génération Gi+1 est obtenue de Gi par ‘sélection naturelle’ • Seuls les individus les plus forts sont gardés et peuvent se reproduire 9 Algorithme Génétique (suite) • Initialisation: Choix population initiale – Si aléatoire, converge très lentement – Si trop précis, converge vite, mais vers optimum local • Tradeoff : Prendre bonnes solutions et ajouter du bruit 10 Algorithme Génétique (suite) • Opérateurs : 2 types – Mutation : l’enfant est obtenu d’un seul parent – Croisement : l’enfant est obtenu de deux parents • Choix des parents : aléatoire mais d’autant plus probable que le parent est ‘fort’ 11 Algorithme Génétique (suite) • Opérateur de croisement : croisement uniforme – Les parties identiques des alignements des deux parents sont conservées – Pour les parties qui diffèrent, on choisit celles d’un des deux parents, aléatoirement ou de façon déterministe Parent1 S1 S2a S3 Enfant Parent2 S1 S2b S1 S2? S3 S3 12 Algorithme Génétique (suite) • Mutation1 : Gap Shifting – Choisit un gap, et le shift dans une direction tant que ca améliore la OF Parent -- Enfant -- 13 Algorithme Génétique (suite) • Mutation2 : Gap Insertion – Choix d’une sous région de l’alignement – Ajout d’un certain nombre de gaps, optimisant cette sous région – Réinsertion de la sous région Parent Enfant -- -- 14 Algorithme Génétique (suite) • PRAGA : RAGA Parallèle • Island parallelization : – On a N populations, sur N piles – À toutes les 5 générations, les populations se rendent visite 15 Résultats • Test Case – 9 paires Master/Slave dont l’alignement et la structure secondaire du Master sont connues – longueur : de 1000 a 2000 bases • Comparaison – – – – Référence DP simple RNAlign PRAGA 16 Résultats (suite) • Métriques : – m1 : pourcentage des colonnes alignées dans Ref qui sont aussi dans Test – m2 = offset – m3 = pourcentage paires (stems) • RNAlign incapable de faire la job : séquences trop longues • PRAGA beaucoup mieux que DP simple (voir table page suivante) 17 Résultats (suite) Master 1 Homo sapiens 2 Homo sapiens 3 Homo sapiens mitochondrion 4 Homo sapiens mitochondrion 5 Homo sapiens mitochondrion 6 Homo sapiens mitochondrion 7 Homo sapiens mitochondrion 8 Homo sapiens mitochondrion 9 Homo sapiens mitochondrion Slave Dist Pairs Len K m1 m2 DP PRAGA DP PRAGA m3 DP PRAGA Oxytrichia nova Giarda ardeae Latimeria chalumnae mitochondrion Xenopus laevis mitochondrion Drosophila virilis mitochondrion Apis mellifera mitochondrion Penicillium chrysogenum mitochondrion Chlamydomonas reinhardtii mitochondrion Saccharomyces cerevisiae mitochondrion 0.41 0.57 0.31 82.5 82.1 81.2 1914 1895 998 1.00 3.00 1.00 83.9 72.2 85.9 86.6 76.1 92.5 0.15 0.53 0.64 0.06 0.45 0.10 85.3 65.2 82.6 94.7 81.3 96.1 0.43 84.9 985 1.00 83.9 92.5 0.41 0.20 77.4 96.7 0.76 82.6 973 3.00 66.8 76.6 2.08 1.59 48.6 68.5 1.23 72.1 977 4.00 45.2 56.0 3.83 2.91 24.1 55.1 1.26 81.3 1478 4.00 37.7 63.8 4.96 3.21 15.7 77.0 1.30 66.6 1271 4.00 34.1 53.2 13.4 8.26 8.90 50.0 1.33 80.3 1699 6.00 31.6 60.2 14.7 3.70 21.6 70.0 18