UNIVERSITA DI MILANOBICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA Corso
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 Ø 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 2
Definizione del problema INPUT: INPUT un insieme S = {S 1, S 2, …, Sn} di n sequenze definite su un alfabeto e una matrice di punteggio d: ( {-})2 R OUTPUT: OUTPUT un insieme S’ = {S’ 1, S’ 2, …, S’n} di n sequenze sull’alfabeto U{ } con le seguenti proprietà: 4 Si’| = L i 4 eliminando 4 il gli spazi da Si’ si ottiene Si i punteggio di allineamento A è massimo 3
Esempio 1 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 4
Esempio 2 SUGAR- -SUGAR- SUCRE -SUC-RE AZUCAR SUC-RE ------- ZUCKER SUG/C? R? -ZUCKER- AZUCAR- SAKARI -SAKARI ZUCCHER O -ZUCKERO SOKKER -SOKKER----SUCKARE 5
Complessità del problema Tutte le formulazioni del problema di allineamento multiplo sono NP-difficili Occorre trovare algoritmi che producano un buon allineamento e siano efficienti rispetto al tempo utilizzato 6
Punteggio di un allineamento multiplo ü 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 | |k ü 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). 7
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 8
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 9
Allineamento con albero ü Dato l’insieme S = {S 1, S 2, …, 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 10
Metodo Star Alignment 1. Dato l’insieme S = {S 1, S 2, …, 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 mano gaps a Si 11
Star Alignment: esempio S={ ATTGCCATT, S 1 S 2 S 3 S 4 S 5 ATGGCCATT, ATCCAATTTT, S 1 ATCTTCTT, S 2 ACTGACC Schema di punteggio: d(x, x) = 1 d(x, y) = -1 d(x, -) = d(-, x) = -2 } 7 -2 0 -3 7 -2 0 -4 S 3 -2 -2 0 -7 S 4 0 0 0 -3 S 5 -3 -4 -7 -3 Pi 2 1 -11 -3 -17 12
Metodo Star Alignment: esempio Centro stella S 1=ATTGCCATT Ricostruzione dell’allineamento multiplo ATTGCCATT-ATGGCCATT-ATC-CAATTTT ATCTTC-TT-ACTGACC---- 13
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) ü Di. Align Ø Idea: § individuare diagonali (sottosequenze allineate senza spazi) § costruire l’allineamento a partire dalle diagonali 14
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 15
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 2 c ü Used in final stage of FASTA program 16
In literature ü NP hardness under various models Ø Wang-Jiang (JCB) Ø Li-Ma-Wang (STOC 99) Ø Just ü Approximation results Ø Gusfield (2 - 1/L) Ø Bafna, Lawler, Pevzner (CPM 94, 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 17
The following were proved SP-Alignment Star-Alignment 4 NP hard 4 PTAS in constant band 4 PTAS for constant band 4 4 PTAS for constant number of insertion/deletion gaps per sequence on average (for coding regions, this assumption makes a lot of sense) PTAS for constant number of insertion/deletion gaps per sequence on average 18
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 19
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 20
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 21
Sampling r sequences Complete Alignment j If this column has k percent a’s Alignment with r sequences j We also expect this column has ~ k percent a’s 22
Average. SPAlign 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 23
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 segment has c-gaps per sequence on average in optimal alignment 24
The final algorithm: diagonal. Align while (not finished) { find a maximum prefix for each sequence (same length) such that Average. SPAlign returns “low”cost. Keep the multiple alignment for this segment } Concatenate the multiple alignments for all segments together to as final alignment 25
- Slides: 25