combinatoire et algorithmique de l'arn - partie 2 - …ponty/enseignement/2014-05... · 2014....

203
Combinatoire et algorithmique de l’ARN - Partie 2 Programmation dynamique Alain Denise Yann Ponty CNRS/LIX, ´ Ecole Polytechnique AMIB, Inria Saclay PIMS Vancouver Simon 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

Upload: others

Post on 07-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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