sst - sequence search tree

30
SST - Sequence Search Tree Franziska Brosy Seminar - Fortgeschrittene algorithmische Bioinformatik weitere Form der Ähnlichkeitssuche

Upload: penny

Post on 05-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

SST - Sequence Search Tree. weitere Form der Ähnlichkeitssuche. Franziska Brosy Seminar - Fortgeschrittene algorithmische Bioinformatik. Themenübersicht I. weitere Form der Ähnlichkeitssuche Idee von SST Grundlagen L1–Abstand k-means Clustering - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SST - Sequence Search Tree

SST - Sequence Search Tree

Franziska BrosySeminar - Fortgeschrittene algorithmische Bioinformatik

weitere Form der Ähnlichkeitssuche

Page 2: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 2

Themenübersicht I

1. weitere Form der Ähnlichkeitssuche

2. Idee von SST

3. Grundlagen L1–Abstand k-means Clustering TSVQ – Tree-Structured Vector Quantization

Page 3: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 3

Themenübersicht II

4. SST–Algorithmus Komplexitätsziel Konstruktion des Indexbaumes Suchphase

5. Testergebnis, Performanz

6. Fazit

Page 4: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 4

Ähnlichkeitssuche

- Ähnlichkeit 2er Strings per Scoringfunktion

- Näherung: Welche Sequenzen haben wahrscheinlich einen hohen Ähnlichkeitsscore? BLAST & Co. heuristische Algorithmen zum lokalen

Alignment BLAT schnell bei sehr ähnlichen Sequenzen

- Wie gut ist das Ergebnis? Charakterisierung durch Precision, Recall Schwellwerte zum Steuern des Precision-Recall-

Verhältnisses

Page 5: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 5

weitere Form der Ähnlichkeitssuche

- aber SST = nur Suche, kein Alignment

- neu: statt Seeds, Seedverlängerung

jetzt Bilden von Sequenzclustern, Erstellen tree-structured Index, Finden ähnliche Sequenzen in einem Cluster

- Verwendung: large-scale sequencing, Filtermethode (True Negatives)

Page 6: SST - Sequence Search Tree

1. weitere Form der Ähnlichkeitssuche

2. Idee von SST

3. Grundlagen L1–Abstand, k-means Clustering, TSVQ

4. SST–Algorithmus Komplexitätsziel, Baumkonstruktion, Suchphase

5. Testergebnis, Performanz 6. Fazit

Page 7: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 7

SST – die Idee

- SST-Algorithmus durchsucht eine Datenbank (DNA-Sequenzen) nach

near-exact Matches

- Datenbank, Anfrage in Fenster fester Länge W

- Fenster als 4k-dimensionale Vektoren

- tree-structured Index über alle Fenster

- suchen mit Hilfe des ts Index nach den nächsten Nachbarn der Anfragefenster

Page 8: SST - Sequence Search Tree

1. weitere Form der Ähnlichkeitssuche 2. Idee von SST

3. Grundlagen L1–Abstand, k-means Clustering, TSVQ

4. SST–Algorithmus Komplexitätsziel, Baumkonstruktion, Suchphase

5. Testergebnis, Performanz 6. Fazit

Page 9: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 9

L1-Abstand (Manhattan-Abstand)

- Maß für die Ähnlichkeit zwischen zwei Objekten

- hier: Objekte sind Vektoren V (später)

11 , : | | ,i iiL x y x y mit x y V

Page 10: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 10

k-means Clustering

- hard clustering Algorithmus Cluster-Bildung anhand des Zentrums der Mehrheit

seiner Komponenten (Vektoren)

- zufällig gewählte Zentren, dann redefinieren Initalcluster, Iterationen

- 1) Vektor Cluster, 2) Neuberechnung der Centroide

- Zentrum = Centroid = mean 1

= , , M x C

x Cluster C Member M

Page 11: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 11

k-means Cluster mit L1-Abstand

- Zuordnung Vektoren zu Cluster: L1-Abstand

- untere Schranke für Editabstand! (Ukkonen)

L1(S,Q) edit(S,Q) mit L1(S,Q) = d

- ges.: Sequenz Sq, geg.: Anfragesequenz Q

L1(Sq,Q) > d edit(Sq,Q) > d Sq verwerfen

- Suche im Editabstand-Raum auf Suche im L1-Abstand-Raum approximierbar

Page 12: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 12

k-means Clustering am Beispiel

Page 13: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 13

TSVQ I

- Tree-Structured Vector Quantization

- Algorithmus zum Erstellen des ts Index

- sortiert (Sequenzen) topologisch, rekursivhier: unter Verwendung k-means, L1-Abstand

Page 14: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 14

TSVQ II

- Art Nächste-Nachbarn-Suchalgorithmus

- innere Knoten = Centroide

- Kanten = Teilung in 2 Cluster

- Blätter = NN zum Eingabevektor (Anfrage)

- binärer Baum: binäre Tests an jedem Knoten

- kann NN in finden, 2log M #M Vektoren

Page 15: SST - Sequence Search Tree

1. weitere Form der Ähnlichkeitssuche 2. Idee von SST 3. Grundlagen

L1–Abstand, k-means Clustering, TSVQ

4. SST–Algorithmus Komplexitätsziel, Baumkonstruktion, Suchphase

5. Testergebnis, Performanz 6. Fazit

Page 16: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 16

- n – Größe der Datenbank

- m – Länge der Anfragesequenz

- AVG Konstruktion Index:

- AVG Suche des Index:

- k-means nicht immer

- Baumtiefe nicht immer

Komplexitätsziel

logO n n

logO m n

O n

log n

Page 17: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 17

Konstruktion Indexbaum

- 3 Schritte, einmalig pro Datenbank (DB)

- 1) DB-Partionierung mit Sliding Windows

- 2) Abbilden der Fenster im Vektorraum

- 3) Bilden tree-structured Index für DB-Fenster

- anschließend: Suchphase

Page 18: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 18

DB-Partionierung mit Sliding Windows

- alle DB-Sequenzen in überlappende Fenster

- feste Fensterlänge W

typische Werte 25 W 1000

- Überlappung durch Parameter typische Werte 5 W/2

- Fensterposition Start:Ende:

j

1j W

0,1,...,1

Wmit j

Page 19: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 19

DB-Partionierung am Beispiel

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

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

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

Fensterlänge W = 6

Überlappungen = 2

j Start Ende

0 0 5

1 2 7

2 4 9

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5

Page 20: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 20

Abbilden der Fenster im Vektorraum I

- pro Fenster/Sequenz ein Vektor mit: #Vorkommen jedes k-Tupels in der Sequenz

- zuerst Wahl Tupelgröße k (meist 2 k 10)

- DNA, 4 Elemente 4k Nukleotidentupel

- Vektordimensionen 4k

Page 21: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 21

Abbilden der Fenster im Vektorraum II

1 21

... 4k

lk l

l

J a a a M a

0,

1,

2,

3,

l

ll

l

l

falls a A

falls a CM a

falls a G

falls a T

- Integerwert für alle k-Tupel 1 2... ka a a , , , 1imit a A C G T i k

Page 22: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 22

tree-structured Index für die DB-Fenster

- jetzt nur noch: Finden nächste Nachbarn im Vektorraum

- dazu: Konstruktion ts Index im Vektorraum

- indem: rekursive binäre Partionierung

- mittels: k-means Clustering, TSVQ

- folglich: nächste Nachbarn als Set im Blatt

- WENN: Baum balanciert, k-means O(n)

- DANN: AVG Komplexität Baumkonstruktion O(n*log(n)) , n = Größe der DB

Page 23: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 23

tree-structured Index für die DB-Fenster

- jetzt nur noch: Finden nächste Nachbarn im Vektorraum

- dazu: Konstruktion ts Index im Vektorraum

- indem: rekursive binäre Partionierung

- mittels: k-means Clustering, TSVQ

- folglich: nächste Nachbarn als Set im Blatt

- WENN: Baum balanciert, k-means O(n)

- DANN: AVG Komplexität Baumkonstruktion O(n*log(n)) , n = Größe der DB

Page 24: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 24

tree-structured Index für die DB-Fenster

- jetzt nur noch: Finden nächste Nachbarn im Vektorraum

- dazu: Konstruktion ts Index im Vektorraum

- indem: rekursive binäre Partionierung

- mittels: k-means Clustering, TSVQ

- folglich: nächste Nachbarn als Set im Blatt

- WENN: Baum balanciert, k-means O(n)

- DANN: AVG Komplexität Baumkonstruktion O(n*log(n)) , n = Größe der DB

Page 25: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 25

Suchphase

- Anfrage in Fenster zerlegen, Vektoren berechnen

- Suche über ts Index (Baum binär)

- Beginn bei root

- innere Knoten, root: je 2 Verzweigungen

- Wahl: Zweig, dessen Centroid geringeren Abstand vom Anfragevektor hat

- solange bis Blatt erreicht

- Vektoren im Blatt = potentielles Ergebnis für die Anfrage

Page 26: SST - Sequence Search Tree

1. weitere Form der Ähnlichkeitssuche 2. Idee von SST 3. Grundlagen

L1–Abstand, k-means Clustering, TSVQ 4. SST–Algorithmus

Komplexitätsziel, Baumkonstruktion, Suchphase

5. Testergebnis, Performanz

6. Fazit

Page 27: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 27

Testergebnis

- am Bsp.: Finden von Überlappungen beiShotgun Assembling (1.5 MBasen)

nahezu 100%ige Spezifität

bei günstigen k, W, T (T - tolerierter Abstand (I,D,R))

keine Aussage über FN, Sensitivität??

Page 28: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 28

Performanz

- Vergleich mit BLAST

- am Bsp. mit 120 000 Sequenzen nach Statistik:

- SST 9.3 bis 27 mal schneller als BLAST verschieden Werte: je nach Anfragefenster,

Überlappungen/Nichtüberlappungen

- ohne Aussage über Konfiguration von BLAST

- BLAST = Suche + Alignment, SST = nur Suche

Page 29: SST - Sequence Search Tree

1. weitere Form der Ähnlichkeitssuche 2. Idee von SST 3. Grundlagen

L1–Abstand, k-means Clustering, TSVQ 4. SST–Algorithmus

Komplexitätsziel, Baumkonstruktion, Suchphase

5. Testergebnis, Performanz

6. Fazit

Page 30: SST - Sequence Search Tree

15.07.2005 SST – Sequence Search Tree 30

Fazit

- SST findet recht viele nächste Nachbarn zu einer Anfragesequenz

- gutes Herausfiltern von TN

- Sequenzen nahe an Clustergrenze evtl. FN FN ‘vermutlich‘ gering (Verwendung k-means), somit ‘geringe‘ Einbußen bei Sensitivität

- schnelle Suche, bei günstiger Konfiguration

- evtl. sogar in

- kein Alignment

logO n