Post on 25-Jul-2020
07/02/2011
1
Un aperçu de la
comparaison de structures
d’ARN
Alain Denise
Cours ABA 2010-2011
M2 Bioinformatique et Biostatistiques
« Bio-Algorithmique » de l’ARN
• Prédiction de structure en fonction de la séquence
• Détermination d’une séquence en fonction de la structure
• Détection de motifs structurels dans une séquence ou dans une structure
• Comparaison de deux ou plusieurs structures
• Recherche de sous-structures communes à deux ou plusieurs structures
Préliminaire :
- distance d’ édition de deux
séquences
- programmation dynamique
Distance d’édition de 2 séquences
Deux séquences v = v1v2…vn et w = w1w2…wm
Opérations d’édition :
• ins(x,i)
• suppr(x,i)
• subs(x,y,i)
CHAT - suppr(C,1) HAT - subs(H,R,1) RAT
• Chaque modification a un poids, dépendant de
l’opération et des lettres en cause.
• Distance d’édition entre v et w : poids minimal
d’une suite d’opérations permettant de transformer v
en w.
CHAT - suppr(C,1) HAT - subs(H,R,1) RAT
Distance d’édition de 2 séquencesv = v1v2…vn w = w1w2…wm
s(x,y) : score de substitution de x en y
s(x,-) : score de suppression de x
s(-,y) : score d’insertion de y
D(v,w) : distance d’édition de v et w
Needleman, Wunsch 1970, Gotoh 1982
D(v1…vi,w1…wj) = Min {
D(v1…vi-1,w1…wj-1) + s(vi,wj)
D(v1…vi-1,w1…wj) + s(vi,-)
D(v1…vi,w1…wj-1) + s(-,wj)
}
Distance d’édition de 2 séquences
07/02/2011
2
v1 v2 … … … vn
w1 …
w2 …
… … … … … … …
… … … … … … …
wm …
v1 v2 … … … vn
w1 …
w2 …
… … … … … … …
… … … … … … …
wm …
s(v2,w1)
s(v2,-)
s(-,w1)
D(v1…vi,w1…wj) = Min {
D(v1…vi-1,w1…wj-1) + s(vi,wj)
D(v1…vi-1,w1…wj) + s(vi,-)
D(v1…vi,w1…wj-1) + s(-,wj)
}
vivi-1v1
wjs(vi,wj) s(vi,-)
s(-,wj)
wj-1
w1 s(v1,w1) s(v1,-)
s(-,w1)
…
…
…
Comparaison de structures
d’ARN
07/02/2011 Projet Brasero - ANR Blanc 2006 11
•A quel point ces structures sont-elles
similaires (ou différentes ?)
classification
phylogénie
• Quelles parties des deux structures
se ressemblent le plus ?
• La petite est-elle similaire à une
partie de la grande ?
Comparaison score + correspondance entre les structures
Pourquoi comparer des ARN ?
07/02/2011 Projet Brasero - ANR Blanc 2006 12
Comparer les séquences ne suffit pas
07/02/2011
3
Séquences arc-annotées Séquences arc-annotées
Séquences arc-annotées Séquences arc-annotées
Opérations d’édition
• Opérations on bases:
– Substitution: A C
– Deletion / Insertion: A
• Operations on arcs:
– Arc-substitution: C G U A
– Arc-deletion / Arc-insertion: C G
– Arc-breaking / : C G C G
– Arc-altering / : C G C -
Une édition de deux structures
07/02/2011
4
General Crossing Nested Plain
General NP-complete
Crossing NP-complete
NestedNP-
completeO(nm3)
PlainO(nm /
logn)
• Jiang, Lin, Ma, Zhang 2002
• Blin, Fertin, Rusu, Sinoquet 2003
• Crochemore, Landau, Ziv-Ukelson 2002
Complexity of the edition problemThe « nested-nested » case
Secondary structures (without pseudokots)
Tree comparison
Structure 2aire arbre Structure 2aire arbre
Structure 2aire arbre Structure 2aire arbre
07/02/2011
5
Structure 2aire arbre Structure 2aire arbre
Structure 2aire arbre Structure 2aire arbre
Structure 2aire arbreDifférentes échelles de
représentation
07/02/2011
6
Edition et alignement d’arbres Edition et alignement d’arbres
Opérations classiques pour les
arbres
Opérations classiques pour les
arbres
Opérations classiques pour les
arbres
Opérations classiques pour les
arbres
07/02/2011
7
Opérations classiques pour les
arbres
Tree edition algorithmZhang, Shasha 1989
Tdist
Fdist
Fdist
Fdist
Min Fdist
Fdist
Min Fdist
Fdist
Tdist
Algorithme d’édition
1
2
3
4
5
6 7
89
10
11
1
2
3
4
5
6 7
89
10
11
1
2
3
4
5
6 7
89
10
11
1
2
3
4
5
6 7
89
10
11
1
2
3
4
5
6 7
89
10
11
1
2
3
4
5
6 7
89
10
11
Décomposition en branches gauches
1
2
3
4
5
6 7
89
10
11
2
3 7
6 7
8 9
5
6 7
89
10
1
2
3
4
5
6 7
89
10
11
Algorithme d’édition
Sous-arbres spéciaux
LINUX L LI LIN LINU LINUX
Ce n’est pas la seule décomposition possible [Klein 1998 ; Dulucq, Touzet 2003]
Algorithme d’édition
B2
E3
B2C3
A1
B2
E3
F4
A1 B2C3
D4
A1
B2
E3
F4
A1 B2C3
D4
Tdist( , ) A1
B2
E3
F4
A1 B2C3
D4
Algorithme d’édition
B2
E3
B2Tdist( , )
1 2 3 4
1
2
3
4
B2
E3B2
Tdist( , ) A1
B2
E3
F4
A1 B2C3
D4
Tdist
Fdist
Fdist
Fdist
Min
0 1 2
1
07/02/2011
8
0 1 2
1 0
Algorithme d’édition
1 2 3 4
1
2 0
3
4
B2
E3B2
Tdist( , ) A1
B2
E3
F4
A1 B2C3
D4
Tdist
Fdist
Fdist
Fdist
Min
B2
E3
B2Tdist( , )
Algorithme d’édition
0 1 2
1 0 1B2
E3B2
Tdist
Fdist
Fdist
Fdist
Min
1 2 3 4
1
2 0 1
3
4
Tdist( , ) A1
B2
E3
F4
A1 B2C3
D4
B2
E3
B2Tdist( , )
Algorithme d’édition
B2Tdist( , )
B2
E3B2
Tdist
Fdist
Fdist
Fdist
Min
1 2 3 4
1
2 0 1
3
4
Tdist( , ) A1
B2
E3
F4
A1 B2C3
D4
0 1 2 3 4
1
A1
B2
E3
F4
A1 F4
Algorithme d’édition
B2Tdist( , )
B2
E3B2
Tdist
Fdist
Fdist
Fdist
Min
1 2 3 4
1
2 1 0 1
3
4
Tdist( , ) A1
B2
E3
F4
A1 B2C3
D4
0 1 2 3 4
1 1
A1
B2
E3
F4
A1 F4
Algorithme d’édition
B2Tdist( , )
B2
E3B2
1 2 3 4
1
2 1 0 1
3
4
Tdist( , ) A1
B2
E3
F4
A1 B2C3
D4
0 1 2 3 4
1 1 1
A1
B2
E3
F4
A1 F4
=Min
Fdist
TdistFdist
Fdist
Fdist
Algorithme d’édition
B2
E3B2
1 2 3 4
1
2 1 0 1
3
4
Tdist( , ) A1
B2
E3
F4
A1 B2C3
D4
0 1 2 3 4
1 1 1 2
B2Tdist( , )
A1
B2
E3
F4
A1 F4
=Min
Fdist
TdistFdist
Fdist
Fdist
07/02/2011
9
Algorithme d’édition
B2
E3B2
1 2 3 4
1
2 1 0 1
3
4
Tdist( , ) A1
B2
E3
F4
A1 B2C3
D4
0 1 2 3 4
1 1 1 2
A1 F4
B2Tdist( , )
A1
B2
E3
F4
=Min
Fdist
TdistFdist
Fdist
Fdist
Algorithme d’édition
B2
E3B2
1 2 3 4
1
2 1 0 1 3
3
4
Tdist( , ) A1
B2
E3
F4
A1 B2C3
D4
0 1 2 3 4
1 1 1 2 3
A1 F4
Tdist
Fdist
Fdist
Fdist
Min
B2Tdist( , )
A1
B2
E3
F4
Algorithme d’édition
…
Algorithme d’édition
A1
E3B21 2 3 4
1 0 1 2 3
2 1 0 1 3
3 1 1 2 4
4 3 3 3 3
Tdist( , ) A1
B2
E3
F4
A1 B2C3
D4
A1 F4
0 1 2 3 4
1 0 1 2 3
2 1 0 1 2
3 2 1 2 3
4 3 2 3 3
B2
C3
D4
Tdist( , ) A1
B2
E3
F4
A1 B2C3
D4
Complexité de l’algorithme
1
1
12
2
2
2
33
3 4
Chaque sommet s intervient autant de fois qu’il est dans un
sous-arbre de la décomposition. C’est sa hauteur réduite
HR(s).
Cedit(T1,T2) = HR(T1) HR(T2)
Dans le pire des cas :
Cedit(T1,T2) = |T1|2 |T2|
2
Complexité moyenne
[Dulucq, Tichit 2003]
La hauteur réduite moyenne d’un arbre à n+1 sommets est
Où Cn désigne le nombre d’arbres à n+1 sommets :
07/02/2011
10
Complexité moyenne
[Dulucq, Tichit 2003]
Complexité moyenne
Cedit = HR(n) HR (m) ~ n3/2 m3/2
[Dulucq, Tichit 2003]
Tree edition algorithm
Score( (f) , ’(f’) ) = Max
Subs(, ’) + Score(f,f’)
Ins(’) + Score((f) , f’ )
Del() + Score( f , ’(f’) )
Score( [(f) o t1 o … o tp] , [’(f’), t’1 o … o t’q] ) = Max
Score((f), ’(f’)) + Score([t1 o … o tp], [t’1 o … o t’q])
Ins(’) + Score( [(f) o t1 o … o tp] , [ f’, t’1 o … o t’q])
Del() + Score([ f o t1 o … o tp] , [’(f’) o t’1,… o t’q])
f t1 t2 … tp
Zhang, Shasha 1989
O(n3logn) [Klein 1998]
Score( r(f) , r’(f’) ) = Max
Subs(, ’) + Score(f,f’)
Ins(’) + Score((f) , f’ )
Del() + Score( f , ’(f’) )
Tree alignment algorithm
Score((f) o t1 o … o tp ; ’(f’) o t’1 o … o t’q ) = Max
Score((f); ’(f’)) + Score(t1 o … o tp ; t’1 o … o t’q)
Ins(’) + Maxi { Score((f) o … o ti ; f’ ) + Score(ti+1 o … o tp ; t’1 o … o t’q) }
Del() + Maxj { Score( f ; ’(f’) o t’1 o … o t’j) + Score(t1 o … o tp; t’j+1 o … o t’q) }
f t1 t2 … tp
Jiang, Wang, Zhang 1995
O(n4logn)
Edition vs Alignment
Score( [r(f), t1,…,tp] , [r’(f’), t’1,…,t’q] ) = Max
…
Ins(r’) + Score( [r(f), t1,…,tp] , [ f’, t’1,…,t’q])
…
Score( [r(f), t1,…,tp] , [r’(f’), t’1,…,t’q] ) = Max
…
Ins(r’) + Max { Score( [r(f), …ti] , f’ ) + Score([ti+1,…, tp], [t’1,…,t’q]) }
…
Edition vs Alignment
Score( , ) = Max
…
Ins( ) + Score( , )
…
Score( , ) = Max
…
Ins( ) + Max { Score( , ) + Score( , ) }
…
07/02/2011
11
Retour à l’ARN
3 operations!
AU AU
GCGC
GUGU
UAU A
Delete( )
Insert( )
Insert( )
A-U
U-A
G-C
C-U
A-U
U A
G-C
C-U
AUGG…….UCAU AUGG…….UCAU
Les opérations classiques sur les
arbres ne suffisent pas pour l’ARN.
A first solution
A-U
U-A
G-C
C-U
A-U
U A
G-C
C-U
AUGG…….UCAU AUGG…….UCAU
A
U
G
C
U
A
C
U
A
U
G
C
U
A
C
U
But this implies some constraints on the scores. For example:
Arc-deletion = Arc-Breaking + 2 Base-Deletion
Höchsmann, Töller, Gierich, Kurtz 2003
(RNAforester) New edition operations on trees
• Operations on bases:
– Substitution: A C
– Deletion / Insertion: A
• Operations on arcs:
– Arc-substitution: C G U A
– Arc-deletion / Arc-insertion: C G
– Arc-breaking / : C G C G
– Arc-altering / : C G C -
Tree edition, tree alignment
Tree operations RNA operations
Edition O(n3logn)[Zhang-Shasha 1989, Klein
1998]
NP-complete[Blin, Fertin, Sinoquet, Rusu
2003]
Alignment O(n4) [Jiang, Wang, Zhang 1995] ?
07/02/2011 Projet Brasero - ANR Blanc 2006 66
RNA structure alignment algorithm
v
f g
Spécifique à l’ARN[Blin, Denise, Dulucq,
Herrbach, Touzet
2008]
Complexité au
pire : O(n4)
[Jiang, Wang, Zhang 1995]
07/02/2011
12
07/02/2011 Projet Brasero - ANR Blanc 2006 67
Arbres ARN
Edition Pire : O(n4) / O(n3logn)[Zhang, Shasha 1989 /
Klein 1998]
Moyenne : O(n3)[Dulucq, Tichit 2003]
NP-complet[Blin, Fertin, Sinoquet, Rusu 2003]
Alignement Pire : O(n4) [Jiang, Wang, Zhang 1995]
Moyenne : O(n2)
[Herrbach, Denise, Dulucq 2007]
Pire : O(n4)[Blin, Denise, Dulucq, Herrbach,
Touzet 2008]
Moyenne : O(n2)
[Herrbach, Denise, Dulucq 2007]
Complexité de la comparaison Une approche multi-échelles
Algorithme d’éditionZhang, Shasha 1989
Tdist
Fdist
Fdist
Fdist
Min
=Min
Fdist
TdistFdist
Fdist
Fdist
ApplicationAllali 2004
ApplicationAllali 2004
ApplicationAllali 2004
07/02/2011
13
ApplicationAllali 2004
ApplicationAllali 2004
Une approche multi-échelles
Allali, Sagot 2004
Une approche multi-échelles
Allali, Sagot 2004
Opérations supplémentaires :
Fusion de nœuds
Fusion d’arêtes
Une approche multi-échelles
Allali, Sagot 2004
Une approche multi-échelles
Allali, Sagot 2004
07/02/2011
14
Une approche multi-échelles
Allali, Sagot 2004
Une approche multi-échelles
Allali, Sagot 2004
Une approche multi-échelles
Allali, Sagot 2004
Logiciels
07/02/2011 Projet Brasero - ANR Blanc 2006 83
http://nestedalign.lri.fr
NestedAlign
07/02/2011 Projet Brasero - ANR Blanc 2006 84
Gardenia
http://bioinfo.lifl.fr/RNA/gardenia/
07/02/2011
15
07/02/2011 Projet Brasero - ANR Blanc 2006 85
Varna
http://varna.lri.fr
07/02/2011 Projet Brasero - ANR Blanc 2006 86
MiGaL
http://www-igm.univ-mlv.fr/~allali/migal/