Q-Gram Filters for Finding All -Matches Efficient q-Gram Filters for Finding All -Matches over a Given Length Seminario di: Francesca Pratesi Giacomo Righetti.

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture Dati
Advertisements

UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA
UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA
Algoritmi e Strutture Dati
All-Against-All Sequence Matching Implementazione Mediante Suffix Array e Analisi Prestazionale Comparata Corelatori: Dott. Federica Mandreoli Ing. Riccardo.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Capitolo 8 Sistemi lineari.
Informatica Generale Marzia Buscemi
UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA
RICERCA DI SIMILARITA’ IN BANCHE DATI
Algoritmi e Strutture Dati
Bioinformatica Pictar – miRanda - TargetScan – miRiam
Allineamento di sequenze
Cammini minimi con una sorgente
RICONOSCIMENTO DI SEQUENZE DI EVENTI
The Knuth-Morris-Pratt Algorithm
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
L 16 Progetto delle alternative Andrea Castelletti Modellistica e Controllo dei Sistemi Ambientali.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 05/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
TRASCRIZIONE del DNA.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Algoritmi e Strutture Dati (Mod. B)
Ricerca della Legge di Controllo
Scene Modelling, Recognition and Tracking
Algoritmi e Strutture Dati
Metodi basati sulle similitudini per dedurre la funzione di un gene
Fogli elettronici - Spreadsheet
Bioinformatica Andrea G. B. Tettamanzi.
Corso di Laurea in Ingegneria per lAmbiente e il Territorio Informatica per lAmbiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea.
Notazioni Asintotiche e Ordini di Grandezza delle funzioni
Intelligenza Artificiale Algoritmi Genetici
Biologia Computazionale - Algoritmi
Allineamento Metodo bioinformatico che date due o più sequenze ne mette in evidenza similarità/diversità, supponendo che le sequenze analizzate abbiano.
Algoritmi di String Matching
FASTA: Lipman & Pearson (1985) BLAST: Altshul (1990)
Elementi di Informatica di base
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
Passo 3: calcolo del costo minimo
Programmazione di Calcolatori
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Docente: Dr. Stefania Bortoluzzi Dipartimento di Biologia
Il progetto genoma umano
Sessione live Testing. Esercizio Quesito 1 Soluzione 1.
Dip. Scienze Biomolecolari e Biotecnologie
L’EQUILIBRIO ECONOMICO GENERALE
La ricorsione.
GLI ALGORITMI VISIBILE SUL BLOG INFORMATICA ANNO SCOLASTICO 2013 / 2014 GABRIELE SCARICA 2°T.
Esercitazione su Vector. Permette di definire collezioni di dati generiche, che sono in grado di memorizzare elementi di ogni sottotipo di Object Definito.
Esempio di utilizzo del programma BLAST disponibile all’NCBI
IV LEZIONE Uso di Genome Browser per l'annotazione di sequenze genomiche. Allineamento di sequenze trascritte con sequenze genomiche: BLAT.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Computational analysis of data by statistical methods
UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA Corso di BIOINFORMATICA: TECNICHE DI BASE Prof. Giancarlo Mauri Lezione 3 Mappe genetiche.
UNIVERSITA’ DI MILANO-BICOCCA CdL IN INFORMATICA Corso di ALGORITMI COMPLEMENTI Prof. Giancarlo Mauri Distanza di edit e programmazione dinamica.
Allineamento di sequenze
Automi temporizzati.
Problemi risolvibili con la programmazione dinamica Abbiamo usato la programmazione dinamica per risolvere due problemi. Cerchiamo ora di capire quali.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Il progetto genoma umano e gli altri progetti genoma: importanza degli organismi-modello.
Sistema di ricerca Entrez Insieme di banche dati contenenti svariati tipi di informazioni biomediche, interrogabile mediante un’unica interfaccia Concetto.
Computer assisted translation (CAT - 2) Cristina Bosco Informatica applicata alla comunicazione multimediale
Allineamenti Multipli Problema Durante l’evoluzione i residui importanti per il mantenimento della struttura e della funzione sono conservati. Come riconoscere.
Transcript della presentazione:

Q-Gram Filters for Finding All -Matches Efficient q-Gram Filters for Finding All -Matches over a Given Length Seminario di: Francesca Pratesi Giacomo Righetti Kim R. Rasmussen, Jens Stoye, Eugene W. Myers

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 Comparare sequenze biomolecolari A, B * È interessante ricercare sequenze omologhe Lomologia (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à Lallineamento può essere globale oppure locale Motivazioni biologiche

Q-Gram Filters for Finding All -Matches 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 Motivazioni biologiche Sequence similarity

Q-Gram Filters for Finding All -Matches Motivazioni biologiche Sequence 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 allidentificazione 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 biologiche Sequence 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 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 Lobiettivo è 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 Motivazioni biologiche EST clustering

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 larea 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 dellinput è ridotta) Si basa su una condizione necessaria

Q-Gram Filters for Finding All -Matches Che cosè un filtro (2) Fase di filtraggio Fase di verifica AB Match potenziali Falsi positivi Match reali

Q-Gram Filters for Finding All -Matches Che cosè un filtro (2) Fase di filtraggio Fase di verifica AB Match potenziali Falsi positivi Match reali Preprocessing Indice

Q-Gram Filters for Finding All -Matches Lavori precedenti Linefficienza di Smith-Waterman ha motivato lo sviluppo di euristiche quali FASTA (1988) e BLAST ( ) 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 5-gram: A B {ACCTT,CCTTT,CTTTG,TTTGC,TTGCA,TGCAA, GCAAA,CAAAC,AAACG,AACGT,ACGTA} {CGCAA,GCAAA,CAAAC,AAACC,AACCG,ACCGT,C CGTT,CGTTT,GTTTG,TTTGC} A = ACC T T T GCAAACGTA B = CGCAAACCGT T T GC

Q-Gram Filters for Finding All -Matches Alcuni esempi A = ACC T T T GCAAACGTA B = CGCAAACCGT T T GC 5-gram: A B {ACCTT,CCTTT,CTTTG,TTTGC,TTGCA,TGCAA, GCAAA,CAAAC,AAACG,AACGT,ACGTA} {CGCAA,GCAAA,CAAAC,AAACC,AACCG,ACCGT,C CGTT,CGTTT,GTTTG,TTTGC} 5-hit: { (CAAAC,7,2), (TTTGC,3,9) }

Q-Gram Filters for Finding All -Matches Trovare gli -match (allineamento locale con error rate al più ) Input: due stringhe A e B, una lunghezza minima n 0 ed un error rate massimo Output: tutti gli -match(α,β) dove α e β sono sottostringhe di A e B e |β|n 0 e dist δ (α,β)β Definizione del problema

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: |β|=n 0 La struttura di base usata per risolvere il problema è il parallelogramma, associata alluso della matrice di edit

Q-Gram Filters for Finding All -Matches Trovare i parallelogrammi Esempio: date le stringhe GATCT e ACGTC A B Supponiamo di ricercare regioni contenenti 2 q-hit

Q-Gram Filters for Finding All -Matches Trovare i parallelogrammi A B Esempio: date le stringhe GATCT e ACGTC Supponiamo di ricercare regioni contenenti 2 q-hit

Q-Gram Filters for Finding All -Matches Trovare i parallelogrammi A B Esempio: date le stringhe GATCT e ACGTC Supponiamo di ricercare regioni contenenti 2 q-hit

Q-Gram Filters for Finding All -Matches Trovare i parallelogrammi A B Esempio: date le stringhe GATCT e ACGTC Supponiamo di ricercare regioni contenenti 2 q-hit

Q-Gram Filters for Finding All -Matches... Trovare i parallelogrammi A B Esempio: date le stringhe GATCT e ACGTC Supponiamo di ricercare regioni contenenti 2 q-hit

Q-Gram Filters for Finding All -Matches Trovare i parallelogrammi e+1 diagonali n 0 caratteri Parallelogramma n 0 · e Supponiamo di ricercare regioni contenenti 2 q-hit

Q-Gram Filters for Finding All -Matches Trovare i parallelogrammi A B A T CA - CA T CA - C Esempio: date le stringhe GATCT e ACGTC Supponiamo di ricercare regioni contenenti 2 q-hit

Q-Gram Filters for Finding All -Matches Trovare i parallelogrammi e+1 diagonali A B Esempio: date le stringhe GATCT e ACGTC Supponiamo di ricercare regioni contenenti 2 q-hit

Q-Gram Filters for Finding All -Matches Trovare i parallelogrammi A T CT A CGT A B Esempio: date le stringhe GATCT e ACGTC Supponiamo di ricercare regioni contenenti 2 q-hit

Q-Gram Filters for Finding All -Matches Trovare i parallelogrammi PAPA PBPB A B Esempio: date le stringhe GATCT e ACGTC Supponiamo di ricercare regioni contenenti 2 q-hit

Q-Gram Filters for Finding All -Matches Lemma 1 Siano α e β sottostringhe di A e B tali che |β|=n 0 e dist δ (α,β) e e = n 0 τ = f(n 0,q,e) = (n 0 +1) – q(e+1) Esiste un parallelogramma n 0 · 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(n 0,q,e) = (n 0 +1) – q(e+1) e = n 0

Q-Gram Filters for Finding All -Matches Lemma 1 - Precisazioni τ = f(n 0,q,e) = (n 0 +1) – q(e+1) e = n 0

Q-Gram Filters for Finding All -Matches Lemma 1 - Precisazioni τ = f(n 0,q,e) = (n 0 +1) – q(e+1) e = n 0

Q-Gram Filters for Finding All -Matches Trovare i parallelogrammi n 0 =8 e=2 q=2 τ =3

Q-Gram Filters for Finding All -Matches Trovare i parallelogrammi α β PAPA PBPB n 0 =8 e=2 q=2 τ =3

Q-Gram Filters for Finding All -Matches Trovare i parallelogrammi n 0 =8 e=2 q=3 τ =0

Q-Gram Filters for Finding All -Matches Passi dellalgoritmo (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 dellalgoritmo (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: |β|n 0 È necessaria una nuova funzione per il calcolo di τ Parallelogramma w x e (di area maggiore rispetto al precedente) β può non coincidere con p B p B può coincidere con B p A 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 Per, è strettamente crescente Formulazione completa - Deriviamo τ

Q-Gram Filters for Finding All -Matches Formulazione completa - Deriviamo τ Per non perdere soluzioni, la scelta di τ deve essere meno vincolante possibile (quella in cui sono richiesti meno q-hit) È sufficiente calcolare la funzione in n 0 e in n 1

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

Q-Gram Filters for Finding All -Matches Un parallelogramma, per essere considerato valido, deve contenere almeno τ q-hit (distribuiti lungo più diagonali) Dimensionamento del parallelogramma - Calcolo di e

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 dellaltra dimensione del parallelogramma:

Q-Gram Filters for Finding All -Matches Lemma 2 Sia β una sottostringa di B tale che |β|n 0 che ha un match con una sottostringa α di A Siano,, e Esiste un parallelogramma w · e: contenente almeno τ q-hit le cui proiezioni intersecano α e β Se |β|w allora P B contiene β; altrimenti è una sottostringa di β

Q-Gram Filters for Finding All -Matches Alcuni valori desempio Aumentando τ aumentano anche n0, w ed e Parametri ottenuti con =0,05:

Q-Gram Filters for Finding All -Matches Algoritmo completo Preprocessing Indicizziamo la stringa A, in modo da sapere tutte le occorrenze di ogni possibile q-Gram Iterazione Troviamo tutti i possibili parallelogrammi w · e Sfruttiamo il concetto di bin (insieme di (e+1) diagonali adiacenti) e di sliding window Un bin conta il numero di q-hit contenuti nel parallelogramma definito dalle diagonali del bin e dalle colonne della sliding window

Q-Gram Filters for Finding All -Matches Algoritmo completo (2) B A

Q-Gram Filters for Finding All -Matches Algoritmo completo (2) B A e+Δ

Q-Gram Filters for Finding All -Matches Algoritmo completo (2) B A e+Δ τ q-hit non possono essere dispersi in più di e+1 diagonali

Q-Gram Filters for Finding All -Matches Algoritmo completo (2) B A e+Δ

Q-Gram Filters for Finding All -Matches Algoritmo completo (2) B A e+Δ

Q-Gram Filters for Finding All -Matches Algoritmo completo (2) B A e+Δ

Q-Gram Filters for Finding All -Matches Algoritmo completo (2) B A e+Δ

Q-Gram Filters for Finding All -Matches Algoritmo completo (2) B A

Q-Gram Filters for Finding All -Matches Algoritmo completo (3) Ottimizzazioni in tempo: non si possono avere τ q-hit in una stringa più corta di q+ τ -1 –si rilassa il problema, considerando i parallelogrammi w· e, con w q+ τ -1 due q-hit distanti più di w-q posizioni (in B) non possono stare nello stesso parallelogramma –per ogni bin, si usano gli indici min e max per indicare rispettivamente il minimo e il massimo indice j (riferito a B) dei q-hit trovati –si termina nel momento in cui si trova un q-hit tale per cui j- w+q >max

Q-Gram Filters for Finding All -Matches Algoritmo completo - Precisazioni In seguito a queste ottimizzazioni, lalgoritmo può perdere accuratezza (si creano un maggior numero di falsi positivi). Questo non comporta conseguenze solamente negative perché anche questi casi possono essere interessanti da un punto di vista biologico (Può capitare in casi particolari, in cui i q-hit si trovano esattamente ogni w-q+1 posizioni in B)

Q-Gram Filters for Finding All -Matches Complessità in tempo Preprocessing: Lunghezza liste (pessimo): | A | Lunghezza liste (medio):

Q-Gram Filters for Finding All -Matches Complessità in tempo Complessità (medio): Preprocessing: Lunghezza liste (pessimo): | A | Lunghezza liste (medio): Complessità (pessimo): O(| A |·| B |)

Q-Gram Filters for Finding All -Matches Complessità in spazio Dimensione tabella occorrenze: Totale occorrenze: |A| Numero massimo di entrate:

Q-Gram Filters for Finding All -Matches Complessità in spazio Dimensione tabella occorrenze: Totale occorrenze: |A| Numero massimo di entrate: Parallelogrammi: w·(e+Δ) Δ>0 Ogni bin è associato a: e+Δ diagonali I bin si sovrappongono su e diagonali

Q-Gram Filters for Finding All -Matches Complessità in spazio Dimensione tabella occorrenze: Totale occorrenze: |A| Numero massimo di entrate: Parallelogrammi: w·(e+Δ) Δ>0 Ogni bin è associato a: e+Δ diagonali I bin si sovrappongono su e diagonali Bin richiesti: Di solito: Δ = 2 z, 2 z >e, z

Q-Gram Filters for Finding All -Matches Complessità in spazio Dimensione tabella occorrenze: Totale occorrenze: |A| Numero massimo di entrate: Parallelogrammi: w·(e+Δ) Δ>0 Ogni bin è associato a: e+Δ diagonali I bin si sovrappongono su e diagonali Bin richiesti: Di solito: Δ = 2 z, 2 z >e, z

Q-Gram Filters for Finding All -Matches Complessità in spazio Bin e parallelogrammi: 3 interi Totale bin: Totale parallelogrammi: 3p

Q-Gram Filters for Finding All -Matches Complessità in spazio Bin e parallelogrammi: 3 interi Totale bin: Totale parallelogrammi: 3p Tabella occorrenze + bin + parallelogrammi Complessità: 3p

Q-Gram Filters for Finding All -Matches Complessità in spazio Bin e parallelogrammi: 3 interi Totale bin: Totale parallelogrammi: 3p Tabella occorrenze + bin + parallelogrammi Complessità: 3p

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 Applicazioni I filtri trovano maggior utilizzo negli allineamenti di sequenze di DNA che non in quelle di aminoacidi Alcuni esempi: Sequence assembly EST clustering

Q-Gram Filters for Finding All -Matches Applicazioni – Sequence assembly Nel contesto biologico del sequence assembly, il filtro è usato per costruire l'overlapper dei frammenti Si costruisce una stringa A concatenando i frammenti Il filtro viene applicato ad A su se stessa, ignorando gli hit sulla diagonale della matrice di edit e sotto di essa

Q-Gram Filters for Finding All -Matches Risultati sperimentali - Sequence assembly Si possono allineare sequenze di 60 Mbp (n 0 =50, =5%) in 90 secondi (Apple PowerBook G4, 1Gb di memoria) Problemi di 1,8 Gbp (D. melanogaster) sono risolti in 18 ore Utilizzando un Intel Itanium II con 16 Gb di memoria il problema può essere risolto in meno di 2 ore

Q-Gram Filters for Finding All -Matches Applicazioni – EST clustering Si utilizza il filtro adottando lidea di BLAST Si trovano i seed

Q-Gram Filters for Finding All -Matches Applicazioni – EST clustering Si utilizza il filtro adottando lidea di BLAST Si trovano i seed I seed vengono estesi

Q-Gram Filters for Finding All -Matches Risultati sperimentali – EST Clustering Si confrontano i risultati ottenuti con: SSEARCH (implementazione di Smith-Waterman) BLAST SWIFT (un algoritmo basato sul filtro)

Q-Gram Filters for Finding All -Matches Risultati sperimentali – EST Clustering (2) Sono selezionate casualmente sequenze dal DNA dellH. sapiens (25Mbp) e sequenze dal DNA del M. musculus (2Mbp) La lunghezza dei q-gram è 11 Lo score minimo richiesto è 16 SSEARCH è stato eseguito su un cluster di 50 UltraSparcIIe a 500 MHz BLAST e SWIFT sono stati eseguiti su un AMD Athlon-XP a 2 Ghz

Q-Gram Filters for Finding All -Matches Risultati sperimentali – EST Clustering (3) Confrontiamo i risultati ottenuti variando ed n 0 in SWIFT

Q-Gram Filters for Finding All -Matches Risultati sperimentali – EST Clustering (3) Filtration Ratio: rapporto tra area totale dei parallelogrammi restituiti e dimensione totale della matrice di edit

Q-Gram Filters for Finding All -Matches Bibliografia Comincioli, V. Biomatematica: interazioni tra le scienze della vita e la matematica. APOGEO (2005), par Setubal, J., Meidanis, J. Introduction To Computational Molecular Biology. PSW (1997), cap 3 Clote, P., Backofen, R. Computational Molecular Biology An Introduction. WILEY (2000), par 3.1, 3.6 Lesk, Introduzione alla bioinformatica. McGraw-Hill Myers, E., Rasmussen, K.R., Stoye, J., Efficient q-Gram Filters for Finding All Eps-Matches over a Given Length. J. Comp. Biol. (2006) 13(2). Pp e relative slides Wikipedia Pop, M., Salzberg, S.L., Shumway, M., Genome Sequence Assembly: Algorithms and Issues. IEEE (2002). Pp Genome sequence assembly primer Cerutti, L., EST clustering (2003) Combinatorial Pattern Matching