All-Against-All Sequence Matching Implementazione Mediante Suffix Array e Analisi Prestazionale Comparata Corelatori: Dott. Federica Mandreoli Ing. Riccardo Martoglia Relatore: Prof. Paolo Tiberio Tesi di: Dario Gelmini
Dati due insiemi di sequenze A e B Confrontare tutte le sotto-sequenze di A con tutte le sotto-sequenze di B indicandone il grado di Similitudine Problema …A A A C T G T T A … …A A A C T G T T A … …C T A G T A T A G… …C T A G T A T A G… Sequenza A Sequenza B CT GT TA Sottosequenze Comuni
Come Procedere Scansione delle sequenzeScansione delle sequenze Valutazione delle CoppieValutazione delle Coppie Coppie di Sottosequenze DistanzaeLunghezzaMinima
Edit Distance A C T G T A C T T T G T A A C T T T G T A ACTTTGTA A C T G T C i-1,j-1 se lettera uguale C i-1,j-1 se lettera uguale C i,j = 1 + Max(C i-1,j-1, C i-1,j, C i,j-1 ) altrimenti 1 + Max(C i-1,j-1, C i-1,j, C i,j-1 ) altrimenti
D B D BSequenze ACT 0123 A1012 C2101 A C T T G : G C T T A A C T T G : T T A A C T T G : T A A C T T G : A C T T G : C T T A C T T G : T T A C T T G : T A C T T G : A Creazione Indice sul DB delle Sequenze Esplorazione Ricorsiva dei due Indici Calcolo della distanza per ogni Coppia Filtro sulle Distanze [Baeza-Yates, Gonnet, 1999] (Sequenze Genetiche)
Suffix Tree A C T T T G T A A C T T T G T A A A G T T T C G GC$ / A C $ T TT
Algoritmo [Baeza-Yates, Gonnet, 1999] A T T C G G 1 / G T T C A A 1 / A C T T G G C T T A A C T T G : G C T T A A C T T G : C T T A A C T T G : T T A A C T T G : T A A C T T G : A C T T G : G C T T A C T T G : C T T A C T T G : T T A C T T G : T A C T T G : A
A C T T T G T A C T T T G T A T T T G T A T T G T A T G T A G T A T A A A A C T T T G T A C T T T G T A G T A T A T G T A T T G T A T T T G T A Implementazione (Suffix Tree con Suffix Array) A A G T T T C G GC$ / A C T T T G T A A C T T T G T A C T T T G T A T T T G T A T T G T A T G T A G T A T A A Suffix Tree Suffix Array
[Baeza-Yates, Gonnet] con Suffix Array T T C C T T C C C C C T C C T T C C 4321 C : G C : G G C : T G G C : T T G G C C : G C C : G G C C : T G G C C : T T G G T C C : G T C C : G G T C C : T G G T C C : T T G G T T C C : G T T C C : G G T T C C : T G G T T C C : T T G G T T G G T T G G G G G T G G T T G G 4321
T C C 2 2 T 2 2 T C Applicazione dei Filtri A A A C C C C A A A C A A C A A A C 4321 T T T C T T T C C C C T C C C T C C T C C T C C C T 4321 C C A C C A C C C A 4321 T T C T T C T T T C 4321 Massima Distanza = A C 1 1 A T 1 1 T 1 1 C 2 2 A C A C C T 2 2 T C A C A C T Minima Lunghezza = 2 Lunghezza Minima
[Mandreoli, Martoglia, Tiberio, 2002] (Sequenze Testuali) D B D BSequenze ACT 0123 A1012 C2101 A C T T G : G C T T A A C T T G : T T A A C T T G : T A A C T T G : A C T T G : C T T A C T T G : T T A C T T G : T A C T T G : A Impostazione Parametri di minima Lunghezza e di massima Distanza dei filtri Filtraggio delle sequenze ed estrapolazione coppie potenzialmente simili Calcolo della distanza per ogni coppia Filtro sulle Distanze Sub 2 Position Sub 2 Count Filtri
Prestazioni (Analisi dei Risultati) Filtro sulla Massima Distanza Aumento Sopralineare dei tempi allaumentare della massima distanza consentita Conseguenza dellapplicazione della funzione di Edit Distance a tutte le coppie Filtro sulla Minima Lunghezza Diminuzione lineare dei tempi al Aumentare della lunghezza minima richiesta Conseguenza delloperazione di filtro eseguita senza il calcolo della distanza
Confronto [Baeza-Yates, Gonnet] - [Mandreoli, Martoglia, Tiberio] Scarse Prestazioni su sequenze Testuali Prestazioni Interessanti su sequenze Genetiche
Conclusioni Implementazione Suffix Tree con Suffix Array (Modificato) Suffix Tree con Suffix Array (Modificato) Edit Distance con Corner (Modificato) Edit Distance con Corner (Modificato) Algoritmo di [Baeza-Yates, Gonnet] con Suffix Array Algoritmo di [Baeza-Yates, Gonnet] con Suffix Array Analisi delle Prestazioni Discrete Prestazioni su Insiemi di Sequenze Genetiche Discrete Prestazioni su Insiemi di Sequenze Genetiche Pessime Prestazioni su Insiemi di Sequenze Testuali Pessime Prestazioni su Insiemi di Sequenze Testuali Verifica di validita delle tecniche di Pre-Filtering Verifica di validita delle tecniche di Pre-Filtering