38
UNIVERSITA’ DI MILANO-BICOCCA UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN LAUREA MAGISTRALE IN BIOINFORMATICA BIOINFORMATICA Corso di BIOINFORMATICA: TECNICHE DI BASE Prof. Giancarlo Mauri Lezione 7 Allineamento di sequenze

UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

  • Upload
    helen

  • View
    49

  • Download
    0

Embed Size (px)

DESCRIPTION

UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA. Corso di BIOINFORMATICA: TECNICHE DI BASE Prof. Giancarlo Mauri Lezione 7 Allineamento di sequenze. Allineamento globale di sequenze. Cos’è un allineamento globale? - PowerPoint PPT Presentation

Citation preview

Page 1: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

UNIVERSITA’ DI MILANO-BICOCCAUNIVERSITA’ DI MILANO-BICOCCALAUREA MAGISTRALE IN LAUREA MAGISTRALE IN

BIOINFORMATICABIOINFORMATICA

Corso di

BIOINFORMATICA: TECNICHE DI BASE

Prof. Giancarlo Mauri

Lezione 7

Allineamento di sequenze

Page 2: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

2

Allineamento globale di sequenze

Cos’è un allineamento globale?

Date due sequenze S = s1s2…sn e T = t1t2…tm sull’alfabeto , un allineamento (globale) di S e T consiste in una coppia di sequenze S’ = s’1s’2…s’l e T’ = t’1t’2…t’l sull’alfabeto U{} (con carattere di spazio), che godono delle seguenti proprietà:

S’ = T’ = l (max(n,m) ≤ l ≤ (m+n)) Eliminando gli spazi da S’ si ottiene S Eliminando gli spazi da T’ si ottiene T Se s’i = , allora t’i ≠ e viceversa

Page 3: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

3

Allineamento globale: esempio

ttc-gagccttag-cgta

ttat-agcg-tagtcgta

S’

T’

ttcgagccttagcgta

ttatagcgtagtcgta

S

T

Cancellazione in S o inserzione in TCancellazione in S o inserzione in TCancellazione in T o inserzione in SCancellazione in T o inserzione in SMismatchMismatchMatchMatch

Page 4: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

4

Allineamento globale

Rispetto alla distanza di edit, massimizza la similarità anziché minimizzare la differenza

La distanza di edit è riconducibile ad esso

Tecniche utilizzate: Analisi di dot matrix (dotplot)

Algoritmi di Programmazione Dinamica

Metodi euristici (FASTA, BLAST)

Page 5: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

5

Esempio

Senza gap: punteggio 10

IPLMTRWDQEQESDFGHKLPIYTREWCTRG

CHKIPLMTRWDQQESDFGHKLPVIYTREW

Con gap: punteggio 25

IPLMTRWDQEQESDFGHKLP IYTREWCTRG

CHKIPLMTRWDQ QESDFGHKLPVIYTREW

Page 6: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

6

Allineamento pesato

Cos’è una matrice di punteggio?

Matrice che assegna ad ogni coppia di caratteri (a,b)({-})2 un punteggio d che esprime il costo (o il beneficio) della sostituzione del simbolo a col simbolo b.

A = d(S'i=1

l∑ (i),T'(i))

Punteggio A

dell’allineamento S’, T’

Page 7: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

7

Allineamento globale : il problema

INPUTINPUT:

due sequenze S e T definite su un alfabeto euna matrice di punteggio d: ({-})2 R

OUTPUTOUTPUT:

un allineamento (S’, T’) tra S e T il cui punteggio A sia minimo (o massimo)

NB: Se d(a,b) esprime un costo, A è da minimizzare.Se d(a,b) esprime un beneficio, A è da massimizzare

NB: Se d(a,b) esprime un costo, A è da minimizzare.Se d(a,b) esprime un beneficio, A è da massimizzare

Page 8: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

8

Allineamento globale con indels

Inserimenti e cancellazioni (indels) sono necessari per allineare accuratamente sequenze anche molto simili come le e globine

L’approccio ingenuo per trovare l’allineamento ottimo di due sequenze con indels consiste nel generare tutti i possibili allineamenti, sommare i punteggi per ogni coppia di simboli corrispondenti in ogni allineamento e scegliere quello di punteggio massimo.

Questa idea è praticamente irrealizzabile anche per sequenze corte (anche solo di 100 caratteri).

Page 9: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

9

Algoritmo di Needleman-Wunsch (1970)

Si considerino le sequenze S=s1s2…sn e T=t1t2…tm

Sia A(i,j) il costo dell’allineamento tra il prefisso s1s2…si e il prefisso t1t2…tj. Si hanno tre possibilità:

il carattere si si allinea con il carattere tj e quindi:

A(i,j) = costo allineamento tra i prefissi s1s2…si-1 e t1t2…tj-1 + d(si,tj)

il carattere si si allinea con uno spazio e quindi:

A(i,j) = costo allineamento tra i prefissi s1s2…si-1 e t1t2…tj + d(si,-)

il carattere tj si allinea con uno spazio e quindi:

A(i,j) = costo allineamento tra i prefissi s1s2…si e t1t2…tj-1 + d(-,tj)

d(si,tj)=0 se si uguale a tj,

Si considerino le sequenze S = s1s2…sn e T = t1t2…tm

Sia A(i,j) il costo dell’allineamento tra il prefisso s1s2…si e il prefisso t1t2…tj. Si hanno tre possibilità:

il carattere si si allinea con il carattere tj e quindi:

A(i,j) = A(i-1,j-1) + d(si,tj)

il carattere si si allinea con uno spazio e quindi:

A(i,j) = A(i-1,j) + d(si,-)

il carattere tj si allinea con uno spazio e quindi:

A(i,j) = A(i,j-1) + d(-, tj)

Page 10: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

10

Algoritmo di Needleman-Wunsch

Se si vuole un valore minimo, si ottiene la ricorrenza

A(i,j) = min

A(i-1,j-1) + d(si,tj)

A(i-1,j) + d(si,-)

A(i,j-1) + d(-,tj)

che stabilisce un legame tra il generico sottoproblema A(i,j) e i sottoproblemi A(i-1,j-1), A(i-1,j) e A(i,j-1)

Page 11: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

11

Algoritmo di Needleman-Wunsch

I casi base, per i quali il valore di A è immediatamente calcolabile, sono:

A(0,0) = 0

A(i,0) = ik=1d(sk,-) per 0<i<n

A(0,j) = ik=1d(-,tk) per 0<j<m

Il costo dell’allineamento tra S e T è A(n,m)

Page 12: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

12

Le matrici di punteggio

Esempi di matrice di punteggio

d(x,x) = 1, d(-,x) = d(x,-) = -a, d(x,y) = -u Se a = 0, u = LCS (Longest Common Subsequence)

PAM oppure BLOSUM per le proteine

Page 13: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

13

Le matrici di punteggio

A

T

C

G

A

1

0

0

0

T

0

1

0

0

C

0

0

1

0

G

0

0

0

1

A

T

C

G

A

5

-4

-4

-4

T

-4

5

-4

-4

C

-4

-4

5

-4

G

-4

-4

-4

5

A

T

C

G

A

1

-5

-5

-1

T

-5

1

-1

-5

C

-5

-1

1

-5

G

-1

-5

-5

1

Matrice identità Matrice transizionetrasversione

Matrice BLAST

Page 14: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

14

Calcolo della distanza di edit

La distanza di edit può essere ricondotta ad un problema di allineamento globale

d(si,tj)=0 per si=tj

d(si,tj)=1 per sitj

d(si,-)=d(-,tj)=1j

d(si,tj)=0 per si=tj

d(si,tj)=1 per sitj

d(si,-)=d(-,tj)=1j

D(i,j) = min

D(i-1,j-1) + d(si,tj)

D(i-1,j) + d(si,-)

D(i,j-1) + d(-,tj)

Page 15: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

15

Matrici PAM (Point Accepted Mutations)

Sono utilizzate per il confronto di sequenze proteiche

Sono derivate dalla frequenza con cui un aminoacido sostituisce un altro in sequenze evolutivamente correlate

Le mutazioni accettate non hanno causato l’eliminazione dell’organismo

Sono evidenziate allineando proteine omologhe in specie diverse (es. emoglobina alfa in uomo e orango)

Page 16: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

16

Matrici PAM (Point Accepted Mutations)

PAM1: Matrice corrispondente a distanza evolutiva 1 (1% di mutazioni)

PAMn: Matrice corrispondente a distanza evolutiva n, PAM1n

La matrice di punteggio S è calcolata a partire da una matrice di probabilità di transizione M

Page 17: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

17

Il calcolo di PAM 1

pa, probabilità di occorrenza dell’aminoacido a in un insieme abbastanza ampio di sequenze proteiche

fa,b = fb,a numero di mutazioni a b accettate

fa = fa,b

f = fa (doppio del numero di mutazioni)

Ma,b = prob. che a cambi in b (anche per a=b)

Ma,a è calcolata partendo dalla mutabilità relativa di a:

ma = fa/100fpa

Ma,a = 1 - ma

Ma,b = fa,b * ma/fa

Page 18: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

18

PAM 240

Page 19: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

19

BLOSUM 50 A R N D C Q E G H I L K M F P S T W Y VA 5 -2 -1 -2 -1 -1 -1 0 -2 -1 -2 -1 -1 -3 -1 1 0 -3 -2 0R -2 7 -1 -2 -4 1 0 -3 0 -4 -3 3 -2 -3 -3 -1 -1 -3 -1 -3N -1 -1 7 2 -2 0 0 0 1 -3 -4 0 -2 -4 -2 1 0 -4 -2 -3D -2 -2 2 8 -4 0 2 -1 -1 -4 -4 -1 -4 -5 -1 0 -1 -5 -3 -4C -1 -4 -2 -4 13 -3 -3 -3 -3 -2 -2 -3 -2 -2 -4 -1 -1 -5 -3 -1Q -1 1 0 0 -3 7 2 -2 1 -3 -2 2 0 -4 -1 0 -1 -1 -1 -3E -1 0 0 2 -3 2 6 -3 0 -4 -3 1 -2 -3 -1 -1 -1 -3 -2 -3G 0 -3 0 -1 -3 -2 -3 8 -2 -4 -4 -2 -3 -4 -2 0 -2 -3 -3 -4H -2 0 1 -1 -3 1 0 -2 10 -4 -3 0 -1 -1 -2 -1 -2 -3 2 -4I -1 -4 -3 -4 -2 -3 -4 -4 -4 5 2 -3 2 0 -3 -3 -1 -3 -1 4L -2 -3 -4 -4 -2 -2 -3 -4 -3 2 5 -3 3 1 -4 -3 -1 -2 -1 1K -1 3 0 -1 -3 2 1 -2 0 -3 -3 6 -2 -4 -1 0 -1 -3 -2 -3M -1 -2 -2 -4 -2 0 -2 -3 -1 2 3 -2 7 0 -3 -2 -1 -1 0 1F -3 -3 -4 -5 -2 -4 -3 -4 -1 0 1 -4 0 8 -4 -3 -2 1 4 -1P -1 -3 -2 -1 -4 -1 -1 -2 -2 -3 -4 -1 -3 -4 10 -1 -1 -4 -3 -3S 1 -1 1 0 -1 0 -1 0 -1 -3 -3 0 -2 -3 -1 5 2 -4 -2 -2T 0 -1 0 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -2 -1 2 5 -3 -2 0W -3 -3 -4 -5 -5 -1 -3 -3 -3 -3 -2 -3 -1 1 -4 -4 -3 15 2 -3Y -2 -1 -2 -3 -3 -1 -2 -3 2 -1 -1 -2 0 4 -3 -2 -2 2 8 -1V 0 -3 -3 -4 -1 -3 -3 -4 -4 4 1 -3 1 -1 -3 -2 0 -3 -1 5

Page 20: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

20

Schemi di peso per i gap

Linear score f(g)= -gd con d gap-open penalty e g lunghezza del gap Un peso dei gap dipendente dalla sola lunghezza

comporta che due gap isolati diano lo stesso costo di due consecutivi

Affine score f(g)= -d –(g-1)e con d gap-open penalty, e gap-

extension penalty e g lunghezza del gap Modello di transizione da una sequenza all’altra

biologicamente più significativo, dal momento che inserzioni e cancellazioni di più di un residuo non sono eventi poco comuni tra sequenze proteiche omologhe

Page 21: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

21

Allineamento globale vs locale

L’allineamento di due o più sequenze può essere globale o locale

Globale: l’intera sequenza viene allineata

Locale: solo frammenti della sequenza vengono allineati

Page 22: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

22

Allineamento locale: esempio

LTGARDWEDIPLWTDWDIEQESDFKTRAFGTANCHK

TGIPLWTDWDLEQESDNSCNTDHYTREWGTMNAHKA

LTGARDWEDIPLWTDWDIEQESDFKTRAFGTANCHK

TGIPLWTDWDLEQESDNSCNTDHYTREWGTMNAHKA

Page 23: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

23

Allineamento locale

E’ meglio avere molte coincidenze sparse o averne meno, ma concentrate?

Allineamento locale

Date S e T trovare due sottostringhe v e w di S e T rispettivamente la cui similarità (allineamento ottimo) sia massima su tutte le coppie di sottostringhe di S e T.

Page 24: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

24

Allineamento locale: esempio

S = pqraxabcstvq

T = xyaxbacsll

axab-cs

ax-bacs

Con il seguente punteggio:

- d(x,x) = 2

- d(x,y) = -2

- d(x,-) = -1

si ottiene uno score pari a 8

Page 25: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

25

Quando e perché l’allineamento locale?

Confronto sequenze DNA “anonimo”, per individuare sottostringhe collegate

Individuazione subunità strutturali comuni a proteine diverse

Page 26: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

26

Considerazioni di complessità

Ci sono (n2 m2) coppie di sottostringhe

L’allineamento locale può tuttavia essere calcolato in tempo O(nm) come quello globale

Page 27: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

27

Algoritmo di Smith-Waterman

Date due sequenze S e T (di lunghezza m e n):

Si costruisce una matrice A di dimensione (m+1)x(n+1) in cui A(i,j) è il costo di un allineamento tra il suffisso (eventualmente vuoto) S[1,i] e il suffisso T[1,j] Si inizializza la prima riga e la prima colonna di A a zero

La ricorrenza è derivata da quella dell’allineamento globale, con l’aggiunta di 0 come valore minimo:

A(i,j) = max{0, A(i-1,j) + d(si,-); A(i,j-1)+d(-,tj); A(i-1,j-1)+d(si,tj)}

Page 28: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

28

-41

Page 29: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

29

One example of local dynamic programming using a linear score for gaps and Blosum50

Page 30: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

30

Page 31: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

31

Strategie euristiche per l’allineamento di sequenze in ricerche in database: tempi a confronto

Page 32: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

32

Similarità di sequenze con FASTA

Page 33: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

33

FASTA

Page 34: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

34

BLAST (Basic Local Alignment Search Tool)

Page 35: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

35

BLOSUM 62

Page 36: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

36

Mega BLAST uses the greedy algorithm for nucleotide sequence alignment search. This program is optimized for aligning sequences that differ slightly as a result of sequencing or other similar "errors". When larger word size is used (see explanation below), it is up to 10 times faster than more common sequence similarity programs. Mega BLAST is also able to efficiently handle much longer DNA sequences than the blastn program of traditional BLAST algorithm.

Ricerca con Mega BLAST

Page 37: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

37

Allineamento Multiplo

Costruzione del profilo di una sequenza

Page 38: UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

38

La struttura di PSI-BLAST

PSI-BLAST takes as input a protein sequence and compares it to a protein database, using the gapped BLAST program

The program constructs a multiple alignment, and then a profile, from any significant local alignment found. The original query sequence serves as a template for the multiple alignment and profile, whose lengths are identical to that of the query. Different numbers of sequences can be aligned in different template positions

The profile is compared to the protein database, again seeking local alignments. After a few minor modifications, the BLAST algorithm can be used for this directly.

PSI-BLAST estimates the statistical significance of the local alignments found. Because profile substitution scores are constructed to a fixed scale, and gap scores remain independent of position, the statistical theory and parameters for gapped BLAST alignments remain applicable to profile alignments.

Finally, PSI-BLAST iterates, by returning to step (2), an arbitrary number of times or until convergence.