Title: 1) Algoritmi di allineamento
11) Algoritmi di allineamento 2) Algoritmi di
ricerca in database
2? similarità ? allineamento
abbiamo visto che per generare e valutare il
miglior allineamento di due sequenze di lunghezza
m e n, è necessario effettuare m x n confronti
il numero di operazioni da effettuare cresce e i
tempi di calcolo di conseguenza si allungano se
si vogliono considerare anche i possibili gap in
tutte le posizioni (e di tutte le lunghezze
possibili) di entrambe le sequenze
IPLMTRWDQEQESDFGHKLPIYTREWCTRGÂ Â Â Â Â Â Â Â Â Â Â
CHKIPLMTRWDQQESDFGHKLPVIYTREW
IPLMTRWDQEQESDFGHKLP-IYTREWCTRGÂ Â Â
CHKIPLMTRWDQ-QESDFGHKLPVIYTREW
3noi VOGLIAMO considerare i gap, ma non POSSIAMO
permetterci algoritmi che considerino tutti i
possibili gap in tutte le possibili posizioni
gli allineamenti possono essere visualizzati
graficamente in modo rapido (con algoritmi
dellordine di mxn) con matrici di punti (dot
plots)
4abbiamo definito un modo formale di valutare il
punteggio di un allineamento, che tenga conto di
- punteggi diversi per ogni possibile coppia di
residui allineati (matrici di sostituzione) - gap penalties e
- gap extension penalties per valutare
penalizzazioni dovute allintroduzione di gap
nelle sequenze allineate
5che algoritmi possiamo usare?
- razionalizzare il problema
- considerare anche i gap pur continuando ad
utilizzare un algoritmo dellordine di n2)
PROGRAMMAZIONE DINAMICA
6? spesso loutput mostra più allineamenti
DIVERSI col massimo del punteggio ? ci mette
TROPPO TEMPO per effettuare una ricerca esaustiva
7? scegliere una matrice di sostituzione per
valutare gli appaiamenti tra residui
? definire dei punteggi di penalizzazione per i
gaps
algoritmi di allineamento che utilizzano una
tecnica di programmazione dinamica Needleman
e Wunsch (1970) Smith e Waterman (1981)
83 passi successivi
1) consideriamo le due sequenze da allineare in
una specie di dot plot nelle caselle scriviamo
i punteggi in rosso derivati dalla matrice di
sostituzione scelta
9(No Transcript)
10allineamento
punteggio
QERTY QERS
QQ EE RR TS 4 4 6 1 15
cominciamo a calcolare la matrice di questo
allineamento usata nellalgoritmo di
programmazione dinamica
Q
E
R
T
Y
Q
4
2
1
-1
-4
E
2
4
-1
0
-4
R
1
-1
6
-1
-4
S
-1
0
0
1
-3
112) ricerca del percorso che consente di ottenere
il massimo punteggio in base a delle regole
stabilite, tenendo anche conto dei gaps
se una sequenza è scritta da sinistra a destra e
laltra dall'alto in basso, allora qualsiasi
percorso valido deve mantenere sempre una
direzione tendenziale che va dall'angolo in alto
a sinistra a quello in basso a destra
12Misura della similarità i punteggi in diagonale
si SOMMANO fuori dalla diagonale, si PENALIZZA di
5 punti
evidenzieremo in grigio il migliore percorso
allinterno della matrice, secondo le regole e i
punteggi stabiliti
13(No Transcript)
14il migliore allineamento globale per le sequenze
in matrice risulta quindi il seguente
TFDERILGVQ-TYWAECLA .
QTFWECIKGDNATY
15per ricostruire lallineamento migliore si può
memorizzare il percorso disegnato riempiendo la
matrice
TFDERILGVQ-TYWAECLA . QTFWECIKGDNATY
alla fine bisogna partire dalla casella a
punteggio maggiore e ricostruire il percorso a
ritroso seguendo le freccette
16Qual è il tipo di allineamento che consideriamo
più interessante dal punto di vista biologico?
date due sequenze, per esempio 1)
LTGARDWEDIPLWTDWDIEQESDFKTRAFGTANCHK2)
TGIPLWTDWDLEQESDNSCNTDHYTREWGTMNAHKAG
17Allineamento globale o locale?
Allineamento globale LTGARDWEDIPLWTDWDIEQESDFKTR
AFGTANCHK .      .    .   Â
 TGIPLWTDWDLEQESDNSCNTDHYTREWGTMNAHKAG
Allineamento locale TGARDWEDIPLWTDWDIEQESDFKTRA
FGTANCHK        .    Â
TGIPLWTDWDLEQESDNSCNTDHYTREWGTMNAHKAG
18Allineamento globale o locale?
a livello di DNA, troviamo regioni con similaritÃ
locali che riflettono situazioni interessanti ad
esempio introni/esoni, inserzioni/delezioni,
transposoni, regioni promotore
19allineamenti globali confrontare accuratamente
due sequenze la cui similarità sia estesa per
tutta la lunghezza (es. Proteine omologhe)
20Usando matrici di sostituzione contenenti
esclusivamente valori positivi il valore massimo
della matrice si trova sempre nellultima riga o
nellultima colonna
ne consegue che lallineamento ottenuto è un
allineamento globale
il numero di operazioni effettuate è
proporzionale a m x n
abbiamo considerato tutti i possibili
allineamenti tra le due sequenze e tutte le
possibili posizioni per i gap
21Come ottenere un allineamento locale?
se le matrici contenessero sia valori positivi
che negativi (come le PAM o le BLOSUM), i valori
più alti potrebbero trovarsi anche in porzioni
INTERNE alla matrice
ogni percorso che totalizza un punteggio negativo
viene azzerato e può venire considerato come
linizio di un nuovo allineamento locale
quando i tre percorsi di possibile provenienza
per una casella risultano negativi, il punteggio
associato alla casella sarà pari a zero
2212
230
24(No Transcript)
25Gli algoritmi per il Database similarity
searching
26Prerequisiti dei metodi di Database similarity
searching
- VelocitÃ
- SensibilitÃ
- SelettivitÃ
27Prerequisiti dei metodi di Database similarity
searching
- Fissata una soglia minima di similarità se
- TP positivi veri
- PP positivi predetti (falsi e veri)
- AP actual positives ( n.reale di sequenze
omologhe presenti nel db indipendentemente dalla
soglia)
28Database similarity searching
- Sensibilità TP/AP
- Selettività TP/PP
- La scelta della soglia e fatta su basi
statistiche ed e determinante. - Alta sensibilità ? bassa selettività e viceversa
29Database similarity searching
- Ambedue i metodi (FASTA e BLAST) effettuano
ricerche di similarità mediante applicazioni di
metodi per allineamenti locali e, dal confronto
di una sequenza anonima con set di sequenze a
funzione nota, selezionano le sequenze con
punteggi di similarità (scores) superiore ad una
certa soglia (threshold), valutata su basi
statistiche e dinamicamente in correlazione con
il dataset sotto studio.
30Database searching
- Ambedue i metodi ottengono una elevata velocitÃ
di esecuzione grazie alla trasformazione delle
sequenze in vettori - Scelta la dimensione w della stringa su cui
operare per la ricerca delle similarità , le
sequenze da confrontare sono trasformate in
vettori di dimensione Dw, in ogni cella dei quali
sono riportate le posizioni in cui la i-esima
"stringa" di dimensione w ricorre nella sequenza
31Database searching
- FASTA
- Ammette i gaps e produce una sola regione di
miglior similarità per ogni coppia analizzata
(query seq. vs. db seq) -
32Database searching
-
- BLAST
- Non ammette(va) i gaps e produce più regioni di
similarità per ogni coppia analizzata
33FASTA
- Fissato il parametro ktup ( il numero di residui
contigui identici), consideriamo due sequenze, S1
e S2, e cerchiamo le k-tuple perfettamente
identiche il cui inizio é localizzato
rispettivamente nelle posizioni i e j
nell'ipotetica matrice dot-plot relativa a queste
due sequenze tale identità sarà localizzata nella
diagonale mi-j.
34FASTA
- Vengono individuate le diagonali che presentano
la più alta densità di k-tuple identiche. - Le k-tuple identiche vengono assegnate alla
medesima regione di similarità se sono separate
da un numero di residui inferiore ad un valore
soglia prestabilito nellalgoritmo (Pearson,
1990). - Vengono selezionate le prime dieci regioni di
similarità localizzate anche su differenti
diagonali.
35FASTA fase 2
- Il punteggio di similarità relativo alle regioni
precedentemente considerate viene calcolato
prendendo in considerazione tratti di sequenza
identici più corti di ktup, eventuali
sostituzioni conservative e consentendo anche
lintroduzione di piccoli gaps. - Per le sequenze proteiche PAM-250
- Per le sequenze nucleotidiche punteggio positivo
alle identità e negativo alle differenze. - Tra tutte le regioni diagonali di similaritÃ
quella che totalizza il massimo punteggio di
similarità viene definita "regione primaria di
similarità " e il punteggio corrispondente é
denominato init1
36FASTA fase 3
- Le regioni di similarità precedentemente
determinate vengono potenzialmente ricongiunte
per formare un unico allineamento. - Questa ricongiunzione viene effettuata se la
penalità di ricongiungimento, proporzionale alla
distanza tra le regioni di similarità , é
inferiore al contributo dato al punteggio di
similarità dalla regione di similarità che viene
ricongiunta nell'allineamento.
37FASTA fase 3
- Il punteggio di similarità relativo
all'allineamento che così viene determinato viene
denominato punteggio initn e viene usato per
ordinare le sequenze della banca dati secondo il
grado di similarità decrescente con la sequenza
sonda in esame.
38FASTA fase 4
- Nella quarta ed ultima fase, l'allineamento
precedentemente ottenuto viene ulteriormente
ottimizzato utilizzando la procedura di
allineamento descritta da Chao et al. (1992) che
utilizza un algoritmo per l'allineamento di due
sequenze all'interno di una banda diagonale di
dimesioni predeterminate. Il punteggio di
similarità calcolato in quest'ultima fase viene
denominato punteggio opt.
39BLAST(Basic Local Alignment Search Tool)
- Le coppie di segmenti, presenti nella stessa
coppia di sequenze, che totalizzino un punteggio
di similarità statisticamente significativo,
superiore ad una soglia S, vengono definiti HSP
(High scoring Segment Pairs). - Nella stessa coppia possono esserci più HSP di
cui é anche possibile calcolare la probabilitÃ
di occorrenza (Karlin Altschul, 1993).
40BLAST(Basic Local Alignment Search Tool)
- Una volta individuata una stringa coincidente
(matching word), questa viene estesa verso
entrambe le direzioni. La procedura di estensione
viene arrestata in una delle due direzioni quando
il punteggio di similarità relativo alla coppia
di segmenti in esame viene decrementato, di un
certo valore prestabilito, rispetto a quello
relativo ad una minore estensione della stessa
coppia di segmenti.
41(No Transcript)
42BLAST(Basic Local Alignment Search Tool)
- Lidea di fondo lallineamento ottimale tra due
sequenze omologhe, anche se altamente divergenti,
ha unalta probabilità di contenere una o più
coppie di segmenti caratterizzati da un punteggio
di similarità piuttosto elevato e tale da
consentire una affidabile distinzione tra
sequenze correlate da relazione di omologia e
sequenze non correlate. - Un algoritmo in grado di individuare in modo
estremamente rapido tutte le coppie di segmenti
per cui il punteggio di similarità risulta
statisticamente significativo.
43BLAST(Basic Local Alignment Search Tool)
- La peculiare strategia di BLAST é di cercare
esclusivamente coppie di segmenti che contengano
una coppia di stringhe di lunghezza w il cui
relativo punteggio di similarità sia almeno pari
ad una soglia T. Il valore della soglia T (S)
viene stimato sulla base della dimensione di w.
44BLAST(Basic Local Alignment Search Tool)
- S(a,b) utilizza matrici BLOSUM o PAM per le
sequenze aminoacidiche o un punteggio pari a 5
per le identità e -4 per le differenze per
sequenze nucleotidiche - Si definisce MSP (Maximal scoring Segment Pair)
la coppia di segmenti, di eguale lunghezza, che
realizza il massimo punteggio di similarità nel
confronto di due sequenze lalgorimo ne valuta
in modo rigoroso la significatività statistica
(Karlin Altschul, 1990, 1993).
45(No Transcript)