rogrammazione dinamica Fornisce l allineamento ottimale tra due sequenze semplici variazioni dell algoritmo producono allineamenti globali o locali l allineamento calcolato dipende dalla scelta di alcuni parametri Sfrutta la ricorsione.. ogni risultato parziale dipende dal risultato del calcolo precedente del punteggio di allineamento registrato in una tabella. Quest ultima è utilizzata alla fine per ricostruire il percorso ottimale. Needleman & unsch (197) llineamento globale unteggio (odds score) di un allineamento sequenza 1 M - N L S D R T sequenza M S D R T T T punteggio 1 1 3 = - 1
airwise Sequence lignment sempio - ---- - ---- Qual è il migliore? sempio ap penalty: 1-1 - ---- () + () + () + () + + 1 + () + 1 + + () + = 1 sercizio: Calcolate per.. - ---- La risposta è ()+()++()+()+1+()+1++()+ =
lobal lignment Notazione x i i-esimo elemento della sequenza x y j j-esimo elemento della sequenza y x 1..i refisso di x da 1 a i F matrice di score ottimali F(i,j) rappresenta l allineamento ottimale x 1..i con y 1..j d penalità s scoring matrix Costruiamo F lobal lignment Inizializzo: F(,) =, F(i,) = id, F(,j)=jd Riempio da alto-sinistra verso il basso-destra usando la relazione ricorsiva F( i, j) = F max ( i 1, j 1) + s( x, y ) F( i 1, j) d F( i, j 1) d i j 3
lobal lignment y j allineata ad un gap Muoviti avanti su entrambe F(i,j) s(x i,y j ) F(i,j) d x i allineata ad un gap F(i,j) d F(i,j) Mentre si costruisce la tabella, si può tenere traccia del percorso ovvero quale direzione si prende (frecce di direzione inversa) 1-1 1 sempio Il primo step è quello di riempire i valori della tabella considerando una matrice di sostituzione (BLOSUM in questo caso) di appaiamento degli nella griglia) Matrice dei punteggi secondo BLOSUM degli appaiamenti tra D = 7-3 - - - -7-7 - -73 Il secondo step prevede il riempimento della tabella ricorsivamente - -
Tavola completata 1-1 - - 1 1-3 -7-9 1-7 3 3 7 9 1 3 - -7-1 - - - - -73 - -7-3 7-7 - - - 1 1 1 - Matrice dei punteggi secondo BLOSUM degli appaiamenti tra D = Traceback 1-1 - - 1 1-3 -7-9 1-7 3 3 7 9 1 3 - -7-1 - - - - -73 - -7-3 7-7 - - - - ---- ercorso a ritroso seguendo le frecce: Il Il percorso percorso parte parte sempre sempre dall ultima dall ultima casella casella er er definizione definizione fino allo Spostamenti: Diagonale entrambi Su gap in alto Sx gap in basso
Sommario Inizializzazione valori tabella (-jd e id) Uso della ricorsione per riempire le caselle intermedie della tabella (programmazione dinamica) Traceback dall ultima casella (i,j) Uso di O(nm) spazio e tempo O(n ) algoritmo ossibile per piccole sequenze ma non per interi genomi Local lignment Smith-aterman (191) ltra soluzione di programmazione dinamica molto simile ad allineamento globale nella costruzione tabella In questo caso viene introdotto lo nel calcolo del punteggio delle caselle. Non si hanno mai valori negativi F( i 1, j 1) + s( xi, y j ) F( i, j) = max F( i 1, j) d F( i, j 1) d
7 sempio 1 1 7 1 1 1 1 1 1 1 1 Traceback 1 1 7 1 1 1 1 1 1 1 1 Inizia dal punteggio più alto trovato nella tabella e ripercorre a ritroso da quella casella fino al primo -
SOLUZIONI LTRNTIV ossono capitare soluzioni alternative nel caso di punteggio uguale in certe posizioni della tabella LTRO TIO DI LLINMNTO Il Freeshift o glocal Si utilizza quando ci si aspetta che una sequenza sia completamente contenuta in un altra oppure abbia un overlap. Quello che si vuole è un tipo di allineamento globale in cui non vengano penalizzati gli overhang terminali
Sequenza contenuta dentro un altra sequenza e con delle zone di overhang D L S S K S T K S I M R I D N M D I T K S K I M R L M OVRL ZON OVRN ZON Il problema si traduce nel partire dal punteggio massimo della matrice sull ultima colonna o riga e ripercorrere a ritroso fino alla fine (o prima riga o prima colonna) L inizializzazione della matrice è con il punteggio come nel caso dell allineamento locale Il riempimento della matrice avviene, invece, con la regola dell allineamento globale Da qui il nome di allineamento g-local 1 1 1 1 1 1-1 1 7 1 1 9
er esercitarsi: http://www.dina.dk/~sestoft/bsa/graphalign.html La ricerca di similarità in banche dati Uno dei problemi più comunemente affrontati con metodi bioinformatici è quello di trovare omologie di sequenza interrogando una banca dati. L idea di base è che proteine omologhe derivano da un progenitore comune e, quindi, condividono ampie regioni simili. Comparando la similarità tra la nostra sequenza (query) e tutte quelle contenute in una banca dati possiamo stimare la percentuale di similarità e da questa inferire una eventuale omologia (attenzione ai termini!!). 1
La ricerca di similarità in banche dati Quando le sequenze sono molto simili è ovvio assumere che sono anche omologhe, ma, nella maggior parte dei casi questo non si verifica quando bisogna confrontarsi con bassi livelli di similarità. In molti casi, tuttavia veri omologhi funzionali hanno bassi livelli di similarità e non è affatto facile discriminare falsi omologhi da veri omologhi. In mancanza di elementi funzionali la discriminazione tra veri e falsi omologhi si fonda su considerazioni statistiche. In sintesi sulla base della percentuale di similarità si assegna un punteggio ad ogni singolo appaiamento di sequenze e si valuta la probabilità di avere lo stesso punteggio per caso. Tanto più bassi sono i valori di probabilità tanto più significativo risulta l allineamento. Ci sono due grossi problemi da risolvere: Lo sviluppo di algoritmi capaci di identificare sequenze simili alla sequenza query tra milioni di sequenze target e la scelta di metodi statistisci a cui affidare la decisione di quali siano le sequenze significative. I principali programmi di interrogazione di banche dati, come FST, BLST e SSRC si caratterizzano essenzialmente per l approccio a questi problemi. La ricerca di similarità: accuratezza T = positivi veri (il metodo dice che è omologa e in effetti corrisponde al vero) F = falsi positivi (il metodo dice che è omologa quando invece non lo è) TN = negativi veri (il metodo dice che non è omologa e in effetti corrisponde al vero) FN = falsi negativi (il metodo dice che non è omologa quando invece lo è) (T+FN) = effettivi positivi nella banca dati (T+F) = positivi predetti dal metodo falsi e veri redetta come omologa? Sì No È omologa? Sì No T F FN TN 11
Sensibilità = T / (T + FN) è la percentuale di esempi predetti correttamente dal metodo sulla totalità di quelli che sono realmente presenti in banca dati. Selettività = T / (T + F) è la percentuale di volte in cui la predizione positiva si rivela corretta. Specificità = TN / (TN + F) è la percentuale di esempi predetti come negativi sul totale di quelli effettivamente negativi sempio: Omologia reale tra proteine: (, B, C), (D, ), (F,, ) La ricerca di similarità: accuratezza redizione: B, C B C C, D B B F, F F, Risultati: T = F = FN = TN = +++++++ -> 3 Sens = / (+) =.7 Sel = / (+) =. Spec = 3 / (3+) =.9 La ricerca di similarità: accuratezza In genere ad ogni predizione è affiancata una stima di affidabilità. I valori di sensibilità e selettività si calcolano soltanto per quelle predizioni che superano un valore minimo di affidabilità (threshold, soglia). La scelta della soglia e fatta su basi statistiche ed e determinante. In generale i metodi cercano un compromesso per cui: lta sensibilità bassa selettività e viceversa In base alla soglia scelta si possono ottenere valori di sensibilità e selettività molto diversi tra di loro. er questo entrambi i valori vanno riferiti allo stesso valore di soglia per poter essere paragonati. sempio: Omologia reale tra proteine: (, B, C), (D, ), (F,, ) B, C 1 B C C, 1 D B B F, 1 F F, 1 Soglia >= : T = F = FN = Sens =.7 Sel =. Soglia >= 1: T = F = FN = Sens =. Sel =.7 Sel. = T / (T + F) Sens.= T / (T + FN) Soglia >= 1: T = 3 F = 1 FN = 11 Sens =.1 Sel =.7 1
La ricerca di similarità: accuratezza lternativa: ROC (receiver operator characteristic) rafico che rappresenta l andamento della sensibilità in base alla selettività, basato su soglia mobile. ermette di visualizzare tutte le combinazioni contemporaneamente. Intuitivamente, il metodo funziona meglio di quello B se ha una curva con valori sempre maggiori dell altro. In termini matematici si può calcolare l area sotto la curva (valore UC = area under curve) per quantificare la performance dei metodi.