55
Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires d’ARN

Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Embed Size (px)

Citation preview

Page 1: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alain DeniseBioinformatiqueLRI OrsayUMR CNRS 8623Université Paris-Sud 11

Algorithmes pour la comparaison des structures secondaires d’ARNAlgorithmes pour la comparaison des structures secondaires d’ARN

Page 2: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

© Ebbe Sloth Andersen

Les multiples rôles de l’ARNLes multiples rôles de l’ARN

Page 3: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

© Ebbe Sloth Andersen

Les multiples rôles de l’ARNLes multiples rôles de l’ARN

Page 4: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Why RNA ?Why RNA ?

Present in all cellular processes The only molecule which can be genome as well

as catalyser Origin of life (?): RNA world Frequent target for antibiotics

© E.Westhof 2005

Page 5: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

RNA structure: tRNARNA structure: tRNA

Primary structure

Tertiary structure Secondary structure

GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAUAUCUGGAGGUCCUGUGUUCGAUCCCACAGAAUUCGCACCA

Page 6: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

RNA structure levelsRNA structure levelsRNA structure ~ Graph of bounded degree,

containing a (known) hamiltonian path.

Arc-annotated sequences

General (Tertiary structure)

Crossing (Secondary structure

with pseudoknots)

Nested (Secondary structurewithout pseudoknots)

Plain (Primary structure)

Page 7: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

RNA « Bio-Algorithmics » RNA « Bio-Algorithmics »

Structure prediction (given sequence) Design: sequence prediction (given structure) Structural pattern-matching Comparison of two or several structures

Page 8: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Why to compare RNA structures ?Why to compare RNA structures ?

• How much are they similar (or different?)

classification phylogeny

• Which parts are the more similar between the two structures?

• Is the small one similar to a part of the large one?

Comparison score + correspondence between the structures

Page 9: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Edition and alignmentEdition and alignment

We are given a set of basic operations and a score function associated to each of them.

Data : two structures S1 and S2.

• Edit(S1,S2) : find a best-scoring sequence of operations which changes S1 into S2.

• Align(S1,S2) : find a structure S which contains S1 and S2 as substructures, in such a way to maximize

Score(Edit(S1,S)+Edit(S2,S)).

Page 10: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Example: sequence comparisonExample: sequence comparison

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)

Page 11: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Example: tree comparisonExample: tree comparison

Page 12: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Edition vs AlignmentEdition vs Alignment

Alignment

EditionIns( )Del( )

Subs( , )

Ancestor relations are conserved

Page 13: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

The nested caseThe nested case

Secondary structures (without pseudokots) Tree comparison

Page 14: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Tree comparisonTree comparison

Page 15: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Tree edition algorithmTree edition algorithmZhang, Shasha 1989

Page 16: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Tree edition algorithmTree edition algorithmScore( (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]

Page 17: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Score( (f) , ’(f’) ) = Max

Subs(, ’) + Score(f,f’)

Ins(’) + Score((f) , f’ )

Del() + Score( f , ’(f’) )

Tree alignment algorithmTree 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(n4)

Page 18: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Edition vs AlignmentEdition vs AlignmentScore( [(f), t1,…,tp] , [’(f’), t’1,…,t’q] ) = Max

Ins(’) + Score( [(f), t1,…,tp] , [ f’, t’1,…,t’q])

Score( [(f), t1,…,tp] , [’(f’), t’1,…,t’q] ) = Max

Ins(’) + Maxi { Score( [(f), …ti] , f’ ) + Score([ti+1,…, tp], [t’1,…,t’q]) }

Page 19: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Edition vs AlignmentEdition vs AlignmentScore( , ) = Max

Ins( ) + Score( , )

Score( , ) = Max

Ins( ) + Maxi { Score( , ) + Score( , ) }

i+1i

Page 20: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Edition vs AlignmentEdition vs AlignmentScore( , ) = Max

Ins( ) + Score( , )

Score( , ) = Max

Ins( ) + Maxi { Score( , ) + Score( , ) }

i+1i

Can be inserted anywhere

Page 21: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Complexity Complexity

Edition [Zhang, Shasha 1989, Klein 1998]

• Worst-case : O(n4) [Zhang-Shasha 1989] O(n3logn) [Klein 1998,

Dulucq-Touzet 2003]

• In average : O(n3) [Dulucq-Tichit 2003]

Alignment [Jiang, Wang, Zhang 1995]

• Worst-case : O(n4)

Page 22: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

3 operations!

AU AU

GCGC

GUGU

UAU U

Delete( )

Insert( )

Insert( )

Edition operations: problemEdition operations: problem

A-UU-AG-CC-U

A-UU U

G-CC-U

AUGG…….UCAU AUGG…….UCUU

Page 23: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Opérations on bases: Substitution:

Deletion / Insertion:

Operations on arcs:Arc-substitution:

Arc-deletion / Arc-insertion:

Arc-breaking / :

Arc-altering / :

A C

A

C G U A

C G

C G C G

C G C -

Edition operations on RNAEdition operations on RNA

New

Page 24: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

A first solutionA first solution

A-UU-AG-CC-U

A-UU A

G-CC-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)

Page 25: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Edition operations on RNAEdition operations on RNA

Opérations on bases: Substitution:

Deletion / Insertion:

Operations on arcs:Arc-substitution:

Arc-deletion / Arc-insertion:

Arc-breaking / :

Arc-altering / :

A C

A

C G U A

C G

C G C G

C G C -

Page 26: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

General

Crossing

Nested

Plain

Complexity of the edition problemComplexity of the edition problem

Page 27: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

General Crossing Nested Plain

General NP-complete

Crossing NP-complete

Nested NP-complete O(nm3)

Plain O(nm / logn)

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

If 2Score(Arc-altering) = Score(Arc-breaking) + Score (Arc-removing), then algorithm in O(n3m) or Edit(crossing,nested) et Edit(nested,nested)

Complexity of the edition problemComplexity of the edition problem

Page 28: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Complexity of 2ary struct. comparisonComplexity of 2ary struct. comparison

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] ?

Page 29: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Secondary structure alignmentSecondary structure alignment

A-BCD-EFGABB-DF-FG

AB---CDEFGABBDF---FG

ABCDEFG ABBDFFG

Edition Alignment

Page 30: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

New edition operations on treesNew edition operations on trees

Arc-breaking / :

Arc-altering / :

C G C G

C G C -

Page 31: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignment algorithm (1/5)Alignment algorithm (1/5)

f

Page 32: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignment algorithm (2/5) Alignment algorithm (2/5)

f t

Page 33: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignment algorithm (2/5) Alignment algorithm (2/5)

f t

Page 34: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignment algorithm (2/5)Alignment algorithm (2/5)

f t

Page 35: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignment algorithm (2/5)Alignment algorithm (2/5)

f t

Page 36: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignment algorithm (2/5)Alignment algorithm (2/5)

f t

Page 37: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignment algorithm (3/5)Alignment algorithm (3/5)

f t

Page 38: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignment algorithm (3/5)Alignment algorithm (3/5)

f t

Page 39: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignment algorithm (3/5)Alignment algorithm (3/5)

f t

Page 40: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignment algorithm (3/5)Alignment algorithm (3/5)

f t

Page 41: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignment algorithm (3/5)Alignment algorithm (3/5)

f t

Page 42: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignment algorithm (4/5)Alignment algorithm (4/5)

f t

Page 43: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignment algorithm (5/5)Alignment algorithm (5/5)

f t

Page 44: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignment algorithm (5/5) Alignment algorithm (5/5)

f t

Page 45: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignment algorithm (5/5) Alignment algorithm (5/5)

f t

Page 46: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

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]

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

Complexity of 2ary struct. comparisonComplexity of 2ary struct. comparison

Page 47: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

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]

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

Complexity of 2ary struct. comparisonComplexity of 2ary struct. comparison

Complexity of the alignment problem for the other structure

levels: [Blin, Touzet 2006]

Page 48: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Example: two tRNAsExample: two tRNAs

Homo sapiens Bacillus subtilis

Drawing: Tulip (David Auber et al., LaBRI)

Base-subs / Arc-subs

Deletions / Insertions

Arc-breaking

Arc-altering

Page 49: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

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

Page 50: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignement de RNAses PAlignement de RNAses P

Page 51: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignement de RNAses PAlignement de RNAses P

Page 52: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignement de RNAses PAlignement de RNAses P

Page 53: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

Alignement de RNAses PAlignement de RNAses P

Page 54: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

To do…To do…• Biological validation :

• Test on real data• Comparison with other softwares (RNAForester, MiGal [J.Allali,

M.F.Sagot])• Combined approaches ([J.Allalli, A.Ouangraoua-P.Ferraro]) • Parameters : substitution matrices etc.• Statistical evaluation of results

Relevant algorithms and parameters Useful and user-friendly programs

• Sequence/Structure alignment• Multiple alignment • …

Page 55: Alain Denise Bioinformatique LRI Orsay UMR CNRS 8623 Université Paris-Sud 11 Algorithmes pour la comparaison des structures secondaires dARN Algorithmes

CréditsCrédits

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