25
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 8 Allineamento multiplo di sequenze

UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

  • Upload
    raoul

  • View
    37

  • Download
    0

Embed Size (px)

DESCRIPTION

UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA. Corso di BIOINFORMATICA: TECNICHE DI BASE Prof. Giancarlo Mauri Lezione 8 Allineamento multiplo di sequenze. Perché l’allineamento multiplo?. Analisi filogenetica Proteine con funzioni simili in specie diverse - 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 8

Allineamento multiplo di sequenze

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

2

Perché l’allineamento multiplo?

Analisi filogenetica Proteine con funzioni simili in specie diverse L’allineamento multiplo ottimale fornisce informazioni sulla storia evolutiva delle specie

Scoperta di irregolarità (es. gene della Fibrosi Cistica)

Individuazione regioni conservate L’allineamento multiplo locale rivela regioni conservate

Le regioni conservate di solito sono regioni chiave per la funzionalità

Le regioni conservate sono target prioritari per lo sviluppo di farmaci

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

3

Definizione del problema

INPUTINPUT:

un insieme S = {S1,S2,…,Sn} di n sequenze definite su un alfabeto euna matrice di punteggio d: ({-})2 R

OUTPUTOUTPUT:

un insieme S’ = {S’1,S’2,…,S’n} di n sequenze sull’alfabeto U{} con le seguenti proprietà: Si’| = L i

eliminando gli spazi da Si’ si ottiene Si i

il punteggio di allineamento A è massimo

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

4

1 2 3 4 5 6 7 Indice di colonna

M Q P I L L L

M L R - L L -

M K - I - L L

M P P V I L L

Esempio 1

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

5

Esempio 2

SUGAR

SUCRE

AZUCAR

ZUCKER

SAKARI

ZUCCHERO

SOKKER

SUGAR-

SUC-RE-------

SUG/C?R?

-SUGAR-

-SUC-RE

AZUCAR-

-ZUCKER-

-SAKARI

-ZUCKERO

-SOKKER---------

-SUCKAR- E

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

6

Tutte le formulazioni del problema di

allineamento multiplo sono NP-difficili

Complessità del problema

Occorre trovare algoritmi che producano un buon allineamento e siano efficienti

rispetto al tempo utilizzato

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

7

La valutazione di un allineamento multiplo è basata su una funzione di punteggio predefinita; l’obiettivo è l’ottenimento di uno fra gli allineamenti di punteggio massimo

Il punteggio relativo ad un allineamento S’ di S, è dato dalla somma dei punteggi associati a tutte le colonne di S’

Dovremmo dare una funzione w: (U{})k R a k argomenti, e quindi considerare un numero esponenziale di casi

Sappiamo calcolare il punteggio dell’allineamento a coppie, per somma dei punteggi delle colonne; come estendere all’allineamento multiplo? (N.B: diamo un punteggio anche all’allineamento tra due spazi, ad esempio d(,) = 0).

Punteggio di un allineamento multiplo

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

8

La misura SP (Sum of Pairs)

Il punteggio relativo ad una colonna dell’allineamento S’ è dato dalla somma dei punteggi di tutte le coppie di simboli nella colonna (incluse coppie di gap)

Il punteggio dell’allineamento S’ è la somma dei punteggi di tutte le colonne

Euristiche per accelerare l’algoritmo di programmazione dinamica

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

9

Sequenza di consenso

Dato un allineamento S’ di un insieme S di n sequenze si definiscee la sequenza di consenso Sc per S’ nel seguente modo Sc ha la stessa lunghezza l è la della

generica sequenza S’i in S’

Il simbolo i-esimo in Sc è uguale al simbolo

più frequente nella colonna i-esima di S’

Il punteggio dell’allineamento S’ è la somma dei punteggi degli allineamenti di ciascuna sequenza S’i in S’ con Sc

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

10

Allineamento con albero

Dato l’insieme S = {S1,S2,…,Sn} e l’albero T

che ha S come insieme dei nodi, si determinano gli allineamenti ottimi tra le coppie (Si,Sj) che appartengono all’insieme degli archi di T

A T si associa un punteggio P dato dalla somma dei punteggi degli allineamenti di cui al punto 1 (somma dei punteggi degli archi)

Si ricostruisce l’allineamento multiplo S’ di S a partire dagli allineamenti ottimi determinati al punto 1

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

11

Metodo Star Alignment

1. Dato l’insieme S = {S1,S2,…,Sn}, si determinano gli allineamenti ottimi tra tutte le coppie di sequenze (Si,Sj) (j=1,2,…,n e j i)

2. Ad ogni Si si associa un punteggio Pi dato dalla somma dei punteggi degli allineamenti di cui al punto 1 con tutte le altre sequenze Sj

3. Si considera l’indice i per cui il valore di Pi è ottimo (minimo o massimo)

4. Si ricostruisce l’allineamento multiplo S’ di S a partire dagli allineamenti ottimi determinati al punto 1 per la stella di indice i, aggiungendo man mano gaps a Si

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

12

S1 S2 S3 S4 S5

S1

S3

S4

S2

S5

7 -2 0 -3

7 -2 0 -4

-2 -2 0 -7

0 0 0 -3

-3 -4 -7 -3

Pi 2 1 -11-3-17

Star Alignment: esempio

S = { ATTGCCATT,

ATGGCCATT,

ATCCAATTTT,

ATCTTCTT,

ACTGACC}

Schema di punteggio:

d(x,x) = 1

d(x,y) = -1

d(x,-) = d(-,x) = -2

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

13

Metodo Star Alignment: esempio

Centro stella S1=ATTGCCATT

Ricostruzione dell’allineamento multiplo

ATTGCCATT--

ATGGCCATT--

ATC-CAATTTT

ATCTTC-TT--

ACTGACC----

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

14

Sofware disponibili

CLUSTAL

Basato su algoritmo di Feng-Doolittle

Idea: allineare a coppie le sequenze del set di input S utilizzare l’insieme dei punteggi trovati come matrice delle distanze del metodo neighbor-joining per costruire un albero filogenetico per le sequenze in S

allineare le sequenze secondo l’ordine fissato dall’albero filogenetico (prima le sequenze più simili)

DiAlign

Idea: individuare diagonali (sottosequenze allineate senza spazi)

costruire l’allineamento a partire dalle diagonali

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

15

Sofware disponibili

CLUSTAL-W Standard popular software

It does multiple alignment as follows: Align 2 Repeat: keep on adding a new sequence to the alignment until no more, or do tree-like heuristics

Problem: It is simply a heuristics

Alternative: dynamic programming nk for k sequences. This is simply too slow

We need to understand the problem and solve it right

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

16

Making the problem simpler!

Multiple alignment is very hard For k sequences, nk time, by dynamic programming

NP hard in general, not clear how to approximate

Popular practice -- alignment within a band: the p-th letter in one sequence is not more than c places away from the p-th letter in another sequence in the final alignment – the alignment is along a diagonal bandwidth 2c

Used in final stage of FASTA program

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

17

In literature

NP hardness under various models Wang-Jiang (JCB) Li-Ma-Wang (STOC99) Just

Approximation results Gusfield (2- 1/L) Bafna, Lawler, Pevzner (CPM94, 2-k/L) star alignment

Sankoff, Kruskal discussed “within a band”

Pearson showed alignment within a band gives very good results for a lot protein superfamilies

Altschul and Lipman, Chao-Pearson-Miller, Fickett, Ukkonen, Spouge (survey) all have studied alignment within a band

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

18

The following were proved

SP-Alignment

NP hard

PTAS for constant band

PTAS for constant number of insertion/deletion gaps per sequence on average (for coding regions, this assumption makes a lot of sense)

Star-Alignment

PTAS in constant band

PTAS for constant number of insertion/deletion gaps per sequence on average

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

19

We will do only SP-alignment

Notation: in an alignment, a block of inserted “---” is called a gap. If a multiple alignment has c gaps on the average for each sequence, we call it average c-gap alignment

We first design a PTAS for the average c-gap SP alignment

Then using the PTAS for the average c-gap SP alignment, we design a PTAS for SP-alignment within a band

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

20

Average c-gap SP Alignment

Key Idea: choose r representative sequences, we find their “correct” alignment in the optimal alignment, by exhaustive search. Then we use this alignment as reference

Then we align every other sequence against this alignment

Then choose the best

All we have to show is that there are r sequences whose letter frequencies in each column of their alignment approximates the complete alignment

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

21

Some over-simplified reasoning

If M is optimal average c-gap SP alignment

In this alignment, many sequences have less than cl gaps.

So if we take r of these sequences, and try every possibly way, one way coincides with M

Then hopefully, its letter frequencies in each column “more or less” approximates that of M’s

Then we can simply optimally align all the rest of the sequences one by one according to this frequency matrix

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

22

If this column has k percent a’s

We also expectthis column

has ~ k percent a’s

Complete Alignment Alignment with r sequences

j j

Sampling r sequences

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

23

for L=m to nm {

for any r sequences {

for all possible alignment M’ of length L

and with no more than cl gaps {

align all other sequences to M’ //one alignment

}}}

Output the best alignment

AverageSPAlign

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

24

SP Alignment within c-Band

Basic Idea

Dynamically cut sequences into segments

Each segment satisfies the average c-gap condition. Hence use previous algorithm

Then assemble the segments together

Divide and Conquer

Cutting these sequences into 6 segments, each segmenthas c-gaps per sequence onaverage in optimal alignment

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

25

while (not finished) {

find a maximum prefix for each sequence (same length) such that AverageSPAlign returns “low”cost. Keep the multiple alignment for this segment

}

Concatenate the multiple alignments for all segments together to as final alignment

The final algorithm: diagonalAlign