Comparaison de structures d’ARN Journées AReNa Toulouse 2005 Comparaison de structures d’ARN Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11
AUGUAAUCGGGAUCGGGAUAUCGAGAGGGGGUUUUUUUUAAACUG Pourquoi comparer ? A quel point sont elles similaires (ou non similaires) ? Quelle(s) partie(s) de la structure sont-elles les plus conservées ? La petite est-elle similaire à une partie de grande ? La séquence peut-elle se replier comme la structure ? AUGUAAUCGGGAUCGGGAUAUCGAGAGGGGGUUUUUUUUAAACUG Comparer = donner un score et une correspondance entre les structures
Edition et alignement deux à deux On se donne un ensemble « d’opérations atomiques », chacune ayant un score (ou un coût). Données : deux structures. Edition : trouver la suite d’opérations de score maximal (ou de coût minimal) permettant de transformer une structure en l’autre. Alignement : trouver une « sur-structure » commune aux deux structures telle que la somme des scores d’édition de chacune des structures à la sur-structure soit maximale (ou que la somme des coûts soit minimale).
Comparaison 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 (Pour les séquences : édition ~ alignement : CHAT - RAT)
Comparaison de 2 séquences v = v1v2…vn w = w1w2…wm c(x,y) : coût de substitution de x en y c(x,-) : coût de suppression de x c(-,y) : coût d’insertion de y D(v,w) : distance d’édition de v et w D(v1…vi,w1…wj) = Min { D(v1…vi-1,w1…wj-1) + c(vi,wj) D(v1…vi-1,w1…wj) + c(vi,-) D(v1…vi,w1…wj-1) + c(-,wj) } Needleman, Wunsch 1970, Gotoh 1982
c(v2,-) v1 v2 … vn w1 w2 wm c(v2,w1) c(-,w1)
vi vi-1 v1 wj wj-1 w1 D(v1…vi,w1…wj) = Min { c(vi,wj) c(vi,-) c(-,wj) wj-1 w1 c(v1,w1) c(v1,-) c(-,w1) … D(v1…vi,w1…wj) = Min { D(v1…vi-1,w1…wj-1) + c(vi,wj) D(v1…vi-1,w1…wj) + c(vi,-) D(v1…vi,w1…wj-1) + c(-,wj) }
W I N D O X S -1 -2 -3 -4 -5 -6 -7 L I N U X s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon
W I N D O X S -1 -2 -3 -4 -5 -6 -7 L I N U X s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon
W I N D O X S -1 -2 -3 -4 -5 -6 -7 L I N U X s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon
W I N D O X S -1 -2 -3 -4 -5 -6 -7 L I N U X s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon
W I N D O X S -1 -2 -3 -4 -5 -6 -7 1 L I N U X s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon
W I N D O X S -1 -2 -3 -4 -5 -6 -7 1 L I N U X s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon
W I N D O X S -1 -2 -3 -4 -5 -6 -7 1 3 2 L I N U X s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon
W I N D O X S -1 -2 -3 -4 -5 -6 -7 1 3 2 L I N U X s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon
W I N D O X S -1 -2 -3 -4 -5 -6 -7 1 3 2 L I N U X s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon
W I N D O X S -1 -2 -3 -4 -5 -6 -7 1 3 2 L I N U X s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon
W I N D O X S -1 -2 -3 -4 -5 -6 -7 1 3 2 L I N U X s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon
W I N D O X S -1 -2 -3 -4 -5 -6 -7 1 3 2 L I N U X s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon
W I N D O X S -1 -2 -3 -4 -5 -6 -7 1 3 2 L I N U X s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon
W I N D O X S -1 -2 -3 -4 -5 -6 -7 1 3 2 L I N U X s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon
W I N D O X S L I N U X -1 -2 -3 -4 -5 -6 -7 1 3 2 W I N D O X S -1 -2 -3 -4 -5 -6 -7 1 3 2 L I N U X W I N D O X S L I N – U X -
W I N D O X S L I N U X -1 -2 -3 -4 -5 -6 -7 1 3 2 W I N D O X S -1 -2 -3 -4 -5 -6 -7 1 3 2 L I N U X W I N D O X S L I N – U X - W I N D O X S L I N U - X -
W I N D O X S -1 -2 -3 -4 -5 -6 -7 1 3 2 L I N U X Complexité : O(nm)
Avec (quasiment) le même algorithme Comparaison globale Comparaison locale Recherche (approchée) de motif
ARN et séquences arc-annotées
Opérations de séquences arc-annotées Opérations sur les bases : Suppression / Insertion Substitution (ou conservation) Opérations sur les arcs : Suppression / Insertion : C G Cassure / : C G C G Altération / : C G C - Substitution : C G U A
Edition de séquences arc-annotées © Jiang, Lin, Ma, Zhang 2002 Séquence arc-annotées : Edition ~ Alignement
Complexité de l’édition Types de séquences arc-annotées Générale Croisée Imbriquée Sans arcs
Trois classes de problèmes algorithmiques NP NPC P (Déterministic) Polynomial : réponse garantie en temps polynomial. NP Non-déterministic polynomial : vérification d’une « solution » en temps polynomial. NPC : NP-Complet (sous-classe de NP) Les plus difficiles de la classe NP. Si PNP, pas de réponse garantie en temps polynomial. PNP ?
Complexité de l’édition Générale Croisée Imbriquée Sans arcs NP-complet O(nm3) O(nm / logn) Alain Denise: Pour un exemple de réduction, voir thèse Allali page 47 : edit(croisés, sans arcs). Si 2Score(Altération d’arc) = Score(Cassure) + Score (Suppression), alors algorithme en O(n3m) pour Edit(croisée,imbriquée) et Edit(imbriquée, imbriquée) Jiang, Lin, Ma, Zhang 2002 Blin, Fertin, Rusu, Sinoquet 2003 Crochemore, Landau, Ziv-Ukelson 2002
Le cas « imbriqué-imbriqué » Structures secondaires Comparaison d’arbres
Opérations d’édition
Algorithme d’édition Zhang, Shasha 1989
…mais EDIT(Imbriqué,Imbriqué) est NP-complet ! Complexité Edition [Zhang, Shasha 1989, Klein 1998] Au pire : O(n4) [Zhang-Shasha 1989] O(n3logn) [Klein 1998, Dulucq-Touzet 2003] En moyenne : O(n3) [Dulucq-Tichit 2003] Alignement [Jiang, Wang, Zhang 1995] Au pire : O(n4) …mais EDIT(Imbriqué,Imbriqué) est NP-complet !
Opérations d’édition Opérations sur les bases : Suppression / Insertion Substitution Opérations sur les arcs : Suppression / Insertion : C G Cassure / : C G C G Altération / : C G C - Substitution : C G U A
Opérations d’édition : manques Opérations sur les bases : Suppression / Insertion Substitution Opérations sur les arcs : Suppression / Insertion : C G Cassure / : C G C G Altération / : C G C - Substitution : C G U A
Opérations d’édition : problème A-U U-A G-C C-U C A AU GC GU UA C A Delete( ) Insert( ) 3 opérations au lieu d’une !
Opérations d’édition : ajouts Suppression et insertion d’une base Substitution de bases Suppression et insertion d’une paire de bases Substitution de paires de bases Appariement et désappariement (5) Suppression et insertion d’une base dans une paire de bases (6) (6) (5)
Mais on revient au pb NP-complet ! Générale Croisée Imbriquée Sans arcs NP-complet O(nm3) O(nm / logn) Alain Denise: Pour un exemple de réduction, voir thèse Allali page 47 : edit(croisés, sans arcs). Si 2Score(Altération d’arc) = Score(Cassure) + Score (Suppression), alors algorithme en O(n3m) pour Edit(croisée,imbriquée) et Edit(imbriquée, imbriquée) Jiang, Lin, Ma, Zhang 2002 Blin, Fertin, Rusu, Sinoquet 2003 Crochemore, Landau, Ziv-Ukelson 2002
Et l’alignement ? Générale / Générale : Edition ~ Alignement Croisée / Croisée : Edition Alignement Imbriquée / Imbriquée : Edition Alignement Sans arcs / Sans arcs : Edition ~ Alignement
Edition d’arbres Alignement Delete( ) Insert( ) Subst( , ) On passe ensuite des opérations d’édition à une notion de distance en associant à chauque opération un coût.
Edition d’arbres Alignement Ins( ) Ins( ) + 2 substitutions
Sur les séquences arc-annotées ABCDEFG ABBDFFG Edition Alignement AB---CDEFG ABBDF---FG A-BCD-EFG ABB-DF-FG
Edition et alignement d’arbres Schéma « arbres » Schéma « ARN » Edition O(n3logn) [Zhang-Shasha 1989, Klein 1998] NP-complet [Blin, Fertin, Sinoquet, Rusu 2003] Alignement O(n4) [Jiang, Wang, Zhang 1995] [Herrbach, AD, Dulucq, Touzet 2005]
Exemple : deux ARNt Homo sapiens Bacillus subtilis Image avec Tulip (David Auber, LaBRI) SubB SubP DelB, InsB, DelP, InsP Pair, Unpair Del5, Ins5 Del3, Ins3 Homo sapiens Bacillus subtilis
Une approche « multi-échelles »
Allali 2004 Application
Allali 2004 Application
Allali 2004 Application
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
Une approche multi-échelles Allali, Sagot 2004
Une approche multi-échelles Allali, Sagot 2004
Une approche multi-échelles Allali, Sagot 2004
Et dans la vraie vie ?
Alignement de RNAses P
Alignement de RNAses P
Alignement de RNAses P
Alignement de RNAses P
Bilan / Questions Quels besoins en comparaison dans la vraie vie ? (séquence/structure, structure/structure…, locale, globale… recherche de motifs…) Quels logiciels utilisés ? Pourquoi ? Comment ? Qualités ? Défauts ? Quel(s) shéma(s) d’opérations ? Quels scores (matrices de substitution) ? Mesurer la significativité des scores ? Vers la constitution d’un benchmark ?
Crédits Julien Allali Serge Dulucq Claire Herrbach Rym Kachouri Yann Ponty Michel Termier Laurent Tichit Hélène Touzet Eric Westhof