all-against-all sequence matching implementazione mediante suffix array e analisi prestazionale...

14
All-Against-All Sequence All-Against-All Sequence Matching Matching Implementazione Mediante Implementazione Mediante Suffix Array Suffix Array e Analisi Prestazionale e Analisi Prestazionale Comparata Comparata Corelatori: Corelatori: Dott. Federica Mandreoli Dott. Federica Mandreoli Ing. Riccardo Martoglia Ing. Riccardo Martoglia Relatore: Relatore: Prof. Paolo Tiberio Prof. Paolo Tiberio Tesi di: Tesi di: Dario Gelmini Dario Gelmini

Upload: felicita-gatto

Post on 01-May-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: All-Against-All Sequence Matching Implementazione Mediante Suffix Array e Analisi Prestazionale Comparata Corelatori: Dott. Federica Mandreoli Ing. Riccardo

All-Against-All Sequence All-Against-All Sequence MatchingMatching

Implementazione Mediante Suffix Array Implementazione Mediante Suffix Array

e Analisi Prestazionale Comparatae Analisi Prestazionale Comparata

Corelatori:Corelatori:

Dott. Federica MandreoliDott. Federica Mandreoli

Ing. Riccardo MartogliaIng. Riccardo Martoglia

Relatore:Relatore:

Prof. Paolo TiberioProf. Paolo TiberioTesi di:Tesi di:

Dario GelminiDario Gelmini

Page 2: All-Against-All Sequence Matching Implementazione Mediante Suffix Array e Analisi Prestazionale Comparata Corelatori: Dott. Federica Mandreoli Ing. Riccardo

Dati due insiemi di sequenze A e B Dati due insiemi di sequenze A e B

Confrontare tutte le sotto-sequenze di A Confrontare tutte le sotto-sequenze di A

con tutte le sotto-sequenze di Bcon tutte le sotto-sequenze di B

indicandone il grado di Similitudineindicandone il grado di Similitudine

ProblemaProblema

… …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 ASequenza A Sequenza BSequenza B

CTCT

GTGT

TATA

Sottosequenze ComuniSottosequenze Comuni

Page 3: All-Against-All Sequence Matching Implementazione Mediante Suffix Array e Analisi Prestazionale Comparata Corelatori: Dott. Federica Mandreoli Ing. Riccardo

Come ProcedereCome Procedere

• Scansione delle sequenzeScansione delle sequenze

• Valutazione delle CoppieValutazione delle Coppie

Coppie diCoppie diSottosequenzeSottosequenze

DistanzaDistanzaee

LunghezzaLunghezzaMinimaMinima

Page 4: All-Against-All Sequence Matching Implementazione Mediante Suffix Array e Analisi Prestazionale Comparata Corelatori: Dott. Federica Mandreoli Ing. Riccardo

Edit DistanceEdit Distance

A C T G TA C T G T A C T T T G T AA C T T T G T A

A C T T T G T A

0 1 2 3 4 5 6 7 8

A 1 0 1 2 3 4 5 6 7

C 2 1 0 1 2 3 4 5 6

T 3 2 1 0 1 2 3 4 5

G 4 3 2 1 1 2 2 3 4

T 5 4 3 2 1 1 2 2 3

CCi-1,j-1i-1,j-1 se lettera se lettera

ugualeuguale

CCi,ji,j = =

1 + Max(C1 + Max(Ci-1,j-1i-1,j-1, C, Ci-1,ji-1,j, C, Ci,j-1i,j-1) ) altrimentialtrimenti

Page 5: All-Against-All Sequence Matching Implementazione Mediante Suffix Array e Analisi Prestazionale Comparata Corelatori: Dott. Federica Mandreoli Ing. Riccardo

D B D B

SequenzeSequenze

A C T

0 1 2 3

A 1 0 1 2

C 2 1 0 1

A C T T G A C T T G :: G C T T A G C T T A

A C T T G A C T T G :: T T A T T A

A C T T G A C T T G :: T A T A

A C T T G A C T T G :: A A

C T T G C T T G :: C T T A C T T A

C T T G C T T G :: T T A T T A

C T T G C T T G :: T A T A

C T T G C T T G :: A A

22

22

33

44

55

22

11

22

Creazione IndiceCreazione Indice

sul DB delle Sequenzesul DB delle Sequenze

Esplorazione RicorsivaEsplorazione Ricorsiva

dei due Indicidei due Indici

Calcolo della distanzaCalcolo della distanza

per ogni Coppiaper ogni Coppia

Filtro sulle DistanzeFiltro sulle Distanze

[Baeza-Yates, Gonnet, 1999][Baeza-Yates, Gonnet, 1999](Sequenze Genetiche)(Sequenze Genetiche)

Page 6: All-Against-All Sequence Matching Implementazione Mediante Suffix Array e Analisi Prestazionale Comparata Corelatori: Dott. Federica Mandreoli Ing. Riccardo

Suffix TreeSuffix Tree

A C T T T G T AA C T T T G T A

1 2 3 4 5 6 7 81 2 3 4 5 6 7 8

11

88

22

66

33

44

55

77

AA

AA

GG

TT

TT

TT

CC

GG

GG

CC

$$11

22

33//AA

CC

$$TT TT TT

Page 7: All-Against-All Sequence Matching Implementazione Mediante Suffix Array e Analisi Prestazionale Comparata Corelatori: Dott. Federica Mandreoli Ing. Riccardo

AlgoritmoAlgoritmo [Baeza-Yates, Gonnet, 1999][Baeza-Yates, Gonnet, 1999]

11

22

55

33

44

AA

TTTT

CC

GGGG11

//

11

22

55

33

44

GG

TTTT

CC

AAAA11

//

A C T T GA C T T G G C T T AG C T T A 1 2 3 4 51 2 3 4 5 1 2 3 4 51 2 3 4 5

A C T T G A C T T G :: G C T T A G C T T A

A C T T G A C T T G :: C T T A C T T A

A C T T G A C T T G :: T T A T T A

A C T T G A C T T G :: T A T A

A C T T G A C T T G :: A A

C T T G C T T G :: G C T T A G C T T A

C T T G C T T G :: C T T A C T T A

C T T G C T T G :: T T A T T A

C T T G C T T G :: T A T A

C T T G C T T G :: A A

22

22

33

44

55

22

11

22

33

44

Page 8: All-Against-All Sequence Matching Implementazione Mediante Suffix Array e Analisi Prestazionale Comparata Corelatori: Dott. Federica Mandreoli Ing. Riccardo

A C T T T G T AA C T T T G T A

C T T T G T AC T T T G T A

T T T G T AT T T G T A

T T G T AT T G T A

T G T AT G T A

G T AG T A

T AT A

AA

AA

A C T T T G T AA C T T T G T A

C T T T G T AC T T T G T A

G T AG T A

T AT A

T G T AT G T A

T T G T AT T G T A

T T T G T AT T T G T A

88

11

22

66

77

55

44

33

ImplementazioneImplementazione(Suffix Tree con Suffix Array)(Suffix Tree con Suffix Array)

11

88

22

66

33

44

55

77

AA

AA

GG

TT

TT

TT

CC

GG

GG

CC

$$11

22

33//

A C T T T G T AA C T T T G T A 1 2 3 4 5 6 7 81 2 3 4 5 6 7 8

C T T T G T AC T T T G T A

T T T G T AT T T G T A

T T G T AT T G T A

T G T AT G T A

G T AG T A

T AT A

AA

Suffix TreeSuffix Tree Suffix ArraySuffix Array

Page 9: All-Against-All Sequence Matching Implementazione Mediante Suffix Array e Analisi Prestazionale Comparata Corelatori: Dott. Federica Mandreoli Ing. Riccardo

[Baeza-Yates, Gonnet][Baeza-Yates, Gonnet] concon Suffix ArraySuffix Array

T T C CT T C C1 2 3 41 2 3 4

CC

C CC C

T T C C C C

T T C C T T C C

44

33

22

11

C C :: G G

C C :: G G G G

C C :: T G G T G G

C C :: T T G G T T G G

C C C C :: G G

C C C C :: G G G G

C C C C :: T G G T G G

C C C C :: T T G G T T G G

T C C T C C :: G G

T C C T C C :: G G G G

T C C T C C :: T G G T G G

T C C T C C :: T T G G T T G G

T T C C T T C C :: G G

T T C C T T C C :: G G G G

T T C C T T C C :: T G G T G G

T T C C T T C C :: T T G G T T G G

T T G GT T G G1 2 3 41 2 3 4

GG

G GG G

T T G G G G

T T G G T T G G

44

33

22

11

Page 10: All-Against-All Sequence Matching Implementazione Mediante Suffix Array e Analisi Prestazionale Comparata Corelatori: Dott. Federica Mandreoli Ing. Riccardo

T T 2 2 22 2 2CC 2 2 12 2 1C C 2 22 2T T 2 22 2T T 2 2 22 2 2C C 2 2 12 2 1

Applicazione dei FiltriApplicazione dei Filtri

A A A CA A A C

C C C AC C C A

1 2 3 41 2 3 4

AA

A CA C

A A CA A C

A A A C A A A C

44

33

22

11

T T T CT T T C

C C C C T C C T

1 2 3 41 2 3 4

CC

C TC T

C C C T C T

C C C T C C C T

44

33

22

11

CC

C AC A

C C AC C A

C C C A C C C A

44

33

22

11

TT

T T C C

T T T C T C

T T T C T T T C

44

33

22

11

Massima Distanza = 1Massima Distanza = 1

11

22

22

22

22

11

11

11

22

11

11

11

11

22

22

22

11

22

11

22

AA

0 10 1

C C 1 11 1

AA

0 10 1

T T 1 11 1

C C 2 22 2

A CA C

0 1 20 1 2

C C 1 1 11 1 1T T 2 22 2

T T 3 3 23 3 2C C 3 3 23 3 2

A CA C

0 1 20 1 2

T T 1 1 1 1 2 2

Minima Lunghezza = 2Minima Lunghezza = 2

Lunghezza MinimaLunghezza Minima

Page 11: All-Against-All Sequence Matching Implementazione Mediante Suffix Array e Analisi Prestazionale Comparata Corelatori: Dott. Federica Mandreoli Ing. Riccardo

[Mandreoli, Martoglia, Tiberio, 2002][Mandreoli, Martoglia, Tiberio, 2002](Sequenze Testuali)(Sequenze Testuali)

D B D B

SequenzeSequenze

A C T

0 1 2 3

A 1 0 1 2

C 2 1 0 1

A C T T G A C T T G :: G C T T A G C T T A

A C T T G A C T T G :: T T A T T A

A C T T G A C T T G :: T A T A

A C T T G A C T T G :: A A

C T T G C T T G :: C T T A C T T A

C T T G C T T G :: T T A T T A

C T T G C T T G :: T A T A

C T T G C T T G :: A A

22

22

33

44

55

22

11

22

Impostazione ParametriImpostazione Parametri

di minima Lunghezza edi minima Lunghezza e

di massima Distanzadi massima Distanza

dei filtridei filtri

Filtraggio delle sequenzeFiltraggio delle sequenze

ed estrapolazione coppieed estrapolazione coppie

potenzialmente similipotenzialmente simili

Calcolo della distanzaCalcolo della distanza

per ogni coppiaper ogni coppia

Filtro sulle DistanzeFiltro sulle Distanze

SubSub22Position Position

SubSub22CountCount

FiltriFiltri

Page 12: All-Against-All Sequence Matching Implementazione Mediante Suffix Array e Analisi Prestazionale Comparata Corelatori: Dott. Federica Mandreoli Ing. Riccardo

PrestazioniPrestazioni (Analisi dei Risultati)(Analisi dei Risultati) Filtro sulla Massima DistanzaFiltro sulla Massima Distanza

Aumento Sopralineare dei tempiAumento Sopralineare dei tempi

all’aumentare della massima all’aumentare della massima

distanza consentitadistanza consentita

Conseguenza dell’applicazione dellaConseguenza dell’applicazione della

funzione di Edit Distance a tutte lefunzione di Edit Distance a tutte le

coppiecoppie

Filtro sulla Minima LunghezzaFiltro sulla Minima Lunghezza

Diminuzione lineare dei tempi al Diminuzione lineare dei tempi al

Aumentare della lunghezza minimaAumentare della lunghezza minima

richiestarichiesta

Conseguenza dell’operazione di filtroConseguenza dell’operazione di filtro

eseguita senza il calcolo della eseguita senza il calcolo della

distanzadistanza

Page 13: All-Against-All Sequence Matching Implementazione Mediante Suffix Array e Analisi Prestazionale Comparata Corelatori: Dott. Federica Mandreoli Ing. Riccardo

ConfrontoConfronto [Baeza-Yates, Gonnet] - [Mandreoli, Martoglia, [Baeza-Yates, Gonnet] - [Mandreoli, Martoglia, Tiberio]Tiberio]

Scarse Prestazioni suScarse Prestazioni su

sequenze Testualisequenze Testuali

Prestazioni InteressantiPrestazioni Interessanti

su sequenze Genetichesu sequenze Genetiche

Page 14: All-Against-All Sequence Matching Implementazione Mediante Suffix Array e Analisi Prestazionale Comparata Corelatori: Dott. Federica Mandreoli Ing. Riccardo

ConclusioniConclusioni

ImplementazioneImplementazione• Suffix Tree con Suffix Array Suffix Tree con Suffix Array (Modificato)(Modificato)• Edit Distance con Corner Edit Distance con Corner (Modificato)(Modificato)• Algoritmo di [Baeza-Yates, Gonnet] con Suffix ArrayAlgoritmo di [Baeza-Yates, Gonnet] con Suffix Array

Analisi delle Prestazioni Analisi delle Prestazioni • Discrete Prestazioni su Insiemi di Sequenze GeneticheDiscrete Prestazioni su Insiemi di Sequenze Genetiche• Pessime Prestazioni su Insiemi di Sequenze TestualiPessime Prestazioni su Insiemi di Sequenze Testuali

• Verifica di validita delle tecniche di Pre-FilteringVerifica di validita delle tecniche di Pre-Filtering