alain denise bioinformatique lri orsay umr cnrs 8623 université paris-sud 11 journées arena...

Post on 04-Apr-2015

104 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Alain DeniseBioinformatiqueLRI OrsayUMR CNRS 8623Université Paris-Sud 11

Journées AReNaJournées AReNaToulouse 2005Toulouse 2005

Comparaison de structures d’ARN

Comparaison de structures d’ARN

Pourquoi comparer ?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 à deuxEdition 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équencesComparaison 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)

v = v1v2…vn w = w1w2…wm

c(x,y) : coût de substitution de x en yc(x,-) : coût de suppression de xc(-,y) : coût d’insertion de y

D(v,w) : distance d’édition de v et w

Comparaison de 2 séquencesComparaison de 2 séquences

Needleman, Wunsch 1970, Gotoh 1982

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)

}

v1 v2 … … … vn

w1 …

w2 …

… … … … … … …

… … … … … … …

wm …

c(v2,w1)

c(v2,-)

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)

}

vivi-1v1

wjc(vi,wj) c(vi,-)

c(-,wj)

wj-1

w1 c(v1,w1) c(v1,-)

c(-,w1)…

0 -1 -2 -3 -4 -5 -6 -7

-1

-2

-3

-4

-5

W I N D O X S

L

I

N

U

X

s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon

0 -1 -2 -3 -4 -5 -6 -7

-1 -1

-2

-3

-4

-5

W I N D O X S

L

I

N

U

X

s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon

0 -1 -2 -3 -4 -5 -6 -7

-1 -1 -2

-2

-3

-4

-5

W I N D O X S

L

I

N

U

X

s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon

0 -1 -2 -3 -4 -5 -6 -7

-1 -1 -2 -3 -4 -5 -6 -7

-2 -2

-3

-4

-5

W I N D O X S

L

I

N

U

X

s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon

0 -1 -2 -3 -4 -5 -6 -7

-1 -1 -2 -3 -4 -5 -6 -7

-2 -2 1

-3

-4

-5

W I N D O X S

L

I

N

U

X

s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon

0 -1 -2 -3 -4 -5 -6 -7

-1 -1 -2 -3 -4 -5 -6 -7

-2 -2 1 0

-3

-4

-5

W I N D O X S

L

I

N

U

X

s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon

0 -1 -2 -3 -4 -5 -6 -7

-1 -1 -2 -3 -4 -5 -6 -7

-2 -2 1 0 -1 -2 -3 -4

-3 -3 0 3 2 1 0 -1

-4 -4 -1 -1 2 1 0 -1

-5 -5 -2 -2 1 1 3 2

W I N D O X S

L

I

N

U

X

s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon

0 -1 -2 -3 -4 -5 -6 -7

-1 -1 -2 -3 -4 -5 -6 -7

-2 -2 1 0 -1 -2 -3 -4

-3 -3 0 3 2 1 0 -1

-4 -4 -1 -1 2 1 0 -1

-5 -5 -2 -2 1 1 3 2

W I N D O X S

L

I

N

U

X

s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon

0 -1 -2 -3 -4 -5 -6 -7

-1 -1 -2 -3 -4 -5 -6 -7

-2 -2 1 0 -1 -2 -3 -4

-3 -3 0 3 2 1 0 -1

-4 -4 -1 -1 2 1 0 -1

-5 -5 -2 -2 1 1 3 2

W I N D O X S

L

I

N

U

X

s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon

0 -1 -2 -3 -4 -5 -6 -7

-1 -1 -2 -3 -4 -5 -6 -7

-2 -2 1 0 -1 -2 -3 -4

-3 -3 0 3 2 1 0 -1

-4 -4 -1 -1 2 1 0 -1

-5 -5 -2 -2 1 1 3 2

W I N D O X S

L

I

N

U

X

s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon

0 -1 -2 -3 -4 -5 -6 -7

-1 -1 -2 -3 -4 -5 -6 -7

-2 -2 1 0 -1 -2 -3 -4

-3 -3 0 3 2 1 0 -1

-4 -4 -1 -1 2 1 0 -1

-5 -5 -2 -2 1 1 3 2

W I N D O X S

L

I

N

U

X

s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon

0 -1 -2 -3 -4 -5 -6 -7

-1 -1 -2 -3 -4 -5 -6 -7

-2 -2 1 0 -1 -2 -3 -4

-3 -3 0 3 2 1 0 -1

-4 -4 -1 -1 2 1 0 -1

-5 -5 -2 -2 1 1 3 2

W I N D O X S

L

I

N

U

X

s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon

0 -1 -2 -3 -4 -5 -6 -7

-1 -1 -2 -3 -4 -5 -6 -7

-2 -2 1 0 -1 -2 -3 -4

-3 -3 0 3 2 1 0 -1

-4 -4 -1 -1 2 1 0 -1

-5 -5 -2 -2 1 1 3 2

W I N D O X S

L

I

N

U

X

s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon

0 -1 -2 -3 -4 -5 -6 -7

-1 -1 -2 -3 -4 -5 -6 -7

-2 -2 1 0 -1 -2 -3 -4

-3 -3 0 3 2 1 0 -1

-4 -4 -1 -1 2 1 0 -1

-5 -5 -2 -2 1 1 3 2

W I N D O X S

L

I

N

U

X

s(x,y) = 2 si x=y s(x,-) = s(-,x) = -1 -1 sinon

0 -1 -2 -3 -4 -5 -6 -7

-1 -1 -2 -3 -4 -5 -6 -7

-2 -2 1 0 -1 -2 -3 -4

-3 -3 0 3 2 1 0 -1

-4 -4 -1 -1 2 1 0 -1

-5 -5 -2 -2 1 1 3 2

W I N D O X S

L

I

N

U

X

W I N D O X SL I N – U X -

0 -1 -2 -3 -4 -5 -6 -7

-1 -1 -2 -3 -4 -5 -6 -7

-2 -2 1 0 -1 -2 -3 -4

-3 -3 0 3 2 1 0 -1

-4 -4 -1 -1 2 1 0 -1

-5 -5 -2 -2 1 1 3 2

W I N D O X S

L

I

N

U

X

W I N D O X SL I N – U X -

W I N D O X SL I N U - X -

0 -1 -2 -3 -4 -5 -6 -7

-1 -1 -2 -3 -4 -5 -6 -7

-2 -2 1 0 -1 -2 -3 -4

-3 -3 0 3 2 1 0 -1

-4 -4 -1 -1 2 1 0 -1

-5 -5 -2 -2 1 1 3 2

W I N D O X S

L

I

N

U

X

Complexité : O(nm)

Avec (quasiment) le même algorithmeAvec (quasiment) le même algorithme

• Comparaison globale

• Comparaison locale

• Recherche (approchée) de motif

ARN et séquences arc-annotéesARN et séquences arc-annotées

Opérations de séquences arc-annotéesOpé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éesEdition de séquences arc-annotées

Séquence arc-annotées : Edition ~ Alignement

© Jiang, Lin, Ma, Zhang 2002

Générale

Croisée

Imbriquée

Sans arcs

Complexité de l’édition Types de séquences arc-annotées

Complexité de l’édition Types de séquences arc-annotées

Trois classes de problèmes algorithmiquesTrois classes de problèmes algorithmiquesP– (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.

P

NP

NPC

PPNP ?NP ?

Complexité de l’éditionComplexité de l’édition

Générale Croisée Imbriquée Sans arcs

Générale NP-complet

Croisée NP-complet

Imbriquée NP-complet O(nm3)

Sans arcs O(nm / logn)

• Jiang, Lin, Ma, Zhang 2002• Blin, Fertin, Rusu, Sinoquet 2003• Crochemore, Landau, Ziv-Ukelson 2002

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)

Le cas « imbriqué-imbriqué »Le cas « imbriqué-imbriqué »

Structures secondaires Comparaison d’arbres

Opérations d’éditionOpérations d’édition

Algorithme d’éditionAlgorithme d’édition Zhang, Shasha 1989

Complexité 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’éditionOpé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 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 : manquesOpérations d’édition : manques

3 opérations au lieu d’une !

AU AU

GCGC

GUGU

UAC A

Delete( )

Insert( )

Insert( )

A-UU-AG-CC-U

A-UC A G-C C-U

Opérations d’édition : problèmeOpérations d’édition : problème

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)

(5)(6)

Opérations d’édition : ajoutsOpérations d’édition : ajouts

Mais on revient au pb NP-complet !Mais on revient au pb NP-complet !

Générale Croisée Imbriquée Sans arcs

Générale NP-complet

Croisée NP-complet

Imbriquée NP-completNP-complet O(nm3)

Sans arcs O(nm / logn)

• Jiang, Lin, Ma, Zhang 2002• Blin, Fertin, Rusu, Sinoquet 2003• Crochemore, Landau, Ziv-Ukelson 2002

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)

Et l’alignement ?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 AlignementEdition d’arbres Alignement

Delete( )

Insert( )

Subst( , )

Ins( ) Ins( )

+ 2 substitutions

Edition d’arbres AlignementEdition d’arbres Alignement

Sur les séquences arc-annotéesSur les séquences arc-annotées

A-BCD-EFGABB-DF-FG

AB---CDEFGABBDF---FG

ABCDEFG ABBDFFG

Edition Alignement

Edition et alignement d’arbresEdition 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]

O(n4) [Herrbach, AD, Dulucq, Touzet 2005]

Exemple : deux ARNtExemple : deux ARNt

Homo sapiens Bacillus subtilis

Image avec Tulip (David Auber, LaBRI)

SubB

SubP

DelB, InsB, DelP, InsP

Pair, Unpair

Del5, Ins5

Del3, Ins3

Une approche « multi-échelles »Une approche « multi-échelles »

ApplicationApplication Allali 2004

ApplicationApplication Allali 2004

ApplicationApplication Allali 2004

Une approche multi-échellesUne approche multi-échelles

Allali, Sagot 2004

Une approche multi-échellesUne approche multi-échelles

Allali, Sagot 2004

Opérations supplémentaires : Fusion de nœudsFusion d’arêtes

Une approche multi-échellesUne approche multi-échelles

Allali, Sagot 2004

Une approche multi-échellesUne approche multi-échelles

Allali, Sagot 2004

Une approche multi-échellesUne approche multi-échelles

Allali, Sagot 2004

Une approche multi-échellesUne approche multi-échelles

Allali, Sagot 2004

Une approche multi-échellesUne approche multi-échelles

Allali, Sagot 2004

Et dans la vraie vie ? Et dans la vraie vie ?

Alignement de RNAses PAlignement de RNAses P

Alignement de RNAses PAlignement de RNAses P

Alignement de RNAses PAlignement de RNAses P

Alignement de RNAses PAlignement de RNAses P

Bilan / QuestionsBilan / 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éditsCrédits

• Julien Allali• Serge Dulucq• Claire Herrbach• Rym Kachouri• Yann Ponty• Michel Termier• Laurent Tichit• Hélène Touzet• Eric Westhof

top related