![Page 1: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/1.jpg)
Combinatoire et algorithmique de l’ARN - Partie 2Programmation dynamique
Alain Denise Yann Ponty
CNRS/LIX, Ecole Polytechnique
AMIB, Inria Saclay
PIMS VancouverSimon Fraser University
Canada
http://tinyurl.com/EPIT14-Ponty http://goo.gl/Nic9kJ
http://www.lix.polytechnique.fr/~ponty/enseignement/2014-05-EPIT-RNA-Part2-Ponty.pdf
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 2: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/2.jpg)
Resume
1 Rappels de programmation dynamique
2 Repliement par minimisation d’energieApparte thermodynamiqueModele de NussinovModele de TurnerMFold/Unafold
3 Ensemble de BoltzmannDefinitionCalcul de la fonction de partitionEchantillonnage statistique
4 Programmation dynamique : Methodes generiques
5 Algorithmique ensembliste avanceeDistribution exacteCalcul des moments
6 ConclusionAnalyse syntaxique
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 3: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/3.jpg)
Avant propos . . .
. . . ou comment gagner 1 million$ (+garder votre job) en rendant la monnaie ! !
Probleme : Vous disposez de pieces de 1, 20 et 50 centimes.Comment rendre N sans surcharger inutilement les poches du client ?
Strategie 1 : Commencer par les grosses pieces puis completer.
21 = ? ?
+
55
=
+ + + + +
60
=
+ + + + + + + + + + ??
=
+ + !
Probleme non-resoluble ( ? !) en temps polynomial pour un jeux de piecesarbitraire (≈ Pb. sac a dos NP-complet)
(Algo. polynomial⇒ P=NP⇒1M$)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 4: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/4.jpg)
Avant propos . . .
. . . ou comment gagner 1 million$ (+garder votre job) en rendant la monnaie ! !
Probleme : Vous disposez de pieces de 1, 20 et 50 centimes.Comment rendre N sans surcharger inutilement les poches du client ?
Strategie 1 : Commencer par les grosses pieces puis completer.
21 = +
55 = ? ?
+ + + + +
60
=
+ + + + + + + + + + ??
=
+ + !
Probleme non-resoluble ( ? !) en temps polynomial pour un jeux de piecesarbitraire (≈ Pb. sac a dos NP-complet)
(Algo. polynomial⇒ P=NP⇒1M$)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 5: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/5.jpg)
Avant propos . . .
. . . ou comment gagner 1 million$ (+garder votre job) en rendant la monnaie ! !
Probleme : Vous disposez de pieces de 1, 20 et 50 centimes.Comment rendre N sans surcharger inutilement les poches du client ?
Strategie 1 : Commencer par les grosses pieces puis completer.
21 = +
55 = + + + + +
60 = ? ?
+ + + + + + + + + + ??
=
+ + !
Probleme non-resoluble ( ? !) en temps polynomial pour un jeux de piecesarbitraire (≈ Pb. sac a dos NP-complet)
(Algo. polynomial⇒ P=NP⇒1M$)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 6: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/6.jpg)
Avant propos . . .
. . . ou comment gagner 1 million$ (+garder votre job) en rendant la monnaie ! !
Probleme : Vous disposez de pieces de 1, 20 et 50 centimes.Comment rendre N sans surcharger inutilement les poches du client ?
Strategie 1 : Commencer par les grosses pieces puis completer.
21 = +
55 = + + + + +
60 = + + + + + + + + + + ??
=
+ + !
Probleme non-resoluble ( ? !) en temps polynomial pour un jeux de piecesarbitraire (≈ Pb. sac a dos NP-complet)
(Algo. polynomial⇒ P=NP⇒1M$)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 7: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/7.jpg)
Avant propos . . .
. . . ou comment gagner 1 million$ (+garder votre job) en rendant la monnaie ! !
Probleme : Vous disposez de pieces de 1, 20 et 50 centimes.Comment rendre N sans surcharger inutilement les poches du client ?
Strategie 1 : Commencer par les grosses pieces puis completer.
21 = +
55 = + + + + +
60 = + + + + + + + + + + ??
= + + !
Probleme non-resoluble ( ? !) en temps polynomial pour un jeux de piecesarbitraire (≈ Pb. sac a dos NP-complet)
(Algo. polynomial⇒ P=NP⇒1M$)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 8: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/8.jpg)
Strategie 2 : Recurrence sur nombre min. #MinPieces de pieces rendues :
#MinPieces(N) = Min
∅ → 0
→ 1 + #MinPieces(N − 1) [Si N ≥ 1]
→ 1 + #MinPieces(N − 20) [Si N ≥ 20]
→ 1 + #MinPieces(N − 50) [Si N ≥ 50]
Parcours exhaustif (redondant) de l’arbre des possibles → Θ(#PiecesN)
Programmation dynamique
Pour tout N ′ ∈ 0, 1, 2→ N,I Calculer #MinPieces(N ′) → O(1)
I Memoriser le resultat
Reconstruire les pieces rendues en retracant les termes contribuant au Min.⇒ Algorithme en Θ(N ×#MinPieces) a
a. Remarque : Algorithme correct pour tout jeux de pieces, mais on n’a pas gagne le million (;P=NP), car N est potentiellement exponentiel sur son codage. La complexite de cet algorithme estdonc exponentielle.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 9: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/9.jpg)
Programmation dynamique
R. Bellman C. E. Wilson
Programmation dynamique = Technique algorithmique de resolution desproblemes d’optimisation.
Principe : Partant d’une equation liant le score optimal d’un (sous-)problemea celui de certains de ses sous-problemes,
I Calculer efficacement le score optimal du probleme initialI Reconstruire la (ou les) solution(s) associee(s) au score optimal
Technique robuste face a des alterations locales de la fonction objectif⇒ Omnipresente en bioinformatique : Alignement, repliement. . .
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 10: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/10.jpg)
Challenge
Trouver l’equation de programmation dynamique
Proprietes requises
/souhaitables
d’une equation de prog. dyn. =
1 Correction du score optimal herite des sous-problemes
2 Completude dans le parcours de l’espace des solutions
3 Non-ambiguite de la decomposition
Remarques : 2 peut etre viole, par ex. pour elaguer des sous-optimaux.2 + 3 ⇒ Bijection : espace de recherche⇔ executions de la recurrence
Approche combinatoire peut aider :
I Grammaire/specification Recurrences de comptage⇒ Completude et non-ambiguite
I +Correction⇒ Equation de programmation dynamique
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 11: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/11.jpg)
Challenge
Trouver l’equation de programmation dynamique
Proprietes requises /souhaitables d’une equation de prog. dyn. =
1 Correction du score optimal herite des sous-problemes
2 Completude dans le parcours de l’espace des solutions
3 Non-ambiguite de la decomposition
Remarques : 2 peut etre viole, par ex. pour elaguer des sous-optimaux.2 + 3 ⇒ Bijection : espace de recherche⇔ executions de la recurrence
Approche combinatoire peut aider :
I Grammaire/specification Recurrences de comptage⇒ Completude et non-ambiguite
I +Correction⇒ Equation de programmation dynamique
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 12: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/12.jpg)
Challenge
Trouver l’equation de programmation dynamique
Proprietes requises /souhaitables d’une equation de prog. dyn. =
1 Correction du score optimal herite des sous-problemes
2 Completude dans le parcours de l’espace des solutions
3 Non-ambiguite de la decomposition
Remarques : 2 peut etre viole, par ex. pour elaguer des sous-optimaux.2 + 3 ⇒ Bijection : espace de recherche⇔ executions de la recurrence
Approche combinatoire peut aider :
I Grammaire/specification Recurrences de comptage⇒ Completude et non-ambiguite
I +Correction⇒ Equation de programmation dynamique
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 13: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/13.jpg)
Alignement local de sequence (Algorithme Smith/Waterman)
Probleme : Trouver l’alignement local
a = ((i1, j1), (i2, j2), · · · , (ik , jk )) , ix < ix+1 et jx < jx+1,
de deux sequences s et t qui maximise la similarite
W (a) =∑(i,j)∈a
msi ,tj +∑
r∈[1,k−1]
(ir+1 − ir − 1) · pi + (jr+1 − jr − 1) · pd
Recurrence pour l’alignement optimal W ?i,j des prefixes [1, i] et [1, j] :
W ?i,0 = 0
W ?0,j = 0
W ?i,j = max
W ?
i−1,j−1 + msi ,tjW ?
i−1,j + pi
W ?i,j−1 + pd
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
Exercices :I Quelle complexite pour deux sequences de taille N et M ?I Ce schema est-il complet ? non-ambigu ? Comment le corriger ?
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 14: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/14.jpg)
Solutions
Complexite du calcul depend de :I Taille de l’espace des sous-problemesI Nombres de sous-problemes consideres (#Termes decomposition)
i : 1→ N + 1 ⇒ Θ(N)j : 1→ M + 1 ⇒ Θ(M)Trois operations en O(1) par sous-calcul⇒ Θ(M · N) temps/memoire
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
Ce schema de programmation dynamique est ambigu, car on obtientl’alignement vide sur
(M+NN
)executions differentes :
A A A - - -- - - B B B
⇔ - - - A A AB B B - - -
⇔ - A - A - AB - B - B -
⇔ · · ·
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 15: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/15.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0
G 0
C 0
A 0
C 0
A 0
C 0
A 0
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 16: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/16.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2
G 0
C 0
A 0
C 0
A 0
C 0
A 0
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 17: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/17.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1
G 0
C 0
A 0
C 0
A 0
C 0
A 0
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 18: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/18.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1 2
G 0
C 0
A 0
C 0
A 0
C 0
A 0
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 19: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/19.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1 2 1
G 0
C 0
A 0
C 0
A 0
C 0
A 0
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 20: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/20.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1 2 1 2 1 0 2
G 0
C 0
A 0
C 0
A 0
C 0
A 0
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 21: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/21.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1 2 1 2 1 0 2
G 0 1 1 1 1 1 1 0 1
C 0
A 0
C 0
A 0
C 0
A 0
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 22: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/22.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1 2 1 2 1 0 2
G 0 1 1 1 1 1 1 0 1
C 0 0 3 2 3 2 3 2 1
A 0
C 0
A 0
C 0
A 0
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 23: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/23.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1 2 1 2 1 0 2
G 0 1 1 1 1 1 1 0 1
C 0 0 3 2 3 2 3 2 1
A 0 2 2 5 4 5 4 3 4
C 0
A 0
C 0
A 0
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 24: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/24.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1 2 1 2 1 0 2
G 0 1 1 1 1 1 1 0 1
C 0 0 3 2 3 2 3 2 1
A 0 2 2 5 4 5 4 3 4
C 0 1 4 4 7 6 7 6 5
A 0 2 3 6 6 9 8 7 8
C 0 1 4 5 8 8 11 10 9
A 0 2 3 6 7 10 10 10 12
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 25: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/25.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1 2 1 2 1 0 2
G 0 1 1 1 1 1 1 0 1
C 0 0 3 2 3 2 3 2 1
A 0 2 2 5 4 5 4 3 4
C 0 1 4 4 7 6 7 6 5
A 0 2 3 6 6 9 8 7 8
C 0 1 4 5 8 8 11 10 9
A 0 2 3 6 7 10 10 10 12
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 26: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/26.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1 2 1 2 1 0 2
G 0 1 1 1 1 1 1 0 1
C 0 0 3 2 3 2 3 2 1
A 0 2 2 5 4 5 4 3 4
C 0 1 4 4 7 6 7 6 5
A 0 2 3 6 6 9 8 7 8
C 0 1 4 5 8 8 11 10 9
A 0 2 3 6 7 10 10 10 12
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 27: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/27.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1 2 1 2 1 0 2
G 0 1 1 1 1 1 1 0 1
C 0 0 3 2 3 2 3 2 1
A 0 2 2 5 4 5 4 3 4
C 0 1 4 4 7 6 7 6 5
A 0 2 3 6 6 9 8 7 8
C 0 1 4 5 8 8 11 10 9
A 0 2 3 6 7 10 10 10 12
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
AA
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 28: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/28.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1 2 1 2 1 0 2
G 0 1 1 1 1 1 1 0 1
C 0 0 3 2 3 2 3 2 1
A 0 2 2 5 4 5 4 3 4
C 0 1 4 4 7 6 7 6 5
A 0 2 3 6 6 9 8 7 8
C 0 1 4 5 8 8 11 10 9
A 0 2 3 6 7 10 10 10 12
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
- AT A
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 29: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/29.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1 2 1 2 1 0 2
G 0 1 1 1 1 1 1 0 1
C 0 0 3 2 3 2 3 2 1
A 0 2 2 5 4 5 4 3 4
C 0 1 4 4 7 6 7 6 5
A 0 2 3 6 6 9 8 7 8
C 0 1 4 5 8 8 11 10 9
A 0 2 3 6 7 10 10 10 12
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
C - AC T A
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 30: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/30.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1 2 1 2 1 0 2
G 0 1 1 1 1 1 1 0 1
C 0 0 3 2 3 2 3 2 1
A 0 2 2 5 4 5 4 3 4
C 0 1 4 4 7 6 7 6 5
A 0 2 3 6 6 9 8 7 8
C 0 1 4 5 8 8 11 10 9
A 0 2 3 6 7 10 10 10 12
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
A C - AA C T A
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 31: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/31.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1 2 1 2 1 0 2
G 0 1 1 1 1 1 1 0 1
C 0 0 3 2 3 2 3 2 1
A 0 2 2 5 4 5 4 3 4
C 0 1 4 4 7 6 7 6 5
A 0 2 3 6 6 9 8 7 8
C 0 1 4 5 8 8 11 10 9
A 0 2 3 6 7 10 10 10 12
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
C A C - AC A C T A
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 32: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/32.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1 2 1 2 1 0 2
G 0 1 1 1 1 1 1 0 1
C 0 0 3 2 3 2 3 2 1
A 0 2 2 5 4 5 4 3 4
C 0 1 4 4 7 6 7 6 5
A 0 2 3 6 6 9 8 7 8
C 0 1 4 5 8 8 11 10 9
A 0 2 3 6 7 10 10 10 12
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
A C A C - AA C A C T A
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 33: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/33.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1 2 1 2 1 0 2
G 0 1 1 1 1 1 1 0 1
C 0 0 3 2 3 2 3 2 1
A 0 2 2 5 4 5 4 3 4
C 0 1 4 4 7 6 7 6 5
A 0 2 3 6 6 9 8 7 8
C 0 1 4 5 8 8 11 10 9
A 0 2 3 6 7 10 10 10 12
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
C A C A C - AC A C A C T A
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 34: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/34.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1 2 1 2 1 0 2
G 0 1 1 1 1 1 1 0 1
C 0 0 3 2 3 2 3 2 1
A 0 2 2 5 4 5 4 3 4
C 0 1 4 4 7 6 7 6 5
A 0 2 3 6 6 9 8 7 8
C 0 1 4 5 8 8 11 10 9
A 0 2 3 6 7 10 10 10 12
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
G C A C A C - A- C A C A C T A
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 35: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/35.jpg)
Exemple complet
Exemple : Alignement local de sequences AGCACACA et ACACACTACouts : Match mi,j = +2, Insertion/Deletion pi = pj = −1
A C A C A C T A
0 0 0 0 0 0 0 0 0
A 0 2 1 2 1 2 1 0 2
G 0 1 1 1 1 1 1 0 1
C 0 0 3 2 3 2 3 2 1
A 0 2 2 5 4 5 4 3 4
C 0 1 4 4 7 6 7 6 5
A 0 2 3 6 6 9 8 7 8
C 0 1 4 5 8 8 11 10 9
A 0 2 3 6 7 10 10 10 12
1 j
1 i
1 j
1 i
j -1
i -1
1 j
1 ii -1
1 j
1 i
j -1
Match/Mismatch
Insertion
Deletion
W ?(i , 0) = 0
W ?(0, j) = 0
W ?(i , j) = max
W ?(i − 1, j − 1) + msi ,tj
W ?(i − 1, j) + pi
W ?(i , j − 1) + pd
Meilleur alignement
A G C A C A C - AA - C A C A C T A
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 36: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/36.jpg)
Resume
1 Rappels de programmation dynamique
2 Repliement par minimisation d’energieApparte thermodynamiqueModele de NussinovModele de TurnerMFold/Unafold
3 Ensemble de BoltzmannDefinitionCalcul de la fonction de partitionEchantillonnage statistique
4 Programmation dynamique : Methodes generiques
5 Algorithmique ensembliste avanceeDistribution exacteCalcul des moments
6 ConclusionAnalyse syntaxique
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 37: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/37.jpg)
Retour a l’ARN
A l’echelle nanoscopique, la structure de l’ARN fluctue (chaıne de Markov).
T →∞
Convergence vers une distribution stationnaire de probabilite, l’equilibre deBoltzmann, ou la probabilite est exponentiellement faible sur l’energie libre.Corollaire : La conformation initiale est sans d’importance.
Problemes algorithmiques
Etant donne modeles pour l’ensemble des conformations et l’energie libre.
A. Determiner la structure la plus probable (ou stable) a l’equilibre
B. Determiner des proprietes moyennes de l’ensemble de Boltzmann
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 38: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/38.jpg)
Hors de l’equilibre
Transcription : ARN synthetise sans appariement (Sauf exception)
T = 0
Mais majorite des ARNm degrades avant 7h (Org. : Souris [SSN+09]).
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 39: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/39.jpg)
Hors de l’equilibre
Transcription : ARN synthetise sans appariement (Sauf exception)
T = 1h
Mais majorite des ARNm degrades avant 7h (Org. : Souris [SSN+09]).
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 40: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/40.jpg)
Hors de l’equilibre
Transcription : ARN synthetise sans appariement (Sauf exception)
T = 2h
Mais majorite des ARNm degrades avant 7h (Org. : Souris [SSN+09]).
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 41: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/41.jpg)
Hors de l’equilibre
Transcription : ARN synthetise sans appariement (Sauf exception)
T = 5h
Mais majorite des ARNm degrades avant 7h (Org. : Souris [SSN+09]).
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 42: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/42.jpg)
Hors de l’equilibre
Transcription : ARN synthetise sans appariement (Sauf exception)
T = 10h
Mais majorite des ARNm degrades avant 7h (Org. : Souris [SSN+09]).
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 43: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/43.jpg)
Hors de l’equilibre
Transcription : ARN synthetise sans appariement (Sauf exception)
T →∞
Mais majorite des ARNm degrades avant 7h (Org. : Souris [SSN+09]).
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 44: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/44.jpg)
Hors de l’equilibre
Transcription : ARN synthetise sans appariement (Sauf exception)
T = 10h
Mais majorite des ARNm degrades avant 7h (Org. : Souris [SSN+09]).
Problemes algorithmiques
A. Determiner struct. la plus probable (= Energie libre min.) a l’equilibre
B. Determiner des proprietes moyennes de l’ensemble de Boltzmann
C. Determiner la structure la plus probable a temps T .(c.f. H. Isambert par simulation, NP-complet en deterministe [MTSC11])
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 45: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/45.jpg)
Resume
1 Rappels de programmation dynamique
2 Repliement par minimisation d’energieApparte thermodynamiqueModele de NussinovModele de TurnerMFold/Unafold
3 Ensemble de BoltzmannDefinitionCalcul de la fonction de partitionEchantillonnage statistique
4 Programmation dynamique : Methodes generiques
5 Algorithmique ensembliste avanceeDistribution exacteCalcul des moments
6 ConclusionAnalyse syntaxique
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 46: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/46.jpg)
Repliement par minimisation d’energie
Probleme A : Determiner la structure d’energie minimale.
Repliement ab initio =Trouver structure d’un ARN ω uniquement a partir de sa sequence.
I Conformations : Ensemble Sω des structures secondaires compatiblesavec la structure primaire ω (contrainte d’appariements).
I Fonction d’energie Energie libre associant une valeur numerique Eω,S(KCal.mol−1) a tout couple sequence/conformation (ω,S).
I Structure native : Conformation fonctionnelle de la molecule.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 47: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/47.jpg)
Modele de Nussinov/Jacobson
Modele de Nussinov/Jacobson [NJ80]
Plus proche voisins simple :I Seuls les appariements contribuent a l’energieI Uniquement liaisons Watson/Crick (A/U,C/G) et Wobble (G/U)
⇒ Eω,S = −#Paires(S)
Minimisation de l’energie⇔ Maximisation du nombre de paires de bases.
Exemple :
UUUUCCCUAAAAGG
Variante : Ponderer les paires selon leur nombre de liaisons hydrogene∆G(G≡C) = -3 ∆G(A=U) = -2 ∆G(G−U) = -1
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 48: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/48.jpg)
Decomposition de Nussinov/Jacobson
i j=
i i+1 j+
i k j
≥ θ
Ni,t = 0, ∀t ∈ [i , i + θ]
Ni,j = min
Ni+1,j i non appariej
mink=i+θ+1
Ei,k + Ni+1,k−1 + Nk+1,j i apparie a k
ou Ei,k = Energie d’appariement des positions i et k (1/+∞ ou ∆G(si ≡ sk ))
ExerciceI Correction ?I Completude ?I Non-ambiguite ?
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 49: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/49.jpg)
Decomposition de Nussinov/Jacobson
i j=
i i+1 j+
i k j
≥ θ
Ni,t = 0, ∀t ∈ [i , i + θ]
Ni,j = min
Ni+1,j i non appariej
mink=i+θ+1
Ei,k + Ni+1,k−1 + Nk+1,j i apparie a k
ou Ei,k = Energie d’appariement des positions i et k (1/+∞ ou ∆G(si ≡ sk ))
ExerciceI Correction ?I Completude ?I Non-ambiguite ?
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 50: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/50.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
. . . . . . . . . . . . . . . . . .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 51: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/51.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
. . . . . . . . . . . . . . . . . .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 52: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/52.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
. . . . . . . . . . . . . . . . . .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 53: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/53.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
. . . . . . . . . . . . . . . . . .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 54: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/54.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( . . . . . . . . . . . . . . . ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 55: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/55.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( . . . . . . . . . . . . . . . ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 56: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/56.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( . . . . . . . . . . . . . . . ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 57: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/57.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( . . . . . . . . . . . . . . . ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 58: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/58.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( . . . . . . . . . . . . . . . ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 59: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/59.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( . . . . . . . . . . . . . . . ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 60: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/60.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( . . . . . . . . . . . . . . . ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 61: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/61.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( . . . . . . . . . . . . . . . ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 62: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/62.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( . . . . . . . . . . . . . . . ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 63: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/63.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( ( . . . . . . . . . . . . . ) ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 64: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/64.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( ( . . . . . . . . . . . . . ) ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 65: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/65.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( ( . . . . . . . . . . . . . ) ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 66: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/66.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( ( ( . . . ) . . . . . . . . ) ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 67: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/67.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( ( ( . . . ) . . . . . . . . ) ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 68: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/68.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( ( ( . . . ) . . . . . . . . ) ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 69: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/69.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( ( ( . . . ) . . . . . . . . ) ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 70: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/70.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( ( ( . . . ) . . . . . . . . ) ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 71: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/71.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( ( ( . . . ) . . . . . . . . ) ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 72: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/72.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( ( ( . . . ) . . . . . . . . ) ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 73: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/73.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( ( ( . . . ) . ( . . . . . ) ) ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 74: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/74.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( ( ( . . . ) . ( . . . . . ) ) ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 75: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/75.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( ( ( . . . ) . ( . . . . . ) ) ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 76: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/76.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( ( ( . . . ) . ( ( . . . ) ) ) ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 77: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/77.jpg)
Nussinov/Jacobson
C G G A U A C U U C U U A G A C G A
( ( ( . . . ) . ( ( . . . ) ) ) ) .
C 0 0 0 0 0 0 3 4 4 6 6 6 6 9 9 11 14 14
G 0 0 0 0 0 3 4 4 6 6 6 6 7 9 11 11 11
G 0 0 0 0 3 3 3 5 5 5 5 6 8 10 10 10
A 0 0 0 0 2 2 2 2 4 4 5 7 7 8 10
U 0 0 0 0 0 0 2 2 4 5 7 7 8 10
A 0 0 0 0 0 2 2 2 5 5 5 8 8
C 0 0 0 0 0 0 2 5 5 5 8 8
U 0 0 0 0 0 2 3 5 5 6 7
U 0 0 0 0 2 3 5 5 5 7
C 0 0 0 0 3 3 3 5 5
U 0 0 0 0 2 2 2 3
U 0 0 0 0 0 1 2
A 0 0 0 0 0 0
G 0 0 0 0 0
A 0 0 0 0
C 0 0 0
G 0 0
A 0i j
=i i+1 j
+i k j
≥ θ
Ei,k = 1 (G−U), 2 (A=U) ou 3 (G≡C)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 78: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/78.jpg)
Modele de Turner
Basee sur decomposition non-ambigue en boucles de la structure 2aire :
I Boucles internesI RenflementsI Boucles terminalesI Boucles multiplesI Empilements
Energies libres ∆G des boucles dependent desbases, asymetrie, bases libres (dangle) . . .
Determinees experimentalement+ Interpolation pour grandes boucles.
Meilleures predictions grace a la prise en compte des empilements.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 79: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/79.jpg)
Modele de Turner
Basee sur decomposition non-ambigue en boucles de la structure 2aire :I Boucles internes
I RenflementsI Boucles terminalesI Boucles multiplesI Empilements
Energies libres ∆G des boucles dependent desbases, asymetrie, bases libres (dangle) . . .
Determinees experimentalement+ Interpolation pour grandes boucles.
Meilleures predictions grace a la prise en compte des empilements.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 80: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/80.jpg)
Modele de Turner
Basee sur decomposition non-ambigue en boucles de la structure 2aire :I Boucles internesI Renflements
I Boucles terminalesI Boucles multiplesI Empilements
Energies libres ∆G des boucles dependent desbases, asymetrie, bases libres (dangle) . . .
Determinees experimentalement+ Interpolation pour grandes boucles.
Meilleures predictions grace a la prise en compte des empilements.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 81: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/81.jpg)
Modele de Turner
Basee sur decomposition non-ambigue en boucles de la structure 2aire :I Boucles internesI RenflementsI Boucles terminales
I Boucles multiplesI Empilements
Energies libres ∆G des boucles dependent desbases, asymetrie, bases libres (dangle) . . .
Determinees experimentalement+ Interpolation pour grandes boucles.
Meilleures predictions grace a la prise en compte des empilements.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 82: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/82.jpg)
Modele de Turner
Basee sur decomposition non-ambigue en boucles de la structure 2aire :I Boucles internesI RenflementsI Boucles terminalesI Boucles multiples
I Empilements
Energies libres ∆G des boucles dependent desbases, asymetrie, bases libres (dangle) . . .
Determinees experimentalement+ Interpolation pour grandes boucles.
Meilleures predictions grace a la prise en compte des empilements.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 83: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/83.jpg)
Modele de Turner
Basee sur decomposition non-ambigue en boucles de la structure 2aire :I Boucles internesI RenflementsI Boucles terminalesI Boucles multiplesI Empilements
Energies libres ∆G des boucles dependent desbases, asymetrie, bases libres (dangle) . . .
Determinees experimentalement+ Interpolation pour grandes boucles.
Meilleures predictions grace a la prise en compte des empilements.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 84: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/84.jpg)
Modele de Turner : Decomposition
Tiges
boucles
=
Boucle terminale
Empilement
Renflement/Boucle interne
Boucle multiple
(Seq. ≥2 helices)
Seq. helices
=
Seq.+ Helice
Helice
Helice
=
Base non-appariee
Tige-boucle
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 85: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/85.jpg)
Modele de Turner : Decomposition
Tiges
boucles
=
Boucle terminale
Empilement
Renflement/Boucle interne
Boucle multiple
(Seq. ≥2 helices)
Seq. helices
=
Seq.+ Helice
Helice
Helice
=
Base non-appariee
Tige-boucle
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 86: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/86.jpg)
Modele de Turner : Decomposition
Tiges
boucles
=
Boucle terminale
Empilement
Renflement/Boucle interne
Boucle multiple
(Seq. ≥2 helices)
Seq. helices
=
Seq.+ Helice
Helice
Helice
=
Base non-appariee
Tige-boucle
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 87: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/87.jpg)
Modele de Turner : Decomposition
Tiges
boucles
=
Boucle terminale
Empilement
Renflement/Boucle interne
Boucle multiple
(Seq. ≥2 helices)
Seq. helices
=
Seq.+ Helice
Helice
Helice
=
Base non-appariee
Tige-boucle
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 88: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/88.jpg)
Algorithme MFold [ZS81]
=
=
=
??⇔=
+
Decomposition non-ambigue → Ok !Complete ? Comparons les series generatrices . . .
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 89: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/89.jpg)
Validation
Rappel : Serie generatrice des structures secondaires [Wat78]
W(z) :=∑n≥0
sn zn =1− z + z2 −
√1− 2z − z2 − 2z3 + z4
2z2
=
=
=
A(z) =1− z−z2 −
√1− 2z − z2 − 2z3 + z4
2z2
= W(z)− 1 (Oubli de la str. sec. de longueur 0)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 90: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/90.jpg)
Validation
Rappel : Serie generatrice des structures secondaires [Wat78]
W(z) :=∑n≥0
sn zn =1− z + z2 −
√1− 2z − z2 − 2z3 + z4
2z2
A(z) =
=
=
A(z) =1− z−z2 −
√1− 2z − z2 − 2z3 + z4
2z2
= W(z)− 1 (Oubli de la str. sec. de longueur 0)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 91: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/91.jpg)
Validation
Rappel : Serie generatrice des structures secondaires [Wat78]
W(z) :=∑n≥0
sn zn =1− z + z2 −
√1− 2z − z2 − 2z3 + z4
2z2
A(z) =
S(z)
=
=
S(z) = 1 + z S(z)
A(z) =1− z−z2 −
√1− 2z − z2 − 2z3 + z4
2z2
= W(z)− 1 (Oubli de la str. sec. de longueur 0)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 92: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/92.jpg)
Validation
Rappel : Serie generatrice des structures secondaires [Wat78]
W(z) :=∑n≥0
sn zn =1− z + z2 −
√1− 2z − z2 − 2z3 + z4
2z2
A(z) =
S(z)z2A(z) =
=
S(z) = 1 + z S(z)
A(z) =1− z−z2 −
√1− 2z − z2 − 2z3 + z4
2z2
= W(z)− 1 (Oubli de la str. sec. de longueur 0)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 93: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/93.jpg)
Validation
Rappel : Serie generatrice des structures secondaires [Wat78]
W(z) :=∑n≥0
sn zn =1− z + z2 −
√1− 2z − z2 − 2z3 + z4
2z2
A(z) =
S(z)z2A(z)
z S(z) z2A(z) + z2A(z)S(z) z+z S(z) z2A(z)S(z)z
=
=
S(z) = 1 + z S(z)
A(z) =1− z−z2 −
√1− 2z − z2 − 2z3 + z4
2z2
= W(z)− 1 (Oubli de la str. sec. de longueur 0)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 94: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/94.jpg)
Validation
Rappel : Serie generatrice des structures secondaires [Wat78]
W(z) :=∑n≥0
sn zn =1− z + z2 −
√1− 2z − z2 − 2z3 + z4
2z2
A(z) =
S(z)
z2A(z)z S(z) z2A(z) + z2A(z)S(z) z
+z S(z) z2A(z)S(z)zB(z) C(z)
=
=
S(z) = 1 + z S(z)
A(z) =1− z−z2 −
√1− 2z − z2 − 2z3 + z4
2z2
= W(z)− 1 (Oubli de la str. sec. de longueur 0)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 95: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/95.jpg)
Validation
Rappel : Serie generatrice des structures secondaires [Wat78]
W(z) :=∑n≥0
sn zn =1− z + z2 −
√1− 2z − z2 − 2z3 + z4
2z2
A(z) =
S(z)
z2A(z)z S(z) z2A(z) + z2A(z)S(z) z
+z S(z) z2A(z)S(z)zB(z) C(z)
B(z) =
=
S(z) = 1 + z S(z)
A(z) =1− z−z2 −
√1− 2z − z2 − 2z3 + z4
2z2
= W(z)− 1 (Oubli de la str. sec. de longueur 0)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 96: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/96.jpg)
Validation
Rappel : Serie generatrice des structures secondaires [Wat78]
W(z) :=∑n≥0
sn zn =1− z + z2 −
√1− 2z − z2 − 2z3 + z4
2z2
A(z) =
S(z)
z2A(z)z S(z) z2A(z) + z2A(z)S(z) z
+z S(z) z2A(z)S(z)zB(z) C(z)
B(z) =
B(z) C(z)
=
S(z) = 1 + z S(z)
A(z) =1− z−z2 −
√1− 2z − z2 − 2z3 + z4
2z2
= W(z)− 1 (Oubli de la str. sec. de longueur 0)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 97: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/97.jpg)
Validation
Rappel : Serie generatrice des structures secondaires [Wat78]
W(z) :=∑n≥0
sn zn =1− z + z2 −
√1− 2z − z2 − 2z3 + z4
2z2
A(z) =
S(z)
z2A(z)z S(z) z2A(z) + z2A(z)S(z) z
+z S(z) z2A(z)S(z)zB(z) C(z)
B(z) =
{B(z) C(z)S(z)B(z)
=
S(z) = 1 + z S(z)
A(z) =1− z−z2 −
√1− 2z − z2 − 2z3 + z4
2z2
= W(z)− 1 (Oubli de la str. sec. de longueur 0)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 98: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/98.jpg)
Validation
Rappel : Serie generatrice des structures secondaires [Wat78]
W(z) :=∑n≥0
sn zn =1− z + z2 −
√1− 2z − z2 − 2z3 + z4
2z2
A(z) =
S(z)
z2A(z)z S(z) z2A(z) + z2A(z)S(z) z
+z S(z) z2A(z)S(z)zB(z) C(z)
B(z) =
{B(z) C(z)S(z)B(z)
C(z) =
S(z) = 1 + z S(z)
A(z) =1− z−z2 −
√1− 2z − z2 − 2z3 + z4
2z2
= W(z)− 1 (Oubli de la str. sec. de longueur 0)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 99: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/99.jpg)
Validation
Rappel : Serie generatrice des structures secondaires [Wat78]
W(z) :=∑n≥0
sn zn =1− z + z2 −
√1− 2z − z2 − 2z3 + z4
2z2
A(z) =
S(z)
z2A(z)z S(z) z2A(z) + z2A(z)S(z) z
+z S(z) z2A(z)S(z)zB(z) C(z)
B(z) =
{B(z) C(z)S(z)B(z)
C(z) =
C(z) z
S(z) = 1 + z S(z)
A(z) =1− z−z2 −
√1− 2z − z2 − 2z3 + z4
2z2
= W(z)− 1 (Oubli de la str. sec. de longueur 0)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 100: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/100.jpg)
Validation
Rappel : Serie generatrice des structures secondaires [Wat78]
W(z) :=∑n≥0
sn zn =1− z + z2 −
√1− 2z − z2 − 2z3 + z4
2z2
A(z) =
S(z)
z2A(z)z S(z) z2A(z) + z2A(z)S(z) z
+z S(z) z2A(z)S(z)zB(z) C(z)
B(z) =
{B(z) C(z)S(z)B(z)
C(z) =
{C(z) z
z2A(z)
S(z) = 1 + z S(z)
A(z) =1− z−z2 −
√1− 2z − z2 − 2z3 + z4
2z2
= W(z)− 1 (Oubli de la str. sec. de longueur 0)
⇒ Schema complet, correct par construction⇒ Minimisation possible.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 101: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/101.jpg)
MFold Unafold
I EH(i, j) : Energie de boucle terminale fermee par une paire (i, j)I EBI(i, j) : Energie de renflement ou boucle interne fermee par une paire (i, j)I ES(i, j) : Energie d’empilement (i, j)/(i + 1, j − 1)I a,c,b : Penalite de boucle multiple, helice et non-appariees dans multiboucle.
=
=
=
Calcul des matrices
M′ i,j = min
EH(i , j)ES(i , j) +M′ i+1,j−1
Mini′,j′(EBI(i , i ′, j ′, j) +M′ i′,j′)a + c + Mink (Mi+1,k−1 +M1
k,j−1)
Mi,j =Mink
{min (Mi,k−1, b(k − 1)) +M1
k,j
}M1
i,j =Mink
{b +M1
i,j−1, c +M′ i,j}
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 102: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/102.jpg)
Remontee (Backtracking)
Reconstruction de la structure d’energie minimale :
M′ i,j = Min
EH(i , j)
ES(i , j) +M′ i+1,j−1
Mini′,j′(EBI(i , i ′, j ′, j) +M′ i′,j′)
a + c + Mink (Mi+1,k−1 +M1k,j−1 )
Mi,j = Mink
{min (Mi,k−1, b(k − 1)) +M1
k,j
}M1
i,j = Mink
{b +M1
i,j−1, c +M′ i,j}
Θ(n) contributeurs potentiels au Min :⇒ Complexite au pire en O(n2) pour un backtrack naif.Garder les meilleurs contributeurs aux Min⇒ Backtrack en O(n)
Complexites temps/memoire en O(n3)/O(n2) pour le precalcul 1
⇒ UnaFold [MZ08] minimise l’energie de Turner.
1. Avec une astuce pour les bulges/boucles internes ...Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 103: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/103.jpg)
Remontee (Backtracking)
Reconstruction de la structure d’energie minimale :
M′ i,j = Min
EH(i , j)
ES(i , j) +M′ i+1,j−1
Mini′,j′(EBI(i , i ′, j ′, j) +M′ i′,j′)
a + c + Mink (Mi+1,k−1 +M1k,j−1 )
Mi,j = Mink
{min (Mi,k−1, b(k − 1)) +M1
k,j
}M1
i,j = Mink
{b +M1
i,j−1, c +M′ i,j}
Θ(n) contributeurs potentiels au Min :⇒ Complexite au pire en O(n2) pour un backtrack naif.Garder les meilleurs contributeurs aux Min⇒ Backtrack en O(n)
Complexites temps/memoire en O(n3)/O(n2) pour le precalcul 1
⇒ UnaFold [MZ08] minimise l’energie de Turner.
1. Avec une astuce pour les bulges/boucles internes ...Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 104: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/104.jpg)
Remontee (Backtracking)
Reconstruction de la structure d’energie minimale :
M′ i,j = Min
EH(i , j)
ES(i , j) +M′ i+1,j−1
Mini′,j′(EBI(i , i ′, j ′, j) +M′ i′,j′)
a + c + Mink (Mi+1,k−1 +M1k,j−1 )
Mi,j = Mink
{min (Mi,k−1, b(k − 1)) +M1
k,j
}M1
i,j = Mink
{b +M1
i,j−1, c +M′ i,j}
? ? ?
Θ(n) contributeurs potentiels au Min :⇒ Complexite au pire en O(n2) pour un backtrack naif.
Garder les meilleurs contributeurs aux Min⇒ Backtrack en O(n)
Complexites temps/memoire en O(n3)/O(n2) pour le precalcul 1
⇒ UnaFold [MZ08] minimise l’energie de Turner.
1. Avec une astuce pour les bulges/boucles internes ...Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 105: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/105.jpg)
Remontee (Backtracking)
Reconstruction de la structure d’energie minimale :
M′ i,j = Min
EH(i , j)
ES(i , j) +M′ i+1,j−1
Mini′,j′(EBI(i , i ′, j ′, j) +M′ i′,j′)
a + c + Mink (Mi+1,k−1 +M1k,j−1 )
Mi,j = Mink
{min (Mi,k−1, b(k − 1)) +M1
k,j
}M1
i,j = Mink
{b +M1
i,j−1, c +M′ i,j}
Θ(n) contributeurs potentiels au Min :⇒ Complexite au pire en O(n2) pour un backtrack naif.Garder les meilleurs contributeurs aux Min⇒ Backtrack en O(n)
Complexites temps/memoire en O(n3)/O(n2) pour le precalcul 1
⇒ UnaFold [MZ08] minimise l’energie de Turner.
1. Avec une astuce pour les bulges/boucles internes ...Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 106: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/106.jpg)
Remontee (Backtracking)
Reconstruction de la structure d’energie minimale :
M′ i,j = Min
EH(i , j)
ES(i , j) +M′ i+1,j−1
Mini′,j′(EBI(i , i ′, j ′, j) +M′ i′,j′)
a + c + Mink (Mi+1,k−1 +M1k,j−1 )
Mi,j = Mink
{min (Mi,k−1, b(k − 1)) +M1
k,j
}M1
i,j = Mink
{b +M1
i,j−1, c +M′ i,j}
Θ(n) contributeurs potentiels au Min :⇒ Complexite au pire en O(n2) pour un backtrack naif.Garder les meilleurs contributeurs aux Min⇒ Backtrack en O(n)
Complexites temps/memoire en O(n3)/O(n2) pour le precalcul 1
⇒ UnaFold [MZ08] minimise l’energie de Turner.
1. Avec une astuce pour les bulges/boucles internes ...Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 107: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/107.jpg)
Resume
1 Rappels de programmation dynamique
2 Repliement par minimisation d’energieApparte thermodynamiqueModele de NussinovModele de TurnerMFold/Unafold
3 Ensemble de BoltzmannDefinitionCalcul de la fonction de partitionEchantillonnage statistique
4 Programmation dynamique : Methodes generiques
5 Algorithmique ensembliste avanceeDistribution exacteCalcul des moments
6 ConclusionAnalyse syntaxique
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 108: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/108.jpg)
Ensemble canonique de Boltzmann
L’ARN respire⇒ Il n’existe pas UNE unique conformation native.
Nouveau paradigme
Les conformations d’un ARN coexistent dans une distribution de Boltzmann.
Consequence : La probabilite de la MFE peut etre negligeable.⇒ Comprendre les modes d’actions de l’ARN exige de prendre enconsideration l’ensemble des structures.
En particulier, des structures proches peuvent se grouper et devenir lecandidat le plus credible fonctionnellement.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 109: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/109.jpg)
Ensemble canonique de Boltzmann
L’ARN respire⇒ Il n’existe pas UNE unique conformation native.
Nouveau paradigme
Les conformations d’un ARN coexistent dans une distribution de Boltzmann.
Consequence : La probabilite de la MFE peut etre negligeable.⇒ Comprendre les modes d’actions de l’ARN exige de prendre enconsideration l’ensemble des structures.
En particulier, des structures proches peuvent se grouper et devenir lecandidat le plus credible fonctionnellement.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 110: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/110.jpg)
Distribution de Boltzmann : Definition
Notations : Sequence d’ARN ω
I Sω = ensemble des conformations compatibles avec ω.I ES,ω = energie libre de S (kCal.mol−1)I T = temperature (K)I R = constante des gaz parfaits (1.986.10−3 kCal.K−1.mol−1)
Definition (Distribution de Bolzmann)
Poids d’une structure S = facteur de Boltzmann : BS,ω = e−ES,ω
RT
Distribution renormalisee sur Sω par la fonction de partition :
Zω =∑
S∈Sω
e−ES,ω
RT .
Probabilite de Boltzmann d’une structure S : PS,ω =BS,ωZω .
Probleme : Comment calculer efficacement la fonction de partition ?
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 111: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/111.jpg)
Theoreme (Meta)
Decomposition complete et non-ambigue, score defini additivement :
Optimisation→ (min /max,+,E(·), 0) Comptage→ (+,×, 1, 1)
i j=
i i+1 j+
i k j
≥ θ
Recurrence sur l’energie minimale d’un repliement :
Ni,t = 0, ∀t ∈ [i , i + θ]
Ni,j = min{
Ni+1,j (i non apparie)minj
k=i+θ+1Ei,k+Ni+1,k−1+Nk+1,j (i comp. avec k )
Recurrence de comptage des structures compatibles :
Ci,t = 1, ∀t ∈ [i , i + θ]
Ci,j =∑{
Ci+1,j (i non apparie)∑jk=i+θ+11×Ci+1,k−1×Ck+1,j (i comp. avec k )
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 112: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/112.jpg)
Calcul de la fonction de partition
Theoreme (Meta)
Decomposition complete et non-ambigue, score defini additivement :
Optimisation→ (min /max,+,E(·), 0) Comptage→ (+,×, 1, 1)
Fonction de partition→ (+,×, e−E(·)/RT , 1)
Fonction de partition = Comptage pondere des structures compatibles
i j=
i i+1 j+
i k j
≥ θ
Z i,t = 1, ∀t ∈ [i , i + θ]
Z i,j =∑
Z i+1,jj∑
k=i+θ+1
1 × Z i+1,k−1 × Zk+1,j
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 113: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/113.jpg)
Calcul de la fonction de partition
Theoreme (Meta)
Decomposition complete et non-ambigue, score defini additivement :
Optimisation→ (min /max,+,E(·), 0) Comptage→ (+,×, 1, 1)
Fonction de partition→ (+,×, e−E(·)/RT , 1)
Fonction de partition = Comptage pondere des structures compatibles
i j=
i i+1 j+
i k j
≥ θ
Z i,t = 1, ∀t ∈ [i , i + θ]
Z i,j =∑
Z i+1,jj∑
k=i+θ+1
e−Ei,k
RT × Z i+1,k−1 × Zk+1,j
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 114: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/114.jpg)
Calcul de la fonction de partition
Theoreme (Meta)
Decomposition complete et non-ambigue, score defini additivement :
Optimisation→ (min /max,+,E(·), 0) Comptage→ (+,×, 1, 1)
Fonction de partition→ (+,×, e−E(·)/RT , 1)
=
=
=
[McC90, MZ08]
M′ i,j =Min
EH(i , j)
ES(i , j) +M′ i+1,j−1
Min(EBI(i , i ′, j ′, j) +M′ i′,j′)a + c + Min
(Mi+1,k−1 +M1
k,j−1)
Mi,j =Min{
Min (Mi,k−1, b(k − 1)) +M1k,j
}M1
i,j =Min{
b +M1i,j−1, c +M′ i,j
}
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 115: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/115.jpg)
Calcul de la fonction de partition
Theoreme (Meta)
Decomposition complete et non-ambigue, score defini additivement :
Optimisation→ (min /max,+,E(·), 0) Comptage→ (+,×, 1, 1)
Fonction de partition→ (+,×, e−E(·)/RT , 1)
=
=
=
[McC90, MZ08]
M′ i,j =Min
e−EH (i,j)
RT
e−ES (i,j)
RT +M′ i+1,j−1
Min(
e−EBI (i,i
′,j′,j)RT +M′ i′,j′
)e−(a+c)
RT + Min(Mi+1,k−1 +M1
k,j−1)
Mi,j =Min{
Min(Mi,k−1, e
−b(k−1)RT
)+M1
k,j
}M1
i,j =Min{
e−bRT +M1
i,j−1, e−cRT +M′ i,j
}Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 116: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/116.jpg)
Calcul de la fonction de partition
Theoreme (Meta)
Decomposition complete et non-ambigue, score defini additivement :
Optimisation→ (min /max,+,E(·), 0) Comptage→ (+,×, 1, 1)
Fonction de partition→ (+,×, e−E(·)/RT , 1)
=
=
=
[McC90, MZ08]
M′ i,j =Min
e−EH (i,j)
RT
e−ES (i,j)
RT M′ i+1,j−1
Min(
e−EBI (i,i
′,j′,j)RT M′ i′,j′
)e−(a+c)
RT Min(Mi+1,k−1M1
k,j−1)
Mi,j =Min{
Min(Mi,k−1, e
−b(k−1)RT
)M1
k,j
}M1
i,j =Min{
e−bRT M1
i,j−1, e−cRT M′ i,j
}Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 117: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/117.jpg)
Calcul de la fonction de partition
Theoreme (Meta)
Decomposition complete et non-ambigue, score defini additivement :
Optimisation→ (min /max,+,E(·), 0) Comptage→ (+,×, 1, 1)
Fonction de partition→ (+,×, e−E(·)/RT , 1)
=
=
=
[McC90, MZ08]
Z ′(i , j) =∑
e−EH (i,j)
RT
e−ES (i,j)
RT Z ′(i + 1, j − 1)
+∑(
e−EBI (i,i
′,j′,j)RT Z ′(i ′, j ′)
)+e−(a+c)
RT∑(Z(i + 1, k − 1)Z1(k , j − 1)
)Z(i , j) =
∑(Z(i , k − 1)+e
−b(k−1)RT
)Z1(k , j) Z1(i , j) =e
−bRT Z1(i , j − 1)+e
−cRT Z ′(i , j)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 118: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/118.jpg)
Echantillonnage statistique de structures d’ARN
La MFE (struc. probabilite maximale) peut etre ecrasee par un ensemble Dde sous-optimaux structurellement similaires.⇒ Conformation fonctionnelle trouvee plus probablement dans D.
MFE
Experience : [DCL05]
I Engendrer des structures selon une distribution de BoltzmannI Effectuer un clustering sur la structureI Construire structure consensus dans le plus lourd cluster
⇒ Amelioration relative pour specificite (+17.6%) et sensibilite (+21.74%,sauf Introns du groupe II)
Probleme : Comment echantillonner la distribution de Boltzmann ?
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 119: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/119.jpg)
Algorithme (Reformulation SFold [DL03])
Precalcul : Calculer les matrices (Z,Z ′,Z1) de la fonction de partition.Generation (Remontee stochastique) :
1 Tirer un nombre aleatoire r uniformement sur [0,Z ′(i , j)[
2 Soustraire a r les contributions a Z ′(i , j), jusqu’a ce que r< 0
3 Rappels recursifs sur les termes issus de la contribution choisie.
Z ′(i , j) =∑
e−EH (i,j)
RT + e−ES (i,j)
RT Z ′(i + 1, j − 1) A∑(e−EBI (i,i
′,j′,j)RT Z ′(i ′, j ′)
)B
e−(a+c)
RT∑(Z(i + 1, k − 1)Z1(k , j − 1)
) C
? ? ?
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 120: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/120.jpg)
Algorithme (Reformulation SFold [DL03])
Precalcul : Calculer les matrices (Z,Z ′,Z1) de la fonction de partition.Generation (Remontee stochastique) :
1 Tirer un nombre aleatoire r uniformement sur [0,Z ′(i , j)[
2 Soustraire a r les contributions a Z ′(i , j), jusqu’a ce que r< 0
3 Rappels recursifs sur les termes issus de la contribution choisie.
Z ′(i , j) =∑
e−EH (i,j)
RT + e−ES (i,j)
RT Z ′(i + 1, j − 1) A∑(e−EBI (i,i
′,j′,j)RT Z ′(i ′, j ′)
)B
e−(a+c)
RT∑(Z(i + 1, k − 1)Z1(k , j − 1)
) C
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 121: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/121.jpg)
Algorithme (Reformulation SFold [DL03])
Precalcul : Calculer les matrices (Z,Z ′,Z1) de la fonction de partition.Generation (Remontee stochastique) :
1 Tirer un nombre aleatoire r uniformement sur [0,Z ′(i , j)[
2 Soustraire a r les contributions a Z ′(i , j), jusqu’a ce que r< 0
3 Rappels recursifs sur les termes issus de la contribution choisie.
Z ′(i , j) =∑
e−EH (i,j)
RT + e−ES (i,j)
RT Z ′(i + 1, j − 1) A∑(e−EBI (i,i
′,j′,j)RT Z ′(i ′, j ′)
)B
e−(a+c)
RT∑(Z(i + 1, k − 1)Z1(k , j − 1)
) C
A1 —A2 —Bi —Bi+1 —. . . —Bj−1 —Bj —Ci —Ci+1 —. . . —Cj−1 —Cj
r
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 122: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/122.jpg)
Algorithme (Reformulation SFold [DL03])
Precalcul : Calculer les matrices (Z,Z ′,Z1) de la fonction de partition.Generation (Remontee stochastique) :
1 Tirer un nombre aleatoire r uniformement sur [0,Z ′(i , j)[
2 Soustraire a r les contributions a Z ′(i , j), jusqu’a ce que r< 0
3 Rappels recursifs sur les termes issus de la contribution choisie.
Z ′(i , j) =∑
e−EH (i,j)
RT + e−ES (i,j)
RT Z ′(i + 1, j − 1) A∑(e−EBI (i,i
′,j′,j)RT Z ′(i ′, j ′)
)B
e−(a+c)
RT∑(Z(i + 1, k − 1)Z1(k , j − 1)
) C
A1 —A2 —Bi —Bi+1 —. . . —Bj−1 —Bj —Ci —Ci+1 —. . . —Cj−1 —Cj
r
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 123: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/123.jpg)
Algorithme (Reformulation SFold [DL03])
Precalcul : Calculer les matrices (Z,Z ′,Z1) de la fonction de partition.Generation (Remontee stochastique) :
1 Tirer un nombre aleatoire r uniformement sur [0,Z ′(i , j)[
2 Soustraire a r les contributions a Z ′(i , j), jusqu’a ce que r< 0
3 Rappels recursifs sur les termes issus de la contribution choisie.
Z ′(i , j) =∑
e−EH (i,j)
RT + e−ES (i,j)
RT Z ′(i + 1, j − 1) A∑(e−EBI (i,i
′,j′,j)RT Z ′(i ′, j ′)
)B
e−(a+c)
RT∑(Z(i + 1, k − 1)Z1(k , j − 1)
) C
A1 —A2 —Bi —Bi+1 —. . . —Bj−1 —Bj —Ci —Ci+1 —. . . —Cj−1 —Cj
r
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 124: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/124.jpg)
Algorithme (Reformulation SFold [DL03])
Precalcul : Calculer les matrices (Z,Z ′,Z1) de la fonction de partition.Generation (Remontee stochastique) :
1 Tirer un nombre aleatoire r uniformement sur [0,Z ′(i , j)[
2 Soustraire a r les contributions a Z ′(i , j), jusqu’a ce que r< 0
3 Rappels recursifs sur les termes issus de la contribution choisie.
Z ′(i , j) =∑
e−EH (i,j)
RT + e−ES (i,j)
RT Z ′(i + 1, j − 1) A∑(e−EBI (i,i
′,j′,j)RT Z ′(i ′, j ′)
)B
e−(a+c)
RT∑(Z(i + 1, k − 1)Z1(k , j − 1)
) C
A1 —A2 —Bi —Bi+1 —. . . —Bj−1 —Bj —Ci —Ci+1 —. . . —Cj−1 —Cj
r
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 125: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/125.jpg)
Algorithme (Reformulation SFold [DL03])
Precalcul : Calculer les matrices (Z,Z ′,Z1) de la fonction de partition.Generation (Remontee stochastique) :
1 Tirer un nombre aleatoire r uniformement sur [0,Z ′(i , j)[
2 Soustraire a r les contributions a Z ′(i , j), jusqu’a ce que r< 0
3 Rappels recursifs sur les termes issus de la contribution choisie.
Z ′(i , j) =∑
e−EH (i,j)
RT + e−ES (i,j)
RT Z ′(i + 1, j − 1) A∑(e−EBI (i,i
′,j′,j)RT Z ′(i ′, j ′)
)B
e−(a+c)
RT∑(Z(i + 1, k − 1)Z1(k , j − 1)
) C
A1 —A2 —Bi —Bi+1 —. . . —Bj−1 —Bj —Ci —Ci+1 —. . . —Cj−1 —Cj
r
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 126: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/126.jpg)
Algorithme (Reformulation SFold [DL03])
Precalcul : Calculer les matrices (Z,Z ′,Z1) de la fonction de partition.Generation (Remontee stochastique) :
1 Tirer un nombre aleatoire r uniformement sur [0,Z ′(i , j)[
2 Soustraire a r les contributions a Z ′(i , j), jusqu’a ce que r< 0
3 Rappels recursifs sur les termes issus de la contribution choisie.
Z ′(i , j) =∑
e−EH (i,j)
RT + e−ES (i,j)
RT Z ′(i + 1, j − 1) A∑(e−EBI (i,i
′,j′,j)RT Z ′(i ′, j ′)
)B
e−(a+c)
RT∑(Z(i + 1, k − 1)Z1(k , j − 1)
) C
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 127: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/127.jpg)
Algorithme (Reformulation SFold [DL03]) : Complexite
Precalcul : Calculer les matrices (Z,Z ′,Z1) de la fonction de partition.Generation (Remontee stochastique) :
1 Tirer un nombre aleatoire r uniformement sur [0,Z ′(i , j)[
2 Soustraire a r les contributions a Z ′(i , j), jusqu’a ce que r< 0
3 Rappels recursifs sur les termes issus de la contribution choisie.
Z ′(i , j) =∑
e−EH (i,j)
RT + e−ES (i,j)
RT Z ′(i + 1, j − 1) A∑(e−EBI (i,i
′,j′,j)RT Z ′(i ′, j ′)
)B
e−(a+c)
RT∑(Z(i + 1, k − 1)Z1(k , j − 1)
) C
? ? ?
A1 —A2 —Bi —Bi+1 —. . . —Bj−1 —Bj —Ci —Ci+1 —. . . —Cj−1 —Cj
r
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 128: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/128.jpg)
Algorithme (Reformulation SFold [DL03]) : Complexite
Precalcul : Calculer les matrices (Z,Z ′,Z1) de la fonction de partition.Generation (Remontee stochastique) :
1 Tirer un nombre aleatoire r uniformement sur [0,Z ′(i , j)[
2 Soustraire a r les contributions a Z ′(i , j), jusqu’a ce que r< 0
3 Rappels recursifs sur les termes issus de la contribution choisie.
Z ′(i , j) =∑
e−EH (i,j)
RT + e−ES (i,j)
RT Z ′(i + 1, j − 1) A∑(e−EBI (i,i
′,j′,j)RT Z ′(i ′, j ′)
)B
e−(a+c)
RT∑(Z(i + 1, k − 1)Z1(k , j − 1)
) C
A1 —A2 —Bi —Bi+1 —. . . —Bj−1 —Bj —Ci —Ci+1 —. . . —Cj−1 —Cj
r
Apres Θ(n) operations, on reitere sur un interval de taille n − 1⇒ Complexite au pire en O(n2k) pour k echantillons
Remarque : Equivalent a une generation aleatoire ponderee [DPT10].Complexite en moyenne en Θ(n
√n), mais
Parcours Boustrophedon [Pon08] → O(n log nk) au pire.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 129: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/129.jpg)
Resume
1 Rappels de programmation dynamique
2 Repliement par minimisation d’energieApparte thermodynamiqueModele de NussinovModele de TurnerMFold/Unafold
3 Ensemble de BoltzmannDefinitionCalcul de la fonction de partitionEchantillonnage statistique
4 Programmation dynamique : Methodes generiques
5 Algorithmique ensembliste avanceeDistribution exacteCalcul des moments
6 ConclusionAnalyse syntaxique
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 130: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/130.jpg)
Pourquoi ca marche ?
Equation de prog. dyn. = Generateur d’un (sous) espace de rechercheCompletude : Parcours integral de l’espace de rechercheNon-ambiguite : Choix locaux→ ensembles mutuellement disjoints
Correction du comptage
A = A1 ∪ A2 ∪ · · · ∪ Ak
+ Ai ∩ Aj = ∅, ∀i 6= j (non-ambiguite)
⇒ |A| = |A1|+ |A2|+ |Ak |
Cas non lineaire : Argument similaire
A1 → A1,1 × A1,2 × · · ·|A1| → |A1,1| × |A1,2| × · · ·
Vq = maxmin
E1,q + Vq1
E2,q + Vq2
...Ek,q + Vqk
...
A1
A2
Ak
Correction de l’echantillonnage(Ei := ∪m
k=i+1Ak )
pS =B(E1)
B(Sw )· B(E2)
B(E1)· B(E3)
B(E2). . .B({S})B(Em) A1
A2
A3
A4
A5
Am
S
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 131: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/131.jpg)
Pourquoi ca marche ?
Equation de prog. dyn. = Generateur d’un (sous) espace de rechercheCompletude : Parcours integral de l’espace de rechercheNon-ambiguite : Choix locaux→ ensembles mutuellement disjoints
Correction du comptage
A = A1 ∪ A2 ∪ · · · ∪ Ak
+ Ai ∩ Aj = ∅, ∀i 6= j (non-ambiguite)
⇒ |A| = |A1|+ |A2|+ |Ak |
Cas non lineaire : Argument similaire
A1 → A1,1 × A1,2 × · · ·|A1| → |A1,1| × |A1,2| × · · ·
Vq = maxmin
E1,q + Vq1
E2,q + Vq2
...Ek,q + Vqk
...
A1
A2
Ak
Correction de l’echantillonnage(Ei := ∪m
k=i+1Ak )
pS =B(E1)
B(Sw )· B(E2)
B(E1)· B(E3)
B(E2). . .B({S})B(Em) A1
A2
A3
A4
A5
Am
S
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 132: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/132.jpg)
Pourquoi ca marche ?
Equation de prog. dyn. = Generateur d’un (sous) espace de rechercheCompletude : Parcours integral de l’espace de rechercheNon-ambiguite : Choix locaux→ ensembles mutuellement disjoints
Correction du comptage
A = A1 ∪ A2 ∪ · · · ∪ Ak
+ Ai ∩ Aj = ∅, ∀i 6= j (non-ambiguite)
⇒ |A| = |A1|+ |A2|+ |Ak |
Cas non lineaire : Argument similaire
A1 → A1,1 × A1,2 × · · ·|A1| → |A1,1| × |A1,2| × · · ·
Vq = maxmin
E1,q + Vq1
E2,q + Vq2
...Ek,q + Vqk
...
A1
A2
Ak
Correction de l’echantillonnage(Ei := ∪m
k=i+1Ak )
pS =1
B(Sw )· 1
1· 1
1. . .B({S})
1 A1
A2
A3
A4
A5
Am
S
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 133: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/133.jpg)
Pourquoi ca marche ?
Equation de prog. dyn. = Generateur d’un (sous) espace de rechercheCompletude : Parcours integral de l’espace de rechercheNon-ambiguite : Choix locaux→ ensembles mutuellement disjoints
Correction du comptage
A = A1 ∪ A2 ∪ · · · ∪ Ak
+ Ai ∩ Aj = ∅, ∀i 6= j (non-ambiguite)
⇒ |A| = |A1|+ |A2|+ |Ak |
Cas non lineaire : Argument similaire
A1 → A1,1 × A1,2 × · · ·|A1| → |A1,1| × |A1,2| × · · ·
Vq = maxmin
E1,q + Vq1
E2,q + Vq2
...Ek,q + Vqk
...
A1
A2
Ak
Correction de l’echantillonnage(Ei := ∪m
k=i+1Ak )
pS =B({S})B(Sw )
=e−Es/RT
Z = PS,ω A1
A2
A3
A4
A5
Am
S
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 134: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/134.jpg)
Formalisation de la programmation dynamique
The development of successful dynamic programming recurrencesis a matter of experience, talent and luck – Anonyme, 2000
Tout algorithme de programmation dynamique definit :
1 Espace de recherche
2 Fonction objectif ou score
3 Decomposition
Entites conceptuelles non-independantes :I Decomposition doit parcourir tout l’Espace de recherche de facon uniqueI Decomposition doit permettre un calcul local de la Fonction objectif
Choix d’une bonne decomposition est crucial !
Compilation de ces trois elements⇒ Equation de programmation dynamique.Question : Comment formaliser cette notion de compilation ?
Propositions :Grammaires (Giegerich et al [SMJG13]) Hypergraphes (Roytberg et al [FR93])
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 135: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/135.jpg)
Pourquoi les hypergraphes ?
Needleman-Wunsch [NW70] (alignement global) :
Remontee = Chemin de score maximal dans la matrice
0 0 0 0 0 0 0 0 0
0 2 1 2 1 2 1 0 2
0 1 1 1 1 1 1 0 1
0 0 3 2 3 2 3 2 1
0 2 2 5 4 5 4 3 4
0 1 4 4 7 6 7 6 5
0 2 3 6 6 9 8 7 8
0 1 4 5 8 8 11 10 9
0 2 3 6 7 10 10 10 12
A C A C A C T A
A
G
C
A
C
A
C
A
Mais : Analogie precaire en ARN car les remontees sont des arbres.Il faudrait des graphes dont les chemins sont des arbres ? ? ?
→ Hypergraphes !
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 136: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/136.jpg)
Pourquoi les hypergraphes ?
Needleman-Wunsch [NW70] (alignement global) :
Remontee = Chemin de score maximal dans la matrice
Mais : Analogie precaire en ARN car les remontees sont des arbres.Il faudrait des graphes dont les chemins sont des arbres ? ? ?
→ Hypergraphes !
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 137: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/137.jpg)
Pourquoi les hypergraphes ?
Smith-Waterman [SW81] (alignement global) :
Remontee = Chemin de score maximal dans la matrice
Mais : Analogie precaire en ARN car les remontees sont des arbres.Il faudrait des graphes dont les chemins sont des arbres ? ? ?
→ Hypergraphes !
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 138: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/138.jpg)
Pourquoi les hypergraphes ?
Smith-Waterman [SW81] (alignement global) :
Remontee = Chemin de score maximal dans la matrice
Mais : Analogie precaire en ARN car les remontees sont des arbres.Il faudrait des graphes dont les chemins sont des arbres ? ? ?
→ Hypergraphes !
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 139: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/139.jpg)
Hypergraphes
1 3
2
4
6
5
7
8
Les hypergaphes (orientes) generalisent les graphes (diriges) grace a des(hyper) arcs de degres entrant/sortant arbitraires.
Definition (Hypergraphes)
Un hypergraphe H est un couple (V ,E) tel que :I V = ensemble de sommetI E = ensemble d’hyperarcs e = (t(e)→ h(e)) tels que t(e), h(e) ⊂ E
Les hypergraphes avant, ou F(orward)-graphes, sont des hypergraphes dontles arcs ont degre entrant exactement egal a 1.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 140: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/140.jpg)
Hypergraphes
1 3
2
4
6
5
7
8
Les hypergaphes (orientes) generalisent les graphes (diriges) grace a des(hyper) arcs de degres entrant/sortant arbitraires.
Definition (Hypergraphes)
Un hypergraphe H est un couple (V ,E) tel que :I V = ensemble de sommetI E = ensemble d’hyperarcs e = (t(e)→ h(e)) tels que t(e), h(e) ⊂ E
Les hypergraphes avant, ou F(orward)-graphes, sont des hypergraphes dontles arcs ont degre entrant exactement egal a 1.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 141: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/141.jpg)
1 3
2
4
6
5
7
3
23
5
231
1
1
3
1
1 2 6
5
7
3 5
1
3
11 32 1
1 4 63 3 2
1 4 73 2 1
1 43 1
Weight : 45
Weight : 2
Weight : 18
Weight : 6
Weight : 3
Score : 13
Score : 3
Score : 8
Score : 6
Score : 4
F-graphe Tous les F-chemins partant du sommet 1
Definition (F-chemin)
Un F-chemin est un arbre de racine s ∈ V , et dont les fils sont des F-cheminsconstruits a partir des sommets sortants d’un arc e = (s → t) ∈ E .
Remarque : Des arcs de degre sortant nul (t = ∅) ferment cette definition.
Independance : Un F-graphe est independant ssi chaque arc est emprunteau plus une fois par chaque chemin.
Valuation : Fonction π : E → R donnant valeur reelle aux arcs e ∈ E .
I Poids d’un chemin = Produit des valeurs de ses arcs.I Score d’un chemin = Somme des valeurs de ses arcs.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 142: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/142.jpg)
1 3
2
4
6
5
7
3
23
5
231
1
1
3
1
1 2 6
5
7
3 5
1
3
11 32 1
1 4 63 3 2
1 4 73 2 1
1 43 1
Weight : 45
Weight : 2
Weight : 18
Weight : 6
Weight : 3
Score : 13
Score : 3
Score : 8
Score : 6
Score : 4
F-graphe Tous les F-chemins partant du sommet 1
Definition (F-chemin)
Un F-chemin est un arbre de racine s ∈ V , et dont les fils sont des F-cheminsconstruits a partir des sommets sortants d’un arc e = (s → t) ∈ E .
Remarque : Des arcs de degre sortant nul (t = ∅) ferment cette definition.
Independance : Un F-graphe est independant ssi chaque arc est emprunteau plus une fois par chaque chemin.
Valuation : Fonction π : E → R donnant valeur reelle aux arcs e ∈ E .
I Poids d’un chemin = Produit des valeurs de ses arcs.I Score d’un chemin = Somme des valeurs de ses arcs.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 143: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/143.jpg)
1 3
2
4
6
5
7
3
23
5
231
1
1
3
1
1 2 6
5
7
3 5
1
3
11 32 1
1 4 63 3 2
1 4 73 2 1
1 43 1
Weight : 45
Weight : 2
Weight : 18
Weight : 6
Weight : 3
Score : 13
Score : 3
Score : 8
Score : 6
Score : 4
F-graphe Tous les F-chemins partant du sommet 1
Definition (F-chemin)
Un F-chemin est un arbre de racine s ∈ V , et dont les fils sont des F-cheminsconstruits a partir des sommets sortants d’un arc e = (s → t) ∈ E .
Remarque : Des arcs de degre sortant nul (t = ∅) ferment cette definition.
Independance : Un F-graphe est independant ssi chaque arc est emprunteau plus une fois par chaque chemin.
Valuation : Fonction π : E → R donnant valeur reelle aux arcs e ∈ E .
I Poids d’un chemin = Produit des valeurs de ses arcs.I Score d’un chemin = Somme des valeurs de ses arcs.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 144: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/144.jpg)
1 3
2
4
6
5
7
3
23
5
231
1
1
3
1
1 2 6
5
7
3 5
1
3
11 32 1
1 4 63 3 2
1 4 73 2 1
1 43 1
Weight : 45
Weight : 2
Weight : 18
Weight : 6
Weight : 3
Score : 13
Score : 3
Score : 8
Score : 6
Score : 4
F-graphe Tous les F-chemins partant du sommet 1
Definition (F-chemin)
Un F-chemin est un arbre de racine s ∈ V , et dont les fils sont des F-cheminsconstruits a partir des sommets sortants d’un arc e = (s → t) ∈ E .
Remarque : Des arcs de degre sortant nul (t = ∅) ferment cette definition.
Independance : Un F-graphe est independant ssi chaque arc est emprunteau plus une fois par chaque chemin.
Valuation : Fonction π : E → R donnant valeur reelle aux arcs e ∈ E .
I Poids d’un chemin = Produit des valeurs de ses arcs.I Score d’un chemin = Somme des valeurs de ses arcs.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 145: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/145.jpg)
Generic algorithms [PS11]
H = (s0,V ,E , π) : F-graphe acyclique s0 : Noeud initial π : Valuation
+
ms = mine=(s→t)∈E
(w(e) +
∑u∈t
mu
)s
Exemple :t1
t ′1
t ′2
w(e)
w(e′′)w(e′)
Probleme Recurrence Temps/memoire
Score min. ms = mine=(s→t)
(w(e) +
∑u∈t
mu
)Θ(|E |+ |V |)/Θ(|V |)
#Chemins ns =∑(s→t)
∏u∈t
nu Θ(|E |+ |V |)/Θ(|V |)
Poids total ws =∑
e=(s→t)
w(e) ·∏s′∈t
ws′ Θ(|E |+ |V |)/Θ(|V |)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 146: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/146.jpg)
Generic algorithms [PS11]
H = (s0,V ,E , π) : F-graphe acyclique s0 : Noeud initial π : Valuation
×
ns =∑
(s→t)∈E
∏u∈t
nus
Exemple :t1
t ′1
t ′2
Probleme Recurrence Temps/memoire
Score min. ms = mine=(s→t)
(w(e) +
∑u∈t
mu
)Θ(|E |+ |V |)/Θ(|V |)
#Chemins ns =∑(s→t)
∏u∈t
nu Θ(|E |+ |V |)/Θ(|V |)
Poids total ws =∑
e=(s→t)
w(e) ·∏s′∈t
ws′ Θ(|E |+ |V |)/Θ(|V |)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 147: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/147.jpg)
Generic algorithms [PS11]
H = (s0,V ,E , π) : F-graphe acyclique s0 : Noeud initial π : Valuation
×
ws =∑
e=(s→h(e))∈E
w(e) ·∏
s′∈h(e)
ws′s
Exemple :t1
t ′1
t ′2
w(e)
w(e′′)w(e′)
Probleme Recurrence Temps/memoire
Score min. ms = mine=(s→t)
(w(e) +
∑u∈t
mu
)Θ(|E |+ |V |)/Θ(|V |)
#Chemins ns =∑(s→t)
∏u∈t
nu Θ(|E |+ |V |)/Θ(|V |)
Poids total ws =∑
e=(s→t)
w(e) ·∏s′∈t
ws′ Θ(|E |+ |V |)/Θ(|V |)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 148: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/148.jpg)
Generic algorithms [PS11]
Probleme Recurrence Temps/memoire
Score min. ms = mine=(s→t)
(w(e) +
∑u∈t
mu
)Θ(|E |+ |V |)/Θ(|V |)
#Chemins ns =∑(s→t)
∏u∈t
nu Θ(|E |+ |V |)/Θ(|V |)
Poids total ws =∑
e=(s→t)
w(e) ·∏s′∈t
ws′ Θ(|E |+ |V |)/Θ(|V |)
Supposons une distribution ponderee (Boltzmann) sur les F-paths P :
P(p) =∏e∈p
π(e)/ws0
Probleme Algorithme Temps/memoire
Gen. aleatoireCalculer ws ; En partant de s ← s0,choisir un arc s → (t1, t2, . . .) avecproba.
∏wti /ws et reiterer sur les ti .
Θ(|E |+ |V |)/Θ(|V |)
Proba. arcspe =
bt(e) ·∏
s′∈h(e) ws′
ws0
bs = (1+)∑
s′→(t1···s··· )
π(e′)bs′∏
ti
wti
Θ(|E |+ |V |+∑|h(e)|2)
Θ(|V |)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 149: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/149.jpg)
Generic algorithms [PS11]
Probleme Recurrence Temps/memoire
Score min. ms = mine=(s→t)
(w(e) +
∑u∈t
mu
)Θ(|E |+ |V |)/Θ(|V |)
#Chemins ns =∑(s→t)
∏u∈t
nu Θ(|E |+ |V |)/Θ(|V |)
Poids total ws =∑
e=(s→t)
w(e) ·∏s′∈t
ws′ Θ(|E |+ |V |)/Θ(|V |)
Supposons une distribution ponderee (Boltzmann) sur les F-paths P :
P(p) =∏e∈p
π(e)/ws0
Probleme Algorithme Temps/memoire
Gen. aleatoireCalculer ws ; En partant de s ← s0,choisir un arc s → (t1, t2, . . .) avecproba.
∏wti /ws et reiterer sur les ti .
Θ(|E |+ |V |)/Θ(|V |)
Proba. arcspe =
bt(e) ·∏
s′∈h(e) ws′
ws0
bs = (1+)∑
s′→(t1···s··· )
π(e′)bs′∏
ti
wti
Θ(|E |+ |V |+∑|h(e)|2)
Θ(|V |)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 150: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/150.jpg)
Algorithme Inside/outside [Bak79]
s0
s∗
t∗1 t∗2
F-chemins empruntant e∗ = (s∗ → t∗) :
I Inside : |t∗|-uplet issu de t∗
I Arc distingue e∗
I Outside : Contexte ou e∗ apparaıt :I Chemin p = (s0, s1, . . . , s∗)
empruntant F-arcs (e1, . . . , ek )
I Pour chaque sommet s ∈ h(ei ),s /∈ p, completer le F-chemin enconsiderant les cousins de s.
Decomposition
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 151: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/151.jpg)
Algorithme Inside/outside [Bak79]
s0
s∗
t∗1 t∗2
F-chemins empruntant e∗ = (s∗ → t∗) :
I Inside : |t∗|-uplet issu de t∗
I Arc distingue e∗
I Outside : Contexte ou e∗ apparaıt :I Chemin p = (s0, s1, . . . , s∗)
empruntant F-arcs (e1, . . . , ek )
I Pour chaque sommet s ∈ h(ei ),s /∈ p, completer le F-chemin enconsiderant les cousins de s.
Decomposition
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 152: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/152.jpg)
Algorithme Inside/outside [Bak79]
s0
s∗
t∗1 t∗2
F-chemins empruntant e∗ = (s∗ → t∗) :
I Inside : |t∗|-uplet issu de t∗
I Arc distingue e∗
I Outside : Contexte ou e∗ apparaıt :I Chemin p = (s0, s1, . . . , s∗)
empruntant F-arcs (e1, . . . , ek )
I Pour chaque sommet s ∈ h(ei ),s /∈ p, completer le F-chemin enconsiderant les cousins de s.
Decomposition
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 153: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/153.jpg)
Algorithme Inside/outside [Bak79]
s0
s∗
t∗1 t∗2
..
.. ..
F-chemins empruntant e∗ = (s∗ → t∗) :
I Inside : |t∗|-uplet issu de t∗
I Arc distingue e∗
I Outside : Contexte ou e∗ apparaıt :I Chemin p = (s0, s1, . . . , s∗)
empruntant F-arcs (e1, . . . , ek )I Pour chaque sommet s ∈ h(ei ),
s /∈ p, completer le F-chemin enconsiderant les cousins de s.
Decomposition
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 154: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/154.jpg)
Algorithme Inside/outside [Bak79]
s0
s∗
t∗1 t∗2
..
.. ..
F-chemins empruntant e∗ = (s∗ → t∗) :
I Inside : |t∗|-uplet issu de t∗
I Arc distingue e∗
I Outside : Contexte ou e∗ apparaıt :I Chemin p = (s0, s1, . . . , s∗)
empruntant F-arcs (e1, . . . , ek )I Pour chaque sommet s ∈ h(ei ),
s /∈ p, completer le F-chemin enconsiderant les cousins de s.
Decomposition
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 155: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/155.jpg)
Algorithme Inside/outside [Bak79]
s0
s∗
t∗1 t∗2
..
..
.. ..
F-chemins empruntant e∗ = (s∗ → t∗) :
I Inside : |t∗|-uplet issu de t∗
I Arc distingue e∗
I Outside : Contexte ou e∗ apparaıt :I Chemin p = (s0, s1, . . . , s∗)
empruntant F-arcs (e1, . . . , ek )I Pour chaque sommet s ∈ h(ei ),
s /∈ p, completer le F-chemin enconsiderant les cousins de s.
Decomposition
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 156: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/156.jpg)
Algorithme Inside/outside [Bak79]
s0
s∗
t∗1t∗2
F-chemins empruntant e∗ = (s∗ → t∗) :
I Inside : |t∗|-uplet issu de t∗
I Arc distingue e∗
I Outside : Contexte ou e∗ apparaıt :I Chemin p = (s0, s1, . . . , s∗)
empruntant F-arcs (e1, . . . , ek )I Pour chaque sommet s ∈ h(ei ),
s /∈ p, completer le F-chemin enconsiderant les cousins de s.
Decomposition
F-graphe acyclique independant ⇒ Decomposition complete non-ambigue
Recurrence sur la proba. totale pe∗ des F-chemins empruntant e∗ :
pe∗ =bs∗ · π(e) ·
∏s′∈t∗ ws′
ws0
bs = 1s=s0 +∑
e′=(s′→t′)∈Es. t. s∈t
π(e′) · bs′ ·∏
s′′∈t′s′′ 6=s
ws′′ , ∀s ∈ V
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 157: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/157.jpg)
Retour vers l’ARN
Soit une sequence d’ARN ω et une fonction d’energie E , supposons :I Un hypergraphe acyclique H t.q. F-chemins⇔ conformations (avec PK)I Une fonction de valuation α : F-chemin p→ energie libre Eω,s de s sur ω.
Application Algorithme Hypergraphe ParametresPrediction repliement ⇔ Score min. (H, α)
Fonction de partition ⇔ Poids total (H, e−α/RT )
Echantillonnage ⇔ Generation aleatoire (H, e−α/RT )
Proba. paires de bases ⇔ Proba Arcs (H, e−α/RT )
Message
Equations de programmation dynamique sont le produit d’une decompositioncombinatoire (⇒ Famille d’hypergraphes).
Comment concevoir la bonne famille d’hypergraphes ?A la main, mais la combinatoire peut aider . . .
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 158: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/158.jpg)
Retour vers l’ARN
Soit une sequence d’ARN ω et une fonction d’energie E , supposons :I Un hypergraphe acyclique H t.q. F-chemins⇔ conformations (avec PK)I Une fonction de valuation α : F-chemin p→ energie libre Eω,s de s sur ω.
Application Algorithme Hypergraphe ParametresPrediction repliement ⇔ Score min. (H, α)
Fonction de partition ⇔ Poids total (H, e−α/RT )
Echantillonnage ⇔ Generation aleatoire (H, e−α/RT )
Proba. paires de bases ⇔ Proba Arcs (H, e−α/RT )
Message
Equations de programmation dynamique sont le produit d’une decompositioncombinatoire (⇒ Famille d’hypergraphes).
Comment concevoir la bonne famille d’hypergraphes ?A la main, mais la combinatoire peut aider . . .
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 159: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/159.jpg)
Retour vers l’ARN
Soit une sequence d’ARN ω et une fonction d’energie E , supposons :I Un hypergraphe acyclique H t.q. F-chemins⇔ conformations (avec PK)I Une fonction de valuation α : F-chemin p→ energie libre Eω,s de s sur ω.
Application Algorithme Hypergraphe ParametresPrediction repliement ⇔ Score min. (H, α)
Fonction de partition ⇔ Poids total (H, e−α/RT )
Echantillonnage ⇔ Generation aleatoire (H, e−α/RT )
Proba. paires de bases ⇔ Proba Arcs (H, e−α/RT )
Message
Equations de programmation dynamique sont le produit d’une decompositioncombinatoire (⇒ Famille d’hypergraphes).
Comment concevoir la bonne famille d’hypergraphes ?A la main, mais la combinatoire peut aider . . .
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 160: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/160.jpg)
Exemple : Maximisation de paires de bases (Nussinov)
Decomposition :
i j=
i i+1 j+
i+1i kk-1 k+1 j
≥ 1
En tant qu’hypergraphe : Θ(n2) noeuds, Θ(n3) arcs (n = |ω|).
i,j
i+1,j
i+1,i+1
i+3,j
i+1,i+2
i+4,j
...
1,|ω|
Noeud initial
i,i-1
Noeud terminal
Eω,i,j =
{−1 Si ωi s’apparie avec ωj
+∞ Sinon
Fonction d’energie
0
Eω,i,i+2
Eω,i,i+3
0
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 161: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/161.jpg)
Exemple : Maximisation de paires de bases (Nussinov)
Decomposition :
i j=
i i+1 j+
i+1i kk-1 k+1 j
≥ 1
En tant qu’hypergraphe : Θ(n2) noeuds, Θ(n3) arcs (n = |ω|).
i,j
i+1,j
i+1,i+1
i+3,j
i+1,i+2
i+4,j
...
1,|ω|
Noeud initial
i,i-1
Noeud terminal
Eω,i,j =
{−1 Si ωi s’apparie avec ωj
+∞ Sinon
Fonction d’energie
0
Eω,i,i+2
Eω,i,i+3
0
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 162: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/162.jpg)
Exemple : Maximisation de paires de bases (Nussinov)
Decomposition :
i j=
i i+1 j+
i+1i kk-1 k+1 j
≥ 1
En tant qu’hypergraphe : Θ(n2) noeuds, Θ(n3) arcs (n = |ω|).
i,j
i+1,j
i+1,i+1
i+3,j
i+1,i+2
i+4,j
...
1,|ω|
Noeud initial
i,i-1
Noeud terminal
Eω,i,j =
{−1 Si ωi s’apparie avec ωj
+∞ Sinon
Fonction d’energie
0
Eω,i,i+2
Eω,i,i+3
0
Remarque : Avant d’appliquer les algorithmes generiques, verifier :I F-chemins⇔ Structures secondaires → Series generatricesI Poids/Scores⇔ Energie libre
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 163: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/163.jpg)
Exemple : Maximisation de paires de bases (Nussinov)
En tant qu’hypergraphe : Θ(n2) noeuds, Θ(n3) arcs (n = |ω|).
i,j
i+1,j
i+1,i+1
i+3,j
i+1,i+2
i+4,j
...
1,|ω|
Noeud initial
i,i-1
Noeud terminal
Eω,i,j =
{−1 Si ωi s’apparie avec ωj
+∞ Sinon
Fonction d’energie
0
Eω,i,i+2
Eω,i,i+3
0
Application Algorithme Valuation Temps/MemoireMinimisation d’energie Score minimal E O(n3)/O(n2)
Fonction de partition Poids total e−ERT O(n3)/O(n2)
Proba. paires de bases Proba. arcs e−ERT O(n3)/O(n2)
Echantillonnage (k str.) Gen. aleatoire e−ERT O(n3 + kn log n)/O(n2)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 164: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/164.jpg)
Faire tourner la presse a publis . . .
Message (cf ADP)
Les applications de la prog. dyn. peuvent (devraient) etre detachees desequations, et etre exprimees a un niveau abstrait (combinatoire).
Str. sec. Turner
Str. sec. Nussinov
PK Akutsu
PK Kissing Hairpins
Comptage
Minimisation d’energie libre
Function de partition
Probabilities paires de bases
. . .
Echantillonnage
Credits [PS11] :I Roytberg/Finkelstein : Prog. dyn. par hypergraphes en Bioinformatique ;I L. Hwang : Prog. dyn. algebrique par hypergraphe ;I R. Giegerich : Prog. dyn. algebrique par grammaires.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 165: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/165.jpg)
Faire tourner la presse a publis . . .
Message (cf ADP)
Les applications de la prog. dyn. peuvent (devraient) etre detachees desequations, et etre exprimees a un niveau abstrait (combinatoire).
Str. sec. Turner
Str. sec. Nussinov
PK Akutsu
PK Kissing Hairpins
Comptage
Minimisation d’energie libre
Function de partition
Probabilities paires de bases
. . .
Echantillonnage
Hypergraph
Credits [PS11] :I Roytberg/Finkelstein : Prog. dyn. par hypergraphes en Bioinformatique ;I L. Hwang : Prog. dyn. algebrique par hypergraphe ;I R. Giegerich : Prog. dyn. algebrique par grammaires.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 166: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/166.jpg)
Faire tourner la presse a publis . . .
Message (cf ADP)
Les applications de la prog. dyn. peuvent (devraient) etre detachees desequations, et etre exprimees a un niveau abstrait (combinatoire).
Str. sec. Turner
Str. sec. Nussinov
PK Akutsu
PK Kissing Hairpins
Moments de la distribution de Boltzmann
Comptage
Minimisation d’energie libre
Function de partition
Probabilities paires de bases
. . .
Echantillonnage
Hypergraph
Credits [PS11] :I Roytberg/Finkelstein : Prog. dyn. par hypergraphes en Bioinformatique ;I L. Hwang : Prog. dyn. algebrique par hypergraphe ;I R. Giegerich : Prog. dyn. algebrique par grammaires.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 167: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/167.jpg)
Resume
1 Rappels de programmation dynamique
2 Repliement par minimisation d’energieApparte thermodynamiqueModele de NussinovModele de TurnerMFold/Unafold
3 Ensemble de BoltzmannDefinitionCalcul de la fonction de partitionEchantillonnage statistique
4 Programmation dynamique : Methodes generiques
5 Algorithmique ensembliste avanceeDistribution exacteCalcul des moments
6 ConclusionAnalyse syntaxique
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 168: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/168.jpg)
Motivation
1
23
1
23
1
23
1
23
1
23
1
10
20
30
36
1
23
1
23
1
23
1
23
1
23
1
10
20
30
36
1
10
20
30
36
Constat : Grande diversite des ensembles de Boltzmann pour des sequencedifferentes, associes a des roles fonctionnels differents.
Comment extraire l’information fonctionnelle de l’ensemble de Boltzmann ?
Idee : Observer la distribution d’un parametre structurel additifI #Helices ;I #Paires de bases ;I Energie libre ;I . . .
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 169: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/169.jpg)
Distribution des paires de bases
BP = Variable aleatoire #paires de bases dans une struct. sec., compatibleavec ω, et engendree selon la distribution uniforme (resp. Boltzmann).
Probleme : Calculer la distribution de BP ∈ [0, n], c’est a dire
∀m ∈ [0, n] : P(BP = m | ω) ≡∑
S∈Sω#BP(S)=m
1|Sω|
=|{S ∈ Sω | #BP(S) = m}|
Cmi,j
|Sω|
Solution naıve : Adaptee du comptage
→ Temps : Θ(n5), Memoire : Θ(n3)
i j=
i i+1 j+
i+1i kk-1 k+1 j
m m m′ m −m′ − 1
Ci,t = 1,
1m=0,
∀t ∈ [i , i + θ]
Ci,j =∑
Ci+1,j (i non apparie)j∑
k=i+θ+1
m−1∑m′=0
1×Ci+1,k−1×C
m−m′−1
k+1,j (i comp. avec k )
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 170: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/170.jpg)
Distribution des paires de bases
BP = Variable aleatoire #paires de bases dans une struct. sec., compatibleavec ω, et engendree selon la distribution uniforme (resp. Boltzmann).
Probleme : Calculer la distribution de BP ∈ [0, n], c’est a dire
∀m ∈ [0, n] : P(BP = m | ω) ≡∑
S∈Sω#BP(S)=m
1|Sω|
=|{S ∈ Sω | #BP(S) = m}|
Cmi,j
|Sω|
Solution naıve : Adaptee du comptage → Temps : Θ(n5), Memoire : Θ(n3)
i j=
i i+1 j+
i+1i kk-1 k+1 j
m m m′ m −m′ − 1
Cmi,t = 1m=0, ∀t ∈ [i , i + θ]
Cmi,j =
∑Cm
i+1,j (i non apparie)j∑
k=i+θ+1
m−1∑m′=0
1×Cm′i+1,k−1×Cm−m′−1
k+1,j (i comp. avec k )
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 171: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/171.jpg)
Distribution des paires de bases
BP = Variable aleatoire #paires de bases dans une struct. sec., compatibleavec ω, et engendree selon la distribution uniforme (resp. Boltzmann).
Probleme : Calculer la distribution de BP ∈ [0, n], c’est a dire
∀m ∈ [0, n] : P(BP = m | ω) ≡∑
S∈Sω#BP(S)=m
1|Sω|
=|{S ∈ Sω | #BP(S) = m}|
Cmi,j
|Sω|
Solution naıve : Adaptee du comptage → Temps : Θ(n5), Memoire : Θ(n3)
Par interpolation [WP11] :
→ Temps : Θ(n4), Memoire : Θ(n2)
I Considerer les polynomes Ci,j (z) =∑n
m=0 Cmi,j · zm
I Evaluation possible en Θ(n3)/Θ(n2) pour z ∈ R+ donne, via :
Ci,j (z) =∑
Ci+1,j (z) (i non apparie)j∑
k=i+θ+1
z · Ci+1,k−1(z) · Ck+1,j (z) (i comp. avec k )
I Evaluer le polynome C1,n(z) en n + 1 valeurs distinctes (z1, z2, · · · , zn+1)
I Interpoler les coeff. de C1,n(z)→ Cmi,j → FFT [SSD+12] : Θ(n log(n))
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 172: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/172.jpg)
Distribution des paires de bases
BP = Variable aleatoire #paires de bases dans une struct. sec., compatibleavec ω, et engendree selon la distribution uniforme (resp. Boltzmann).
Probleme : Calculer la distribution de BP ∈ [0, n], c’est a dire
∀m ∈ [0, n] : P(BP = m | ω) ≡∑
S∈Sω#BP(S)=m
1|Sω|
=|{S ∈ Sω | #BP(S) = m}|
Cmi,j
|Sω|
Solution naıve : Adaptee du comptage → Temps : Θ(n5), Memoire : Θ(n3)
Par interpolation [WP11] : → Temps : Θ(n4), Memoire : Θ(n2)
I Considerer les polynomes Ci,j (z) =∑n
m=0 Cmi,j · zm
I Evaluation possible en Θ(n3)/Θ(n2) pour z ∈ R+ donne, via :
Ci,j (z) =∑
Ci+1,j (z) (i non apparie)j∑
k=i+θ+1
z · Ci+1,k−1(z) · Ck+1,j (z) (i comp. avec k )
I Evaluer le polynome C1,n(z) en n + 1 valeurs distinctes (z1, z2, · · · , zn+1)
I Interpoler les coeff. de C1,n(z)→ Cmi,j → FFT [SSD+12] : Θ(n log(n))
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 173: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/173.jpg)
Motivation
1
23
1
23
1
23
1
23
1
23
1
10
20
30
36
1
23
1
23
1
23
1
23
1
23
1
10
20
30
36
1
10
20
30
36
Constat : Grande diversite des ensembles de Boltzmann pour des sequencedifferentes, associes a des roles fonctionnels differents.
Comment extraire l’information fonctionnelle de l’ensemble de Boltzmann ?
Idee : Observer la distribution d’un parametre structurel additif
Mais : Calcul exact couteux + Moyenne, ecart-type . . . suffisent souvent. . . Comment calculer efficacement les moments de la distribution ?
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 174: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/174.jpg)
Extraction des moments
Probleme : Etant donne un ARN ω calculer le 1er, . . . , pieme moment de BP :
E(BPp | ω) =∑
S∈Sω
pS ·#BP(S)p =
∑S∈Sω #BP(S)p
•C i,j
|Sω|
Pourquoi ?I 1er moment : Nombre moyen de paires de bases µ := E(BP)
I 2eme moment : Permet calcul de variance/ecart-typeσ =
∑S∈Sω
pS · (#BP(S)−µ)2 =∑
S∈Sω
pS ·#BP(S)2−2 ·∑
S∈Sω
pS ·#BP(S) ·µ+µ2 = E(BP2)−µ2
Idee [PS11] : Transformer/dupliquer la decomposition de facon a engendrertoute struct. sec. avec multiplicite egale a son nombre de paires de bases.
⇒
••
•
•
Compter dans cette decomposition
⇔ Calculer•C i,j
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 175: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/175.jpg)
Extraction des moments
Probleme : Etant donne un ARN ω calculer le 1er, . . . , pieme moment de BP :
E(BPp | ω) =∑
S∈Sω
pS ·#BP(S)p =
∑S∈Sω #BP(S)p
•C i,j
|Sω|Pourquoi ?
I 1er moment : Nombre moyen de paires de bases µ := E(BP)
I 2eme moment : Permet calcul de variance/ecart-typeσ =
∑S∈Sω
pS · (#BP(S)−µ)2 =∑
S∈Sω
pS ·#BP(S)2−2 ·∑
S∈Sω
pS ·#BP(S) ·µ+µ2 = E(BP2)−µ2
Idee [PS11] : Transformer/dupliquer la decomposition de facon a engendrertoute struct. sec. avec multiplicite egale a son nombre de paires de bases.
⇒
••
•
•
Compter dans cette decomposition
⇔ Calculer•C i,j
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 176: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/176.jpg)
Extraction des moments
Probleme : Etant donne un ARN ω calculer le 1er, . . . , pieme moment de BP :
E(BPp | ω) =∑
S∈Sω
pS ·#BP(S)p =
∑S∈Sω #BP(S)p
•C i,j
|Sω|Pourquoi ?
I 1er moment : Nombre moyen de paires de bases µ := E(BP)
I 2eme moment : Permet calcul de variance/ecart-typeσ =
∑S∈Sω
pS · (#BP(S)−µ)2 =∑
S∈Sω
pS ·#BP(S)2−2 ·∑
S∈Sω
pS ·#BP(S) ·µ+µ2 = E(BP2)−µ2
Idee [PS11] : Transformer/dupliquer la decomposition de facon a engendrertoute struct. sec. avec multiplicite egale a son nombre de paires de bases.
⇒
••
•
•
Compter dans cette decomposition
⇔ Calculer•C i,j
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 177: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/177.jpg)
En pratique
Calcul du premier moment → Temps : Θ(n3), Memoire : Θ(n2)
C=
C+
C C
=•C
•C
+ •C C
+C
•C
+C C
•
Equation de prog. dyn. :
•C i,j =
•C i+1,j +
j∑k∈i+θ+1
•C i+1,k−1 ·
•Ck+1,j
+Ci+1,k−1 ·•Ck+1,j
+•C i+1,k−1 · Ck+1,j
Exercice : Deuxieme moment ?
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 178: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/178.jpg)
En pratique
Calcul du premier moment → Temps : Θ(n3), Memoire : Θ(n2)
Calcul du deuxieme moment → Temps : Θ(n3), Memoire : Θ(n2)
=•◦C
•◦C
+ •◦C C
+C
•◦C
+ •C
◦C
+ ◦C
•C
+C
•C
+ •C C
+ ◦C C
+C
◦C
+C C
Ordres superieurs : Meme complexite, mais les constantes explosent !
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 179: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/179.jpg)
Des optimisations generiques
Ces principes se generalisent sans difficulte :I Distribution de Boltzmann (+ Facteur B ; fonc. part. Z au denom.) ;
I Toute valuation additive (Attention au #Vals distinctes en distr. exacte) ;I Distributions jointes sur plusieurs parametres (e.g. #Paires vs #Helices) ;I Tout schema non-ambigu de programmation dynamique.
Ex. : Analyser la diversite des solutions quasi-optimales en optimisation.
Moments generaux : E(αm11 α
m22 · · ·α
mkk ) =
∑p∈Ps
π(p)ws
∏ki=1 αi (p)mi = cm
s /ws
Theoreme (Recurrence de calcul des cms [PS11])
cms =
∑e=(s→t)
π(e) ·∑
m′,(
m′′1 ,··· ,m′′|t|
)s. t. m′+
∑j m′′j =m
k∏i=1
(mi
m′i ,m′′1,i , · · · ,m′′|t|,i
)· αi (e)m′i ·
|t|∏i=1
cm′′iti
Temps : O(
(|E |+ |V |) · k · t+ ·∏k
i=1 mt++1i
)(t+ = degre sortant max)
Memoire : Θ(|V | ·
∏ki=1 mi
)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 180: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/180.jpg)
Des optimisations generiques
Ces principes se generalisent sans difficulte :I Distribution de Boltzmann (+ Facteur B ; fonc. part. Z au denom.) ;I Toute valuation additive (Attention au #Vals distinctes en distr. exacte) ;
I Distributions jointes sur plusieurs parametres (e.g. #Paires vs #Helices) ;I Tout schema non-ambigu de programmation dynamique.
Ex. : Analyser la diversite des solutions quasi-optimales en optimisation.
Moments generaux : E(αm11 α
m22 · · ·α
mkk ) =
∑p∈Ps
π(p)ws
∏ki=1 αi (p)mi = cm
s /ws
Theoreme (Recurrence de calcul des cms [PS11])
cms =
∑e=(s→t)
π(e) ·∑
m′,(
m′′1 ,··· ,m′′|t|
)s. t. m′+
∑j m′′j =m
k∏i=1
(mi
m′i ,m′′1,i , · · · ,m′′|t|,i
)· αi (e)m′i ·
|t|∏i=1
cm′′iti
Temps : O(
(|E |+ |V |) · k · t+ ·∏k
i=1 mt++1i
)(t+ = degre sortant max)
Memoire : Θ(|V | ·
∏ki=1 mi
)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 181: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/181.jpg)
Des optimisations generiques
Ces principes se generalisent sans difficulte :I Distribution de Boltzmann (+ Facteur B ; fonc. part. Z au denom.) ;I Toute valuation additive (Attention au #Vals distinctes en distr. exacte) ;I Distributions jointes sur plusieurs parametres (e.g. #Paires vs #Helices) ;
I Tout schema non-ambigu de programmation dynamique.Ex. : Analyser la diversite des solutions quasi-optimales en optimisation.
Moments generaux : E(αm11 α
m22 · · ·α
mkk ) =
∑p∈Ps
π(p)ws
∏ki=1 αi (p)mi = cm
s /ws
Theoreme (Recurrence de calcul des cms [PS11])
cms =
∑e=(s→t)
π(e) ·∑
m′,(
m′′1 ,··· ,m′′|t|
)s. t. m′+
∑j m′′j =m
k∏i=1
(mi
m′i ,m′′1,i , · · · ,m′′|t|,i
)· αi (e)m′i ·
|t|∏i=1
cm′′iti
Temps : O(
(|E |+ |V |) · k · t+ ·∏k
i=1 mt++1i
)(t+ = degre sortant max)
Memoire : Θ(|V | ·
∏ki=1 mi
)
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 182: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/182.jpg)
Des optimisations generiques
Ces principes se generalisent sans difficulte :I Distribution de Boltzmann (+ Facteur B ; fonc. part. Z au denom.) ;I Toute valuation additive (Attention au #Vals distinctes en distr. exacte) ;I Distributions jointes sur plusieurs parametres (e.g. #Paires vs #Helices) ;I Tout schema non-ambigu de programmation dynamique.
Ex. : Analyser la diversite des solutions quasi-optimales en optimisation.
Moments generaux : E(αm11 α
m22 · · ·α
mkk ) =
∑p∈Ps
π(p)ws
∏ki=1 αi (p)mi = cm
s /ws
Theoreme (Recurrence de calcul des cms [PS11])
cms =
∑e=(s→t)
π(e) ·∑
m′,(
m′′1 ,··· ,m′′|t|
)s. t. m′+
∑j m′′j =m
k∏i=1
(mi
m′i ,m′′1,i , · · · ,m′′|t|,i
)· αi (e)m′i ·
|t|∏i=1
cm′′iti
Temps : O(
(|E |+ |V |) · k · t+ ·∏k
i=1 mt++1i
)(t+ = degre sortant max)
Memoire : Θ(|V | ·
∏ki=1 mi
)Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 183: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/183.jpg)
Decomposition Mfold/Unafold (modele de Turner) [PS11]
Application Algorithm Weight fun. Time/Space Ref.
Energy minimization Minimal weight πT O(n3(4))/O(n2) [ZS81]
Partition function Weighted count e−πT
RT O(n3(4))/O(n2) [McC90]
Base-pairing probabilities Arc-traversal prob. e−πT
RT O(n3(4))/O(n2) [McC90]
Statistical sampling (k -samples) Random gen. e−πT
RT O(n3(4) + kn log n)/O(n2) [DL03, Pon08]
Moments of energy (Mean, Var.) Moments extraction e−πT
RT O(n3(4))/O(n2) [MMN05]
m-th moment of additive features Moments extraction e−πT
RT O(m3 · n3(4))/O(m · n2) –
Correlations of additive features Moments extraction e−πT
RT O(n3(4))/O(n2) –
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 184: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/184.jpg)
Conclusion
I L’algorithmique du repliement des ARN souleve des problemes a lafrontiere entre combinatoire et optimisation
I La programmation dynamique y regne sans partage, et suscite desdeveloppements generiques et transposables
I Au coeur de la demarche de conception en prog. dyn., l’objet crucial estla decomposition, et l’equation de recurrence n’est qu’un produit derive
I Encore des problemes difficiles/ouverts, a la lisiere de la prog. dyn. :Prediction avec pseudonoeuds, Design d’ARN, Cinetique des ARN
I Nombreuses hypotheses testables sur la relation structure/fonction,et au dela de l’ARN : Reconciliations, alignement, sac-a-dos . . .(mais jamais rarement plus de 24h dans une journee)
Merci de votre attention ! 2
2.
Reveillez vous ! Tous a la plage !
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 185: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/185.jpg)
Conclusion
I L’algorithmique du repliement des ARN souleve des problemes a lafrontiere entre combinatoire et optimisation
I La programmation dynamique y regne sans partage, et suscite desdeveloppements generiques et transposables
I Au coeur de la demarche de conception en prog. dyn., l’objet crucial estla decomposition, et l’equation de recurrence n’est qu’un produit derive
I Encore des problemes difficiles/ouverts, a la lisiere de la prog. dyn. :Prediction avec pseudonoeuds, Design d’ARN, Cinetique des ARN
I Nombreuses hypotheses testables sur la relation structure/fonction,et au dela de l’ARN : Reconciliations, alignement, sac-a-dos . . .(mais jamais rarement plus de 24h dans une journee)
Merci de votre attention ! 2
2.
Reveillez vous ! Tous a la plage !
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 186: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/186.jpg)
Conclusion
I L’algorithmique du repliement des ARN souleve des problemes a lafrontiere entre combinatoire et optimisation
I La programmation dynamique y regne sans partage, et suscite desdeveloppements generiques et transposables
I Au coeur de la demarche de conception en prog. dyn., l’objet crucial estla decomposition, et l’equation de recurrence n’est qu’un produit derive
I Encore des problemes difficiles/ouverts, a la lisiere de la prog. dyn. :Prediction avec pseudonoeuds, Design d’ARN, Cinetique des ARN
I Nombreuses hypotheses testables sur la relation structure/fonction,et au dela de l’ARN : Reconciliations, alignement, sac-a-dos . . .(mais jamais rarement plus de 24h dans une journee)
Merci de votre attention ! 2
2.
Reveillez vous ! Tous a la plage !
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 187: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/187.jpg)
Conclusion
I L’algorithmique du repliement des ARN souleve des problemes a lafrontiere entre combinatoire et optimisation
I La programmation dynamique y regne sans partage, et suscite desdeveloppements generiques et transposables
I Au coeur de la demarche de conception en prog. dyn., l’objet crucial estla decomposition, et l’equation de recurrence n’est qu’un produit derive
I Encore des problemes difficiles/ouverts, a la lisiere de la prog. dyn. :Prediction avec pseudonoeuds, Design d’ARN, Cinetique des ARN
I Nombreuses hypotheses testables sur la relation structure/fonction,et au dela de l’ARN : Reconciliations, alignement, sac-a-dos . . .(mais jamais rarement plus de 24h dans une journee)
Merci de votre attention ! 2
2.
Reveillez vous ! Tous a la plage !
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 188: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/188.jpg)
Conclusion
I L’algorithmique du repliement des ARN souleve des problemes a lafrontiere entre combinatoire et optimisation
I La programmation dynamique y regne sans partage, et suscite desdeveloppements generiques et transposables
I Au coeur de la demarche de conception en prog. dyn., l’objet crucial estla decomposition, et l’equation de recurrence n’est qu’un produit derive
I Encore des problemes difficiles/ouverts, a la lisiere de la prog. dyn. :Prediction avec pseudonoeuds, Design d’ARN, Cinetique des ARN
I Nombreuses hypotheses testables sur la relation structure/fonction,et au dela de l’ARN : Reconciliations, alignement, sac-a-dos . . .(mais jamais rarement plus de 24h dans une journee)
Merci de votre attention ! 2
2.
Reveillez vous ! Tous a la plage !
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 189: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/189.jpg)
Conclusion
I L’algorithmique du repliement des ARN souleve des problemes a lafrontiere entre combinatoire et optimisation
I La programmation dynamique y regne sans partage, et suscite desdeveloppements generiques et transposables
I Au coeur de la demarche de conception en prog. dyn., l’objet crucial estla decomposition, et l’equation de recurrence n’est qu’un produit derive
I Encore des problemes difficiles/ouverts, a la lisiere de la prog. dyn. :Prediction avec pseudonoeuds, Design d’ARN, Cinetique des ARN
I Nombreuses hypotheses testables sur la relation structure/fonction,et au dela de l’ARN : Reconciliations, alignement, sac-a-dos . . .(mais jamais rarement plus de 24h dans une journee)
Merci de votre attention ! 2
2. Reveillez vous ! Tous a la plage !Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 190: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/190.jpg)
References I
J. K. Baker.
Trainable grammars for speech recognition.The Journal of the Acoustical Society of America, 65(S1) :S132–S132, 1979.
Y. Ding, C. Y. Chan, and C. E. Lawrence.
RNA secondary structure prediction by centroids in a boltzmann weighted ensemble.RNA, 11 :1157–1166, 2005.
Y. Ding and E. Lawrence.
A statistical sampling algorithm for RNA secondary structure prediction.Nucleic Acids Research, 31(24) :7280–7301, 2003.
Alain Denise, Yann Ponty, and Michel Termier.
Controlled non-uniform random generation of decomposable structures.Theoretical Computer Science, 411(40) :3527–3552, 2010.
A. V. Finkelstein and M. A. Roytberg.
Computation of biopolymers : a general approach to different problems.Biosystems, 30(1-3) :1–19, 1993.
J.S. McCaskill.
The equilibrium partition function and base pair binding probabilities for RNA secondary structure.Biopolymers, 29 :1105–1119, 1990.
Istvan Miklos, Irmtraud M Meyer, and Borbala Nagy.
Moments of the boltzmann distribution for rna secondary structures.Bull Math Biol, 67(5) :1031–1047, Sep 2005.
Jan Manuch, Chris Thachuk, Ladislav Stacho, and Anne Condon.
Np-completeness of the direct energy barrier problem without pseudoknots.Natural Computing : an international journal, 10 :391–405, 2011.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 191: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/191.jpg)
References II
Nicholas R Markham and Michael Zuker.
Unafold : software for nucleic acid folding and hybridization.Methods Mol Biol, 453 :3–31, 2008.
R. Nussinov and A. B. Jacobson.
Fast algorithm for predicting the secondary structure of single stranded RNA.Proc. Natl. Acad. Sci. U. S. A., 77(11) :6309–6313, 1980.
S.B. Needleman and C.D. Wunsch.
A general method applicable to the search for similarities in the amino acid sequence of two proteins.J. Mol. Bio., 48 :443–453, 1970.
Y. Ponty.
Efficient sampling of RNA secondary structures from the boltzmann ensemble of low-energy : The boustrophedon method.J Math Biol, 56(1-2) :107–127, Jan 2008.
Yann Ponty and Cedric Saule.
A combinatorial framework for designing (pseudoknotted) rna algorithms.In TeresaM. Przytycka and Marie-France Sagot, editors, Algorithms in Bioinformatics, volume 6833 of Lecture Notes in ComputerScience, pages 250–269. Springer Berlin Heidelberg, 2011.
Georg Sauthoff, Mathias Mohl, Stefan Janssen, and Robert Giegerich.
Bellman’s gap—a language and compiler for dynamic programming in sequence analysis.Bioinformatics, 29(5) :551–560, 2013.
Evan Senter, Saad Sheikh, Ivan Dotu, Yann Ponty, and Peter Clote.
Using the fast fourier transform to accelerate the computational search for rna conformational switches.PLoS ONE, 7(12) :e50506, 12 2012.
Lioudmila V Sharova, Alexei A Sharov, Timur Nedorezov, Yulan Piao, Nabeebi Shaik, and Minoru S H Ko.
Database for mrna half-life of 19 977 genes obtained by dna microarray analysis of pluripotent and differentiating mouse embryonicstem cells.DNA Res, 16(1) :45–58, Feb 2009.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 192: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/192.jpg)
References III
T. F. Smith and M. S. Waterman.
Identification of common molecular subsequences.J Mol Biol, 147 :195–197, 1981.
M. S. Waterman.
Secondary structure of single stranded nucleic acids.Advances in Mathematics Supplementary Studies, 1(1) :167–212, 1978.
Jerome Waldispuhl and Yann Ponty.
An unbiased adaptive sampling algorithm for the exploration of rna mutational landscapes under evolutionary pressure.Journal of Computational Biology, 18(11) :1465–1479, 2011.
M. Zuker and P. Stiegler.
Optimal computer folding of large RNA sequences using thermodynamics and auxiliary information.Nucleic Acids Res, 9 :133–148, 1981.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 193: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/193.jpg)
Contenu indicible
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 194: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/194.jpg)
Deux grandes familles de formalismes
I Approches analyse syntaxique (parsing) :Modele : Grammaire non-contextuelleEspace de recherche = Arbres de syntaxe abstraite (parse trees).
I Approche Hypergraphe :Espace de recherche = (hyper-)chemins d’un hypergraphe.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 195: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/195.jpg)
Deux grandes familles de formalismes
I Approches analyse syntaxique (parsing) :Modele : Grammaire non-contextuelleEspace de recherche = Arbres de syntaxe abstraite (parse trees).
Exemple 1 (Caravane d’El Mamoun) :Grammaire = {S → S + S | S × S | 1}Quelle(s) valeur(s) pour une expression arithmetique sans pa-renthesage :
1 + 1× 1 + 1 + 1 = ?
En general : Se demander comment parentheser l’expression de facona min (resp.max)-imiser la valeur de l’expression est un problemed’analyse syntaxique (pondere).
I Approche Hypergraphe :Espace de recherche = (hyper-)chemins d’un hypergraphe.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 196: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/196.jpg)
Deux grandes familles de formalismes×
+
1 1
+
1 +
1 1I Approches analyse syntaxique (parsing) :
Modele : Grammaire non-contextuelleEspace de recherche = Arbres de syntaxe abstraite (parse trees).
Exemple 1 (Caravane d’El Mamoun) :Grammaire = {S → S + S | S × S | 1}Quelle(s) valeur(s) pour une expression arithmetique sans pa-renthesage :
1 + 1× 1 + 1 + 1 = = (1 + 1)× (1 + (1 + 1)) = 6 ?
En general : Se demander comment parentheser l’expression de facona min (resp.max)-imiser la valeur de l’expression est un problemed’analyse syntaxique (pondere).
I Approche Hypergraphe :Espace de recherche = (hyper-)chemins d’un hypergraphe.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 197: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/197.jpg)
Deux grandes familles de formalismes+
1 ×1 +
+
1 1
1I Approches analyse syntaxique (parsing) :
Modele : Grammaire non-contextuelleEspace de recherche = Arbres de syntaxe abstraite (parse trees).
Exemple 1 (Caravane d’El Mamoun) :Grammaire = {S → S + S | S × S | 1}Quelle(s) valeur(s) pour une expression arithmetique sans pa-renthesage :
1 + 1× 1 + 1 + 1 = = 1 + (1× ((1 + 1) + 1)) = 4 ?
En general : Se demander comment parentheser l’expression de facona min (resp.max)-imiser la valeur de l’expression est un problemed’analyse syntaxique (pondere).
I Approche Hypergraphe :Espace de recherche = (hyper-)chemins d’un hypergraphe.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 198: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/198.jpg)
Deux grandes familles de formalismes+
+
+
1 ×1 1
1
1
I Approches analyse syntaxique (parsing) :Modele : Grammaire non-contextuelleEspace de recherche = Arbres de syntaxe abstraite (parse trees).
Exemple 1 (Caravane d’El Mamoun) :Grammaire = {S → S + S | S × S | 1}Quelle(s) valeur(s) pour une expression arithmetique sans pa-renthesage :
1 + 1× 1 + 1 + 1 = = ((1 + (1× 1)) + 1) + 1 = 4 ?En general : Se demander comment parentheser l’expression de facona min (resp.max)-imiser la valeur de l’expression est un problemed’analyse syntaxique (pondere).
I Approche Hypergraphe :Espace de recherche = (hyper-)chemins d’un hypergraphe.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 199: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/199.jpg)
Deux grandes familles de formalismes
I Approches analyse syntaxique (parsing) :Modele : Grammaire non-contextuelleEspace de recherche = Arbres de syntaxe abstraite (parse trees).Exemple 2 (ARN) :
R → A R U R | U R A R | G R C R | C R G R | G R U R | U R G R (Regles p)
| A R | C R | G R | U R | ε (Regles s)
Arbres de syntaxe abstraite pour CAGU :
p
C s
A ε
G s
U ε
s
C p
A s
G ε
U ε
s
C s
A p
G ε U ε
s
C s
A s
G s
U ε
(.). .(.) ..() ....
CAGU CAGU CAGU CAGU
I Approche Hypergraphe :Espace de recherche = (hyper-)chemins d’un hypergraphe.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 200: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/200.jpg)
Deux grandes familles de formalismes
I Approches analyse syntaxique (parsing) :Modele : Grammaire non-contextuelleEspace de recherche = Arbres de syntaxe abstraite (parse trees).Exemple 2 (ARN) :
R → A R U R | U R A R | G R C R | C R G R | G R U R | U R G R (Regles p)
| A R | C R | G R | U R | ε (Regles s)
+ Ponderation des regles (Ex : 1/0 pour p/s)⇒ Repliement a la Nussinov = Parsing pondere sans equation expli-cite !
Interet :I Algorithmique generique en O(n3)I Pas de manipulation des indices⇒ moins d’erreurs . . .I Grammaires plus modulaires : Robustesse au changement de modeleI Separation assez naturelle espace de recherche/score d’evaluationI Extensions possibles a certaines grammaires faiblement contextuelles
(surcout algorithmique)
Inconvenients :I Apprendre le formalismeI Performances : Pertes de constantes d’implementation, voir d’ordre de
grandeur algorithmique pour structures plus complexesI Problemes d’ambiguites semantique deja complexes a definir
I Approche Hypergraphe :Espace de recherche = (hyper-)chemins d’un hypergraphe.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 201: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/201.jpg)
Deux grandes familles de formalismes
I Approches analyse syntaxique (parsing) :Modele : Grammaire non-contextuelleEspace de recherche = Arbres de syntaxe abstraite (parse trees).Exemple 2 (ARN) :
R → A R U R | U R A R | G R C R | C R G R | G R U R | U R G R (Regles p)
| A R | C R | G R | U R | ε (Regles s)
+ Ponderation des regles (Ex : 1/0 pour p/s)⇒ Repliement a la Nussinov = Parsing pondere sans equation expli-cite !
Interet :I Algorithmique generique en O(n3)I Pas de manipulation des indices⇒ moins d’erreurs . . .I Grammaires plus modulaires : Robustesse au changement de modeleI Separation assez naturelle espace de recherche/score d’evaluationI Extensions possibles a certaines grammaires faiblement contextuelles
(surcout algorithmique)Inconvenients :
I Apprendre le formalismeI Performances : Pertes de constantes d’implementation, voir d’ordre de
grandeur algorithmique pour structures plus complexesI Problemes d’ambiguites semantique deja complexes a definir
I Approche Hypergraphe :Espace de recherche = (hyper-)chemins d’un hypergraphe.
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 202: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/202.jpg)
Deux implementations de l’analyses syntaxique generique
[Credit : J. Waldispuhl]
I Grammaires (multibandes) attribuees (Lefebvre, Waldispuhl et al)Calculer/minimiser un score sur un systeme d’attribut.Avantages : Pseudonoeuds simples peuvent etre explores grace a desgrammaires multibandes en synchronisant les analyses syntaxiques .Inconvenient : Induction de surcout algorithmique substantiel pour certainesfamilles legerement contextuelles (ex : Repliement avec pseudonoeuds).
http://people.csail.mit.edu/jw/software.php
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique
![Page 203: Combinatoire et algorithmique de l'ARN - Partie 2 - …ponty/enseignement/2014-05... · 2014. 5. 14. · Resum´ e´ 1 Rappels de programmation dynamique 2 Repliement par minimisation](https://reader034.vdocuments.mx/reader034/viewer/2022052019/6033747a6b2a480deb4a6d79/html5/thumbnails/203.jpg)
Deux implementations de l’analyses syntaxique generique
Grammaire d’analyse (yield grammar) :
>nussinov78 alg inp = axiom s where> (nil,left,right,pair,split,h) = alg> s = tabulated (> nil <<< empty |||> left <<< base -~~ s |||> right <<< s ~~- base |||> (pair <<< base -~~ s ~~- base)> ‘with‘ basepairing |||> split <<< s +~+ s ... h)
Algebre d’evaluation (base-pair algebra) :
>pairmax :: Nussinov_Algebra Char Int>pairmax = (nil,left,right,pair,
split,h) where> nil _ = 0> left _ x = x> right x _ = x> pair _ x _ = x + 1> split x y = x + y> h xs = [maximum xs]
I Programmation dynamique algebrique (ADP, Giegerich et al)Avantages :
I Applications plus generale grace a une separation de grammairesrespectivement consacrees a l’analyse syntaxique et a l’evaluation.
I Cadre formel et implementation in-extenso (> 20 publis, dont 3 theses).Inconvenient :
I Notations cryptiques, implementation liee fortement au langage Haskell.I Pseudonoeuds : Formalisme doit etre hacke, perdant une partie des
benefice de l’approche generique.I Structure combinatoire disparaıt derriere des notations (trop ?) abstraites.⇒ Gros problemes d’ambiguite, impossible a traiter de facon purementautomatisee (Problemes indecidables).
http://bibiserv.techfak.uni-bielefeld.de/adp/
Yann Ponty EPIT’14 - ARN Partie 2 - Programmation Dynamique