...

Lezione 8 - Bioinformatica e Calcolo Naturale

by user

on
Category: Documents
8

views

Report

Comments

Transcript

Lezione 8 - Bioinformatica e Calcolo Naturale
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:
un insieme S = {S1,S2,…,Sn} di n sequenze definite su
un alfabeto S e una matrice di punteggio d: (S{-})2 
R
OUTPUT:
un insieme S’ = {S’1,S’2,…,S’n} di n sequenze
sull’alfabeto SU{} con le seguenti proprietà:
 Si’|
= L i
 eliminando
 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-
-SUGAR-
SUCRE
-SUC-RE
AZUCAR
SUC-RE
-------
ZUCKER
SUG/C?R?
-ZUCKER-
AZUCAR-
SAKARI
-SAKARI
ZUCCHERO
-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: (SU{})k  R a k argomenti,
e quindi considerare un numero esponenziale di casi |S|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 = {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
10
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
11
Star Alignment: esempio
S={
ATTGCCATT,
S 1 S2 S3 S4 S 5
ATGGCCATT,
ATCCAATTTT,
S1
ATCTTCTT,
S2
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
S3 -2 -2
0 -7
S4 0 0 0
-3
S5 -3 -4 -7 -3
Pi
2 1 -11 -3 -17
12
Metodo Star Alignment: esempio
Centro stella  S1=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)
 DiAlign
 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
2c
 Used in final stage of FASTA program
16
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
17
The following were proved
SP-Alignment
Star-Alignment
 NP hard
 PTAS in constant band
 PTAS for constant band
 PTAS for constant number of
insertion/deletion gaps per
sequence on average
 PTAS for constant number of
insertion/deletion gaps per
sequence on average (for
coding regions, this
assumption makes a lot of
sense)
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
AverageSPAlign
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: diagonalAlign
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
25
Fly UP