830 likes | 1k Views
Efficient q -Gram Filters for Finding All Î -Matches over a Given Length. Kim R. Rasmussen, Jens Stoye, Eugene W. Myers. Seminario di: Francesca Pratesi Giacomo Righetti. Sommario. Motivazioni biologiche del problema Differenze tra algoritmo esatto, euristiche e filtri
E N D
Efficient q-Gram Filters for Finding All Î-Matches over a Given Length Kim R. Rasmussen, Jens Stoye, Eugene W. Myers Seminario di: Francesca Pratesi Giacomo Righetti Q-Gram Filters for Finding All Î-Matches
Sommario • Motivazioni biologiche del problema • Differenze tra algoritmo esatto, euristiche e filtri • Definizione del problema • Formulazione semplificata - alcuni esempi - condizioni di filtraggio - algoritmo proposto • Formulazione completa - condizioni di filtraggio - algoritmo completo - complessità • Applicazioni e risultati sperimentali Q-Gram Filters for Finding All Î-Matches
Motivazioni biologiche Comparare sequenze biomolecolari A, B Î ∑* È interessante ricercare sequenze omologhe • L’omologia (carattere qualitativo) fa riferimento ad una relazione evolutiva presente o assente. • La similarità (carattere quantitativo) fa riferimento al grado di similitudine che viene misurato tra due sequenze precedentemente allineate. • Allineare due o più sequenze vuol dire determinare una relazione tra le sequenze in modo da rendere massimo il grado di similarità • L’allineamento può essere globale oppure locale Q-Gram Filters for Finding All Î-Matches
Motivazioni biologicheSequence similarity • Si possono identificare delle regioni funzionali (ad esempio siti, geni o proteine) in sequenze biologiche • Da queste regioni è possibile ricavare altre informazioni; ad esempio, attraverso la ricerca di similarità tra siti di restrizione è possibile localizzare potenziali enzimi di restrizione (Rebase software di R. Roberts) • C'è un algoritmo derivato da Smith-Waterman che serve per trovare potenziali geni gRNA (che guida la modifica del criptogene) da un dato criptogene (gene originale) • Le trascriptasi inverse sono proteine omologhe, usate da alcuni tipi di retrovirus (Moloney murine leukemia e HIV Type I) per replicare la propria informazione genetica che è conservata nell'RNA Q-Gram Filters for Finding All Î-Matches
Motivazioni biologicheSequence similarity Methanocaldococcus Jannaschii: ha delle caratteristiche degli eucarioti (proteine coinvolte nella trascrizione, traduzione e regolazione) e altre dei procarioti (assenza di membrana nucleare, proteine del metabolismo) Ricerca degli effetti della sclerosi multipla: la sclerosi multipla è una malattia autoimmune nella quale il sistema immunitario attacca le cellule nervose del paziente È stato ipotizzato che le proteine delle guaine di mielina identificate dalle T-cellule siano simili quelle di alcuni virus o batteri Sono state effettuate delle ricerche che hanno portato all’identificazione di certi epitopi (di batteri e di virus) che potevano essere confuse con le proteine delle guaine protettive di mielina Q-Gram Filters for Finding All Î-Matches
Motivazioni biologicheSequence assembly Un programma (assemblatore) allinea i frammenti e, sfruttando le parti che essi hanno in comune, li mette insieme. Viene ricostruita così la sequenza originale I frammenti sono generati: • tramite shotgun sequencing: il DNA viene diviso in modo casuale in milioni di frammenti (che possono essere letti) • dalla trascrizione di geni (ESTs) Q-Gram Filters for Finding All Î-Matches
Motivazioni biologicheEST clustering Le Expressed Sequence Tag sono dei brevi frammenti di DNA trascritti e sequenziati da una sequenza di cDNA (mRNA risultante dopo il processo di splicing) più lunga Le EST sono strutture indispensabili per la scoperta di geni e lo studio del genoma Un singolo EST rappresenta una sequenza parziale di un gene L’obiettivo è raggruppare EST appartenenti allo stesso gene; per poterli raggruppare, questi si devono sovrapporre e la distanza tra i frammenti non deve superare una certa soglia Q-Gram Filters for Finding All Î-Matches
Sommario • Motivazioni biologiche del problema • Differenze tra algoritmo esatto, euristiche e filtri • Definizione del problema • Formulazione semplificata - alcuni esempi - condizioni di filtraggio - algoritmo proposto • Formulazione completa - condizioni di filtraggio - algoritmo completo - complessità • Applicazioni e risultati sperimentali Q-Gram Filters for Finding All Î-Matches
Come risolvere il problema? Tipologie di algoritmo: • esatto • euristico • filtro Q-Gram Filters for Finding All Î-Matches
Che cos’è un filtro • Serve per ridurre l’area di ricerca • Elimina le sottostringhe che sicuramente non soddisfano il problema • Può restituire dei falsi positivi • È necessario applicare un algoritmo esatto sul risultato restituito (la dimensione dell’input è ridotta) • Si basa su una condizione necessaria Q-Gram Filters for Finding All Î-Matches
A B Fase di filtraggio Fase di verifica Che cos’è un filtro (2) Match potenziali Falsi positivi Match reali Q-Gram Filters for Finding All Î-Matches
A B Fase di filtraggio Fase di verifica Che cos’è un filtro (2) Preprocessing Indice Match potenziali Falsi positivi Match reali Q-Gram Filters for Finding All Î-Matches
Lavori precedenti • L’inefficienza di Smith-Waterman ha motivato lo sviluppo di euristiche quali FASTA (1988) e BLAST (1990-97) • Il primo algoritmo di filtraggio è stato quello di Ukkonen (1992) • QUASAR (Burkhardt 1999) basato sul precedente • SSAHA (Ning 2001) e BLAT (Kent 2002) • FLASH (Califano, Rigoutos 1993) Q-Gram Filters for Finding All Î-Matches
Sommario • Motivazioni biologiche del problema • Differenze tra algoritmo esatto, euristiche e filtri • Definizione del problema • Formulazione semplificata - alcuni esempi - condizioni di filtraggio - algoritmo proposto • Formulazione completa - condizioni di filtraggio - algoritmo completo - complessità • Applicazioni e risultati sperimentali Q-Gram Filters for Finding All Î-Matches
Definizione del problema allineamento (L) sequenza di operazioni (inserzione, cancellazione, sostituzione) per far sì che B sia uguale ad A δ(L) numero di operazioni in L distδ(A,B) min{δ(L)} error rate (Î) q-gram sottostringa di lunghezza q q-hit coppia (i,j) tale che A[i, i+q-1]=B[j, j+q-1] Q-Gram Filters for Finding All Î-Matches
Alcuni esempi 0 123 45 6 789 10 11 12 13 14 A = ACCTTTGCAAACGTA B = CGCAAACCGTTTGC 5-gram: A B {ACCTT,CCTTT,CTTTG,TTTGC,TTGCA,TGCAA,GCAAA,CAAAC,AAACG,AACGT,ACGTA} {CGCAA,GCAAA,CAAAC,AAACC,AACCG,ACCGT,CCGTT,CGTTT,GTTTG,TTTGC} Q-Gram Filters for Finding All Î-Matches
Alcuni esempi 0 123 45 6 789 10 11 12 13 14 A = ACCTTTGCAAACGTA B = CGCAAACCGTTTGC 5-gram: A B {ACCTT,CCTTT,CTTTG,TTTGC,TTGCA,TGCAA,GCAAA,CAAAC,AAACG,AACGT,ACGTA} {CGCAA,GCAAA,CAAAC,AAACC,AACCG,ACCGT,CCGTT,CGTTT,GTTTG,TTTGC} 5-hit: { (CAAAC,7,2) , (TTTGC,3,9) } Q-Gram Filters for Finding All Î-Matches
Definizione del problema Trovare gli Î-match (allineamento locale con error rate al più Î) Input: due stringhe A e B, una lunghezza minima n0 ed un error rate massimo Î Output: tutti gli Î-match(α,β) dove α e β sono sottostringhe di A e B e |β|³n0 e distδ(α,β)£ ëÎ|β|û Q-Gram Filters for Finding All Î-Matches
Idea di base • Cercare tutti i q-hit tra le due stringhe • Identificare le regioni contenenti “abbastanza” q-hit • Esaminare più attentamente queste regioni Q-Gram Filters for Finding All Î-Matches
Sommario • Motivazioni biologiche del problema • Differenze tra algoritmo esatto, euristiche e filtri • Definizione del problema • Formulazione semplificata - alcuni esempi - condizioni di filtraggio - algoritmo proposto • Formulazione completa - condizioni di filtraggio - algoritmo completo - complessità • Applicazioni e risultati sperimentali Q-Gram Filters for Finding All Î-Matches
Formulazione iniziale Caso più semplice: |β|=n0 La struttura di base usata per risolvere il problema è il “parallelogramma”, associata all’uso della matrice di edit Q-Gram Filters for Finding All Î-Matches
Trovare i parallelogrammi Esempio: date le stringhe GATCT e ACGTC B Supponiamo di ricercare regioni contenenti 2 q-hit A Q-Gram Filters for Finding All Î-Matches
Trovare i parallelogrammi Esempio: date le stringhe GATCT e ACGTC B Supponiamo di ricercare regioni contenenti 2 q-hit A Q-Gram Filters for Finding All Î-Matches
Trovare i parallelogrammi Esempio: date le stringhe GATCT e ACGTC B Supponiamo di ricercare regioni contenenti 2 q-hit A Q-Gram Filters for Finding All Î-Matches
Trovare i parallelogrammi Esempio: date le stringhe GATCT e ACGTC B Supponiamo di ricercare regioni contenenti 2 q-hit A Q-Gram Filters for Finding All Î-Matches
Trovare i parallelogrammi Esempio: date le stringhe GATCT e ACGTC . B Supponiamo di ricercare regioni contenenti 2 q-hit A . . Q-Gram Filters for Finding All Î-Matches
Trovare i parallelogrammi Parallelogramma n0·e n0 caratteri Supponiamo di ricercare regioni contenenti 2 q-hit e+1 diagonali Q-Gram Filters for Finding All Î-Matches
Trovare i parallelogrammi Esempio: date le stringhe GATCT e ACGTC B Supponiamo di ricercare regioni contenenti 2 q-hit ATC A-C A Q-Gram Filters for Finding All Î-Matches
Trovare i parallelogrammi Esempio: date le stringhe GATCT e ACGTC B Supponiamo di ricercare regioni contenenti 2 q-hit A e+1 diagonali Q-Gram Filters for Finding All Î-Matches
Trovare i parallelogrammi Esempio: date le stringhe GATCT e ACGTC B Supponiamo di ricercare regioni contenenti 2 q-hit ATCT ACGT A Q-Gram Filters for Finding All Î-Matches
Trovare i parallelogrammi Esempio: date le stringhe GATCT e ACGTC PB B A Supponiamo di ricercare regioni contenenti 2 q-hit PA Q-Gram Filters for Finding All Î-Matches
Lemma 1 Siano α e β sottostringhe di A e B tali che |β|=n0 e distδ(α,β) £ e e = ëÎn0 û τ = f(n0,q,e) = (n0+1) – q(e+1) Esiste un parallelogramma n0 ·e tale che: • contiene almeno τq-hit • β è la proiezione di B • la proiezione di A è contenuta in α Q-Gram Filters for Finding All Î-Matches
Lemma 1 - Precisazioni τ = f(n0,q,e) = (n0+1) – q(e+1) e = ëÎn0 û Q-Gram Filters for Finding All Î-Matches
Lemma 1 - Precisazioni τ = f(n0,q,e) = (n0+1) – q(e+1) e = ëÎn0 û Q-Gram Filters for Finding All Î-Matches
Lemma 1 - Precisazioni τ = f(n0,q,e) = (n0+1) – q(e+1) e = ëÎn0 û Q-Gram Filters for Finding All Î-Matches
Trovare i parallelogrammi n0=8 e=2 q=2 τ=3 Q-Gram Filters for Finding All Î-Matches
Trovare i parallelogrammi β PB n0=8 e=2 q=2 τ=3 PA α Q-Gram Filters for Finding All Î-Matches
Trovare i parallelogrammi n0=8 e=2 q=3 τ=0 Q-Gram Filters for Finding All Î-Matches
Passi dell’algoritmo (1) Preprocessing:Indicizziamo la stringa A, in modo da sapere le occorrenze di ogni q-gram (Morris-Pratt) Q-Gram Filters for Finding All Î-Matches
Passi dell’algoritmo (2) • Si trovano tutti i q-hit • Per ogni possibile parallelogramma • Si contano quante occorrenze di q-hit vi sono • Se tale numero supera la soglia τ α e β potrebbero costituire un Î-match Q-Gram Filters for Finding All Î-Matches
Sommario • Motivazioni biologiche del problema • Differenze tra algoritmo esatto, euristiche e filtri • Definizione del problema • Formulazione semplificata - alcuni esempi - condizioni di filtraggio - algoritmo proposto • Formulazione completa - condizioni di filtraggio - algoritmo completo - complessità • Applicazioni e risultati sperimentali Q-Gram Filters for Finding All Î-Matches
Formulazione completa In questo caso: |β|≥n0 • È necessaria una nuova funzione per il calcolo di τ • Parallelogramma w x e’ (di area maggiore rispetto al precedente) • β può non coincidere con pB • pB può coincidere con B • pA può coincidere con α Q-Gram Filters for Finding All Î-Matches
Formulazione completa - Deriviamo τ U(1, 2, 0.25) = 0 U(2, 2, 0.25) = 0 U(3, 2, 0.25) = 2 U(4, 2, 0.25) = 1 U(5, 2, 0.25) = 2 U(6, 2, 0.25) = 3 U(7, 2, 0.25) = 4 U(8, 2, 0.25) = 3 … Q-Gram Filters for Finding All Î-Matches
Formulazione completa - Deriviamo τ Per , è strettamente crescente Q-Gram Filters for Finding All Î-Matches
Formulazione completa - Deriviamo τ È sufficiente calcolare la funzione in n0 e in n1 Per non perdere soluzioni, la scelta di τ deve essere meno vincolante possibile (quella in cui sono richiesti meno q-hit) Q-Gram Filters for Finding All Î-Matches
Formulazione completa -Deriviamo τ Q-Gram Filters for Finding All Î-Matches
Dimensionamento del parallelogramma - Calcolo di e Un parallelogramma, per essere considerato valido, deve contenere almeno τ q-hit (distribuiti lungo più diagonali) Q-Gram Filters for Finding All Î-Matches
Dimensionamento del parallelogramma - Calcolo di e e deve essere sufficientemente grande, ma non troppo (per non aumentare i falsi positivi) Conoscendo il numero di q-hit richiesti (dato da U) e il numero massimo di q-hit contenuti in una diagonale (τ -1), si trova il numero di diagonali su cui si distribuiscono i q-hit Q-Gram Filters for Finding All Î-Matches
Dimensionamento del parallelogramma - Calcolo di e Si stabilisce una relazione tra questo valore e il numero di errori ammessi nel caso dello specifico parallelogramma (di dimensioni ), ottenendo: Q-Gram Filters for Finding All Î-Matches
Dimensionamento del parallelogramma - Calcolo di w Effettuando vari calcoli, si ottiene una formula per trovare il valore dell’altra dimensione del parallelogramma: Q-Gram Filters for Finding All Î-Matches