Programmazione dinamica

Documenti analoghi
Programmazione dinamica

La ricerca di similarità in banche dati

ALLINEAMENTO DI SEQUENZE

BLAST. W = word size T = threshold X = elongation S = HSP threshold

Algoritmi di Allineamento

Lezione 8. Ricerche in banche dati (databases) attraverso l uso di BLAST

Lezione 8. Ricerche in banche dati (databases) attraverso l uso di BLAST

FASTA. Lezione del

Lezione 6. Ricerche in banche dati (databases) attraverso l uso di BLAST

Luigi Santoro. Hyperphar Group S.p.A., MIlano

Allineamenti di sequenze: concetti e algoritmi

Le sequenze consenso

Z-score. lo Z-score è definito come: Z-score = (opt query - M random)/ deviazione standard random

FASTA: Lipman & Pearson (1985) BLAST: Altshul (1990) Algoritmi EURISTICI di allineamento

Pairwise Sequence Alignment BIOINFORMATICA. Corso di Laurea in Ingegneria Informatica e Biomedica. Università Magna Graecia Catanzaro

SAGA: sequence alignment by genetic algorithm. ALESSANDRO PIETRELLI Soft Computing

Laboratorio di Informatica 2004/ 2005 Corso di laurea in biotecnologie - Novara Viviana Patti Esercitazione 7 2.

Operativamente, risolvere un problema con un approccio ricorsivo comporta

Una funzione matematica è definita ricorsivamente quando nella sua definizione compare un riferimento a se stessa

LA RICORSIONE LA RICORSIONE LA RICORSIONE: ESEMPIO LA RICORSIONE: ESEMPIO LA RICORSIONE: ESEMPIO LA RICORSIONE: ESEMPIO

Ricerca di omologia di sequenza

7a. Un esempio di analisi bayesiana dei dati mediante Ministat

LA RICORSIONE. Una funzione matematica è definita ricorsivamente quando nella sua definizione compare un riferimento a se stessa

Esempio di utilizzo del programma BLAST disponibile all NCBI Form di Nucleotide BLAST

q xi Modelli probabilis-ci Lanciando un dado abbiamo sei parametri p i >0;

LA RICORSIONE! Una funzione matematica è definita ricorsivamente quando nella sua definizione compare un riferimento a se stessa

InfoBioLab I ENTREZ. ES 1: Ricerca di sequenze di aminoacidi in banche dati biologiche

Quarta lezione. 1. Ricerca di omologhe in banche dati. 2. Programmi per la ricerca: FASTA BLAST

Allineamenti a coppie

Laboratorio di Algoritmi e Strutture Dati

Algoritmi e Strutture Dati. Capitolo 10 Tecniche algoritmiche

Operativamente, risolvere un problema con un approccio ricorsivo comporta

Sottosequenza comune piu' lunga (programmazione dinamica)

Patologia Clinica. Lezione introduttiva. Dott.ssa Samantha Messina

Esempio: il fattoriale di un numero fact(n) = n! n!: Z! N n! vale 1 se n " 0 n! vale n*(n-1)! se n > 0. Codifica:

UNIVERSITÀ DEGLI STUDI DI MILANO. Bioinformatica. A.A semestre I. Allineamento veloce (euristiche)

Algoritmi e Strutture Dati

La ricerca di similarità: i metodi

Apprendimanto automatico

Valutazione dei test diagnostici

Note per la Lezione 6 Ugo Vaccaro

Distanza di Edit. Speaker: Antinisca Di Marco Data:

curves (ordinary ROC)

Problem Set 3 docente: Luciano Gualà

LA RICORSIONE LA RICORSIONE

Metodi per la risoluzione di sistemi lineari

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso

Soluzione sistemi lineari

EPIDEMIOLOGIA CLINICA: PROPRIETÀ DEI TEST

Note per il corso di Geometria Corso di laurea in Ing. Edile/Architettura. 4 Sistemi lineari. Metodo di eliminazione di Gauss Jordan

Esercitazione di Calcolo Numerico 1 22 Aprile Determinare la fattorizzazione LU della matrice a 1 1 A = 3a 2 a 2a a a 2 A =

Calcolo dell n-esimo numero di Fibonacci

Metodi per la risoluzione di sistemi lineari

Classificazione introduzione

INTERPOLAZIONI CON SPLINE

Lezione 13 Maggio Ricapitolazione del Controllo Ottimo LQ

Edit distance. v intner RIMDMDMMI wri t ers

Esercizio da portare all orale

Programmazione dinamica

Corso di Visione Artificiale. Texture. Samuel Rota Bulò

UNIVERSITÀ DEGLI STUDI DI MILANO. Bioinformatica. A.A semestre I 1 INTRODUZIONE

Programmazione dinamica

Valutazione delle Prestazioni di un Classificatore. Performance Evaluation

PROGRAMMAZIONE DINAMICA. Prof. Reho Gabriella Olimpiadi di Informatica

SISTEMI DI EQUAZIONI LINEARI

Inversa di una matrice

Istituzioni di Matematiche sesta parte

Sistemi di numerazione

COME NASCE UN FASCICOLO? CHI PREPARA I QUESITI? DUE PAROLE SU:

Omologia di sequenze: allineamento e ricerca

Computazione per l interazione naturale: Regressione probabilistica

Analisi dei dati diagnostici

Fondamenti di Informatica T. Linguaggio C: Stack e Ricorsione

UNIVERSITÀ DEGLI STUDI DI MILANO. Giorgio Valentini. Bioinformatica. A.A semestre I 1 INTRODUZIONE

Corso di Matematica Applicata A.A

L'implementazione delle ROC Curve nei modelli GAMLSS come strumento di previsione per i Big Data

La statistica e i test diagnostici

Esercizi 3, 1. Prof. Thomas Parisini. Esercizi 3, 3 Regola:

Stabilità per sistemi a tempo continuo

Topologia della matrice di rigidezza

MATRICI E SISTEMI LINEARI

Corso di Perfezionamento

Linguaggio C++ 8. Matrici

Allineamento multiplo di sequenze

Diverse politiche. La ricorsione PROGRAMMAZIONE TOP-DOWN ESEMPIO. Bottom-Up. Di solito è meglio alternare le due tecniche

ALLINEAMENTO DI SEQUENZE

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Chi non risolve esercizi non impara la matematica.

Stima della qualità dei classificatori per l analisi dei dati biomolecolari

05. Determinare una base ortonormale per ognuno dei seguenti spazi vettoriali.

Anno 4 Matrice inversa

13 Esercizi di Riepilogo

MODALITA DI VALUTAZIONE DELL ACCURATEZZA DIAGNOSTICA

Programmazione Lineare: problema del trasporto Ing. Valerio Lacagnina

Elementi di Algebra Lineare Matrici e Sistemi di Equazioni Lineari

Transcript:

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.