PLAN * Prédiction de la structure secondaire d!ARN * * * Algorithme de Nussinov Minimisation de l!énergie libre Considération des pseudo-noeuds * Identification de structures secondaires * Grammaires hors-contextes IFT6291-BIN6000, H2006, Sylvie Hamel ARN-repliement 1 Structure secondaire: 1) Pairage permis: Watson-Crick et Wobble 2) Chaque base ne peut appartenir qu!à une seule paire de bases 3) Pas de “sharp turns”: au moins 3 bases par boucles 4) Pas de pseudo-noeuds: IFT6291-BIN6000, H2006, Sylvie Hamel ARN-repliement 2 Algorithme de Nussinov (1978) Premier algorithme de programmation dynamique pour calculer le repliement d!un séquence d!ARN qui maximise le nombre de paires de bases créées Idée: il y a 4 façons pour calculer la meilleure structure du nucléotide i au nucléotide j à partir de la meilleure sous-structure d!une séquence plus courte: © notes de cours d!Alessandra Carbone 1. i et j forme une paire de base qu!on ajoute à la meilleure sous-structure pour la séquence de i+1 à j-1 2. i est non apparié et on l!ajoute à la meilleure sous-structure pour la séquence de i+1 à j 3. j est non apparié et on l!ajoute à la meilleure sous-structure pour la séquence de i à j-1 4. combiner deux sous-structures optimales, l!une pour la séquence de i à k et l!autre pour la séquence de k+1 à j IFT6291-BIN6000, H2006, Sylvie Hamel 3 ARN-repliement Algorithme de Nussinov (suite) Étant donné une séquence d!ARN, S = s1s2 . . . sn , on pose δ(i, j) = 1 si si et s j sont appariés et δ(i, j) = 0 , sinon L!algorithme calcule récursivement des scores γ(i, j) qui représente le nombre maximal de paires de bases qui peuvent être formées pour la sous-séquence xi . . . x j On va donc remplir une table de programmation dynamique n X n avec les équations de récurrences suivantes: j Cas de base: γ(i, i) = 0 , pour i de 1à n γ(i, i − 1) = 0 , pour i de 2à n IFT6291-BIN6000, H2006, Sylvie Hamel i G G G A A A U C C G 0 G 0 0 G 0 0 A 0 0 A 0 0 A 0 0 U 0 0 C 0 0 C 0 0 ARN-repliement 4 Algorithme de Nussinov (suite) On va maintenant remplir la table diagonale par diagonale en se servant des relations de récurrences suivantes: γ(i + 1, j) γ(i, j − 1) γ(i, j) = max γ(i + 1, j − 1) + δ(i, j) max1<k< j [γ(i, k) + γ(k + 1, j)] j i G G G A G 0 0 0 0 G 0 0 0 0 G 0 0 0 A 0 0 A 0 A U C C IFT6291-BIN6000, H2006, Sylvie Hamel A 0 0 0 0 0 0 A 0 0 0 0 0 0 0 U 1 1 1 1 1 1 0 0 C 2 2 2 1 1 1 0 0 0 C 3 3 2 1 1 1 0 0 0 A A A-U G-C G-C G 5 ARN-repliement Algorithme de “back-tracking” Initialisation: Insérer (1,n) dans une pile (“push((1,n))”) j i IFT6291-BIN6000, H2006, Sylvie Hamel G G G A G 0 0 0 0 G 0 0 0 0 G 0 0 0 A 0 0 A 0 A U C C ARN-repliement A 0 0 0 0 0 0 A 0 0 0 0 0 0 0 U 1 1 1 1 1 1 0 0 C 2 2 2 1 1 1 0 0 0 C 3 3 2 1 1 1 0 0 0 A A A-U G-C G-C G 6 Considération thermodynamique: Soit S une structure secondaire d!ARN et s1, s2, ... sk, l!ensemble de ces paires de bases empilées et de ces boucles alors: Hypothèse thermodynamique de Tinoco-Uhlenbeck: E(S) = e(s1) + e(s2) + ... + e(sk) e(si) est estimée expérimentalement IFT6291-BIN6000, H2006, Sylvie Hamel ARN-repliement 7 Caractéristiques générales de l!énergie libre: e(s) est négatif si et seulement si s est une paire d!appariements (stacked pairs): ce sont les seules cycles qui contribuent à la stabilité de la molécule. Un appariement (G-C) est + stable qu!un appariement (A-U) Les zones externes non appariées ne font partie d!aucun cycle -> score nul Si E(S) > 0, S ne peut être stable Si s est une boucle interne de la forme i | j G U (i+2) | (j-2) alors e(s) = 0 i.e (G U) ne déstabilise pas la structure IFT6291-BIN6000, H2006, Sylvie Hamel ARN-repliement 8 Algorithme de Zuker (1981-1989) Une différence important avec l!algorithme de Nussinov est que l!énergie d!une paire de bases est calculée en fonction de la paire de bases précédente (stacking) Cette modification est plus appropriée mais elle complique de beaucoup l!algorithme de programmation dynamique IFT6291-BIN6000, H2006, Sylvie Hamel ARN-repliement 9 Algorithme de Zuker (suite) © notes de cours de Nadia El-Mabrouk IFT6291-BIN6000, H2006, Sylvie Hamel ARN-repliement 10 Algorithme de Zuker (suite) © notes de cours de Nadia El-Mabrouk IFT6291-BIN6000, H2006, Sylvie Hamel ARN-repliement 11 Identification de structures secondaires Entrée: Une caractérisation de la structure secondaire d!une famille d!ARN But: Identifier tous ces ARN dans un génome Une façon de faire: Exprimer notre caractérisarion à l!aide d!une grammaire hors-contexte IFT6291-BIN6000, H2006, Sylvie Hamel ARN-identification 12 Petit cours sur les grammaires hors-contexte Language: Ensemble de mots sur un alphabet donné L = {aibi | i ≥ 0} Exemple: Les ensembles suivants sont des langages sur l!alphabet {a,b} L = 0/ L = {a} ensembles finis L = {a, b, ab, ba, aa, bb} L = {ai | i ≥ 0} L = {bi | i ≥ 0} L = {aibi | i ≥ 0} L = {abia | i ≥ 0} IFT6291-BIN6000, H2006, Sylvie Hamel ensembles infinis ARN-identification 13 Petit cours sur les grammaires hors-contexte (suite) Pour reconnaître les mots d!un langage donné (et seulement ces mots), on peut construire une grammaire hors-contexte: Définition: Une grammaire hors-contexte est un 4-tuple (V, ", R,S) où V: Un ensemble fini d!éléments appelés variables ": Un ensemble fini, disjoint de V, d!éléments appelés terminaux (l!alphabet du langage) R: Un ensemble fini de règles S: Une variable de l!ensemble V dite de départ IFT6291-BIN6000, H2006, Sylvie Hamel ARN-identification 14 Petit cours sur les grammaires hors-contexte (suite) Exemple: Soit le langage L suivant sur l!alphabet {a,b}: L = {aibi | i ≥ 0} Grammaire qui reconnaît les mots de ce langages: V={S}: "={a,b}: R={S aSb, S ! }: (! est le “mot vide”) Les mots faisant partis de la grammaire peuvent tous être dérivés des règles de celle-ci en partant de S et en choississant des règles jusqu!à ce qu!il ne reste que des symboles terminaux. Exemple: S aSb aaSbb aaaSbbb aaa ! bbb = aaabbb IFT6291-BIN6000, H2006, Sylvie Hamel ARN-identification 15 Petit cours sur les grammaires hors-contexte (suite) Exemple: Soit le langage L l!ensemble de tous les palindromes sur l!alphabet {a,b}: Grammaire qui reconnaît les mots de ce langages: V={S}: "={a,b}: R={ S S S S S ! a b aSa bSb } Comment savoir si un mot donné appartient à notre grammaire? On construit un automate à piles -> tableau IFT6291-BIN6000, H2006, Sylvie Hamel ARN-identification 16 Une grammaire pour les structures secondaires d!ARN: IFT6291-BIN6000, H2006, Sylvie Hamel ARN-identification 17