PLAN Structure secondaire:

publicité
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
Téléchargement