1 / 83

Efficient q -Gram Filters for Finding All Î -Matches over a Given Length

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

xadrian
Download Presentation

Efficient q -Gram Filters for Finding All Î -Matches over a Given Length

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. Come risolvere il problema? Tipologie di algoritmo: • esatto • euristico • filtro Q-Gram Filters for Finding All Î-Matches

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. Lemma 1 - Precisazioni τ = f(n0,q,e) = (n0+1) – q(e+1) e = ëÎn0 û Q-Gram Filters for Finding All Î-Matches

  34. Lemma 1 - Precisazioni τ = f(n0,q,e) = (n0+1) – q(e+1) e = ëÎn0 û Q-Gram Filters for Finding All Î-Matches

  35. Lemma 1 - Precisazioni τ = f(n0,q,e) = (n0+1) – q(e+1) e = ëÎn0 û Q-Gram Filters for Finding All Î-Matches

  36. Trovare i parallelogrammi n0=8 e=2 q=2 τ=3 Q-Gram Filters for Finding All Î-Matches

  37. Trovare i parallelogrammi β PB n0=8 e=2 q=2 τ=3 PA α Q-Gram Filters for Finding All Î-Matches

  38. Trovare i parallelogrammi n0=8 e=2 q=3 τ=0 Q-Gram Filters for Finding All Î-Matches

  39. 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

  40. 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

  41. 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

  42. 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

  43. 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

  44. Formulazione completa - Deriviamo τ Per , è strettamente crescente Q-Gram Filters for Finding All Î-Matches

  45. 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

  46. Formulazione completa -Deriviamo τ Q-Gram Filters for Finding All Î-Matches

  47. 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

  48. 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

  49. 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

  50. 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

More Related