BLAST Basic Local Alignment Search Tool - Martin Winkels 21.12.2012 - Medizinische Fakultät ...

Die Seite wird erstellt Peer Bürger
 
WEITER LESEN
BLAST Basic Local Alignment Search Tool - Martin Winkels 21.12.2012 - Medizinische Fakultät ...
BLAST
  Basic Local Alignment Search Tool

  Martin Winkels
  21.12.2012

wissen leben             Institut für
WWU Münster              Medizinische Informatik
BLAST Basic Local Alignment Search Tool - Martin Winkels 21.12.2012 - Medizinische Fakultät ...
Inhaltsverzeichnis                                                                                      Inhaltsverzeichnis

Inhaltsverzeichnis

1 Einleitung                                                                                                                             2

2 Grundlagen                                                                                                                            3
  2.1 DNA - Desoxyribonukleinsäure . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   3
  2.2 Proteine - Aminosäuren . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   4
  2.3 DNA/Protein-Sequenzalignment . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   5
      2.3.1 Beispiel: Globales Alignment        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   6
      2.3.2 Beispiel: Lokales Alignment         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   7
  2.4 Maximal Seqment Pair Measure . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   8
  2.5 Dynamische Programmierung . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   8
  2.6 Heuristische Algorithmen . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   9

3 BLAST                                                                                                                                 11
  3.1 Konzept . . . . . . . . . . . . . . . . . . . . . . . . . . .                             .   .   .   .   .   .   .   .   .   .   11
      3.1.1 Beispiel BLAST . . . . . . . . . . . . . . . . . . .                                .   .   .   .   .   .   .   .   .   .   12
      3.1.2 Besonderheiten der Analyse von DNA-Sequenzen                                        .   .   .   .   .   .   .   .   .   .   14
      3.1.3 Signifikante Ähnlichkeiten von Sequenzen . . . . .                                 .   .   .   .   .   .   .   .   .   .   14
  3.2 Performance . . . . . . . . . . . . . . . . . . . . . . . . .                             .   .   .   .   .   .   .   .   .   .   15
      3.2.1 Wortlänge und Schwellwerte . . . . . . . . . . . .                                 .   .   .   .   .   .   .   .   .   .   15
      3.2.2 Proteine . . . . . . . . . . . . . . . . . . . . . . .                              .   .   .   .   .   .   .   .   .   .   16
      3.2.3 DNA . . . . . . . . . . . . . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   16

4 Fazit                                                                                                                                 18

5 Literaturverzeichnis                                                                                                                  19

6 Anhang                                                                                                                                21

                                            1
BLAST Basic Local Alignment Search Tool - Martin Winkels 21.12.2012 - Medizinische Fakultät ...
1 EINLEITUNG

1 Einleitung
   Der Mensch besitzt etwa 20.000-25.000 Gene, die für die Produktion von Proteinen
verantwortlich sind. Daraus werden 500.000-1.000.000 Proteine gebildet. Das Genom des
Menschen ist komplett entschlüsselt, die Funktion jedoch größtenteils unbekannt [9].
   Der Vergleich von neu sequenzierten Proteinen oder DNA mit bekannten Samples aus
einer Datenbank kann einen ersten Hinweis auf die Funktion dieser geben [2]. Die Sample-
Datenbanken sind jedoch groß und wachsen immer schneller. Mehr und mehr Institutionen
machen ihre Samples verfügbar oder speisen neue Samples in die Datenbanken ein [6, 13].
   Es wird viel Rechnerkapazität benötigt, diese zu durchsuchen, um neu sequenzierte
Samples mit entsprechenden Einträgen in den Datenbanken zu vergleichen. Weiterhin
steigt die benötigte Rechenzeit für den Vergleich mit zunehmender Größe der Datenbank
stark an. Algorithmen der dynamischen Programmierung“ besitzen einen Aufwand von
                             ”
O(n2 ) − O(n3 ) [8, 12, 14]. Eine akzeptable Laufzeit für diese Algorithmen wird nur mit
Supercomputern oder spezieller Hardware erreicht. Dynamische Programmierung ist so-
mit kein praktikabler Ansatz große Datenmengen zu vergleichen, auch wenn ihre Lösung
optimal ist.
   Einen Lösungsansatz für dieses Problem bietet jedoch die Heuristik. Heuristische Ansätze
können das Problem aufgrund ihres systematischen Ansatzes nach einer bestimmten Stra-
tegie lösen. Durch Annahmen und Vorentscheidungen wird die Laufzeit um ein vielfaches
reduziert. Der Rechenaufwand verringert sich mindestens um eine Potenz [2, 3]. Der heu-
ristische Ansatz kann die optimale Lösung allerdings nicht garantieren.
   Die von Altschul et al. vorgestellte Arbeit Basic Local Alignment Search Tool“ - kurz
                                               ”
BLAST [2] beschäftigt sich mit einem Algorithmus, der es mit Methoden der Heuristik
möglich macht diese Samples mit entsprechend weniger Rechenaufwand zu vergleichen.
   Diese Arbeit wird sich mit den Hintergründen, den Vorteilen, den Nachteilen und den
Alternativen zu diesem Algorithmus beschäftigen. Weiterhin werden die Grundlagen von
BLAST erläutert.
   Das Paper ist 12 Jahre alt, gehört aber immer noch zu der wichtigsten Literatur für
diesen Algorithmus. BLAST ist heutzutage in vielen Variationen im Einsatz [4, 7, 3]. Es
wird jedoch nicht auf die neueren Ansätze zu diesem Themengebiet oder die Weiterent-
wicklungen von BLAST eingegangen. Vielmehr soll nur ein erster Einblick in das Thema
gegeben werden und der BLAST-Algorithmus in seinen Einzelheiten und Eigenschaften
vorgestellt werden.

                                             2
BLAST Basic Local Alignment Search Tool - Martin Winkels 21.12.2012 - Medizinische Fakultät ...
2 GRUNDLAGEN

2 Grundlagen
  Im Folgenden werden biologische und technische Grundlagen erläutert, um die Pro-
blemstellung zu verdeutlichen.

2.1 DNA - Desoxyribonukleinsäure
  Die Desoxyribonukleinsäure, kurz DNS, ist Träger der Erbinformationen, der Gene.
Die DNS wird häufig als DNA abgekürzt nach ihrem englischen Namen ”deoxyribonucleic
acid”. Bausteine der DNA sind die Nukleotide. Nukleotide sind aufgebaut aus einem
Zucker, einem Phosphat-Rest sowie einer von vier Basen. Abb. 1 zeigt eine solche DNA-
Doppelhelix aus zwei Nukleotidsträngen.

Abbildung 1: DNA Doppelhelix als Riesenmolekül aus zwei Nukleotidsträngen mit Basen
             sowie dem gelben Phosphatrückgrat

   Die DNA ist ein in allen Lebewesen vorkommendes Biomolekül, welches die Informati-
onen für die Herstellung von Ribonnukleinsäuren, kurz RNA, enthält. Es gibt verschiedene
Gruppen von RNAs, die für diesen Artikel wichtige Gruppe, die messanger RNA - mRNA,
enthält die Informationen, um Proteine zu synthetisieren. Welches Protein erzeugt wird
hängt von der Reihenfolge, der Sequenz der Basen ab. Es stehen jeweils drei Basen für
eine bestimmte Aminosäure. Die RNA unterscheidet sich von der DNA nur durch eine
Base. Thymin wird bei der RNS durch Uracil ersetzt.
   Die mRNA transkribiert einen zu einem Gen gehörenden Abschnitt auf der DNA.
Anschließend wird die RNA noch durch Splicen weiter verändert. Nachfolgend wird die

                                            3
BLAST Basic Local Alignment Search Tool - Martin Winkels 21.12.2012 - Medizinische Fakultät ...
2.2 Proteine - Aminosäuren                                          2 GRUNDLAGEN

prozessierte mRNA in das Cytoplasma transportiert und an den Ribosomen für die
Proteinsynthese translatiert [10].

2.2 Proteine - Aminosäuren
  Proteine sind Makromoleküle, die aus bis zu 20 unterschiedlichen Aminosäuretypen
aufgebaut sind. Die Sequenz der Aminosäuren ist durch die Reihenfolge der Basen in
der DNA vorgegeben. Abb. 2 zeigt die Reihenfolge von Basen der mRNA sowie deren
Übersetzung in eine Aminosäure. Start und Stopp bezeichnen dabei jeweils den Anfang
bzw. das Ende einer Aminosäuresequenz. Proteine können aus mehreren zehntausend
Aminosäuren bestehen oder aus nur zwei bis drei. Die meisten Proteine bestehen aus
100-300 Aminosäuren. Proteine können weiterhin noch nach ihrer Synthese durch Enzyme
verändert werden.

Abbildung 2: Code-Sonne: Zeigt die Codierung der Aminosäuren (außen) durch die Ba-
             sentripletts auf der mRNA. Sie wird von innen (5’) nach außen (3’) gelesen.

   Die Funktion von Proteinen im Körper ist vielfältig. Sie kommen in jeder Zelle vor
und verleihen ihnen neben einer Struktur auch weitere Funktionen. Sie werden auch als
”Molekulare Maschinen”bezeichnet. Aufgrund der überaus vielfältigen Aufgaben die Pro-
teine im Organismus haben können, sollen hier nur einige beispielhaft aufgezählt werden.

                                            4
BLAST Basic Local Alignment Search Tool - Martin Winkels 21.12.2012 - Medizinische Fakultät ...
2.3 DNA/Protein-Sequenzalignment                                       2 GRUNDLAGEN

Sie sind als Antikörper daran beteiligt, Infektionen abzuwehren sowie als Strukturproteine
für den Aufbau einer Zelle verantwortlich. Ebenfalls sind sie als Enzyme am Metabolismus
beteiligt [10].

2.3 DNA/Protein-Sequenzalignment
   Sequenzalignment bezeichnet das Vergleichen zweier oder mehrerer Strings. Sie wird
verwendet, um funktionale oder evolutionäre Homologie zwischen Nukleotidsequenzen
(DNA) oder Aminosäuresequenzen (Proteine) zu bestimmen. Sequenzen liefern Informa-
tionen über die Abfolge und Position der Basenpaare. Gesucht werden charakteristische
Abschnitte auf einer Sequenz. Werden zwei Sequenzen verglichen, nennt sich dies paarwei-
ses Alignment, bei mehreren Sequenzen multiples Alignment. Gesucht werden Sequenzen,
die unter Verwendung einer Scoring-Kostenfunktion einen optimalen Score liefern. Wie die
Kostenfunktion aussieht, kann unterschiedlich sein. So können Matches stärker belohnt
oder Missmachtes stärker bestraft werden. Auch das Einfügen von Gaps (Lücken) in das
Alignment kann in die Kostenfunktion einbezogen werden. Formel (1) zeigt ein Beispiel für
solch eine Kostenfunktion. Ebenfalls können ähnliche Paarungen berücksichtigt werden.
Sie haben einen positiven Wert. Nur schwach ähnliche oder gar nicht ähnliche Paarungen
haben einen negativen Wert [5, 12].
   Zu unterscheiden sind automatisierte und manuelle Alignment-Methoden. Manuelles
Alignment findet nur bei kleinen Datensätzen statt und bietet den Vorteil der höheren
Genauigkeit. Automatisierte Methoden sind wesentlich schneller, können aber aufgrund
ihres Charakters nicht oder nur begrenzt auf individuelle Besonderheiten in Sequenzen
eingehen.
                                                   
                                +5 a = b match     
                     δ(a, b) =                                                          (1)
                                −4 a =
                                      / b missmatch 
  Das Scoring von DNA und Proteinen unterliegt unterschiedlichen Ansätzen. Beiden
gleich ist, dass sie eine Scoring-Matrix oder Kostenfunktion nutzen, die für alle möglichen
Paarungen einen gewissen Wert (Score) ausweist. Diese Matrix nennt sich Ähnlichkeits-
matrix oder matrix of similiarity [2].
  Für Proteine wird oft eine PAM-120 oder PAM-250 (Point Accepted Mutation Matrix)
Matrix genutzt, um alle möglichen Paarungen mit einem Wert zu versehen. Die Matrix
wird verwendet, da sich mit zunehmender Auseinanderentwicklung der Sequenzen im-
mer mehr Mutationen ansammeln. Allerdings mutieren nicht alle Aminosäuren mit der

                                             5
2.3 DNA/Protein-Sequenzalignment                                      2 GRUNDLAGEN

gleichen Wahrscheinlichkeit zu einer anderen Aminosäure. Eine saure Aminosäure wird
wahrscheinlich mit einer anderen sauren Aminosäure getauscht. Dies wird bei der PAM-
Matrix berücksichtigt. Die Zahl gibt an, in welcher Höhe Mutationen akzeptiert werden.
Eine PAM-120 Matrix akzeptiert eine Mutation bis zu 40%. Eine PAM-250 akzeptiert
sogar Mutationen bis zu 80% [1]. Bei noch höheren Werten spricht man nicht mehr von
Ähnlichkeiten. Im Gegensatz dazu ist die DNA stark zufallsbasiert.
   Es können globale oder lokale Homologien ausgewiesen werden. Globale Homologie be-
zeichnet die Ähnlichkeit über die komplette Sequenz worin Strecken von geringer Ähnlich-
keit enthalten sein können. Bei globalem Alignment dürfen Gaps (Lücken) hinzugefügt
werden. Lokale Homologie bezeichnet das Suchen von Homologien in kleineren Abschnit-
ten auf der gesamten Sequenz. Ausgegeben werden dann mehrere kleinere Subsequenzen
pro Sequenz die eine Ähnlichkeit aufweisen. Ob bei lokalem Alignment Gaps hinzugefügt
werden dürfen, kommt auf die Methode an. Wird nach cDNA (complementary DNA)
gesucht werden lokal-basierte Ansätze genutzt, da zugeordnete Proteine nur einzelne, iso-
lierte Ähnlichkeiten aufweisen. Kombinierte Ansätze werden ebenfalls genutzt um die
Nachteile beider Methoden auszugleichen [5]. Die Unterschiede von globalem und lokalem
Alignment sind in Abschnitt 2.3.1 und 2.3.2 in einem Beispiel dargestellt.
   Für das Alignment werden die Elemente der zu untersuchenden Sequenz so angeordnet,
dass die Reihenfolge erhalten bleibt und jedem Element ein anderes Element oder ein Gap
zugeordnet werden kann. Eine Fehlpaarung entspricht einer Mutation. Vorhandene Gaps
hingegen weisen auf Deletion oder Insertion hin. Gesucht wird in den einander zugeord-
neten, also alignierten, Elementen nach identischen oder möglichst ähnlichen Elementen,
da viele gleiche bzw. ähnliche Elemente in gleicher Reihenfolge auf eine Verwandtschaft
hinweisen.

2.3.1 Beispiel: Globales Alignment

  Gegeben sind die beiden Sequenzen S = ACG und T = CG
  Kostenfunktion:
                                                   
                                +5 a = b match     
                     δ(a, b) =                                                        (2)
                                −4 a =
                                      / b missmatch 

  Gesucht ist die Lösung mit dem höchsten Score. Es dürfen Gaps eingefügt werden, die
Reihenfolge der Basen darf aber nicht verändert werden. Für jedes richtige Alignment
werden nach der Kostenfunktion fünf Punkte addiert, für jedes falsche Alignment vier

                                            6
2.3 DNA/Protein-Sequenzalignment                                      2 GRUNDLAGEN

Punkte abgezogen.

 Abbildung 3: Möglichkeiten des Alignments. Möglichkeit drei bietet die beste Lösung

2.3.2 Beispiel: Lokales Alignment

  Gegeben sind die beiden Sequenzen S = AAAACCG und T = CCG
  Kostenfunktion:
                                                   
                                +5 a = b match     
                     δ(a, b) =                                                        (3)
                                −4 a =
                                      / b missmatch 

  Gesucht ist die Lösung mit dem höchsten Score. Es dürfen keine Gaps eingefügt werden,
die Reihenfolge der Basen darf nicht verändert werden. Die zweite Sequenz wird nur durch-
geschoben. Für jedes richtige Alignment werden nach der Kostenfunktion fünf Punkte
addiert, für jedes falsche Alignment vier Punkte abgezogen.

                                            7
2.4 Maximal Seqment Pair Measure                                    2 GRUNDLAGEN

 Abbildung 4: Möglichkeiten des Alignments. Möglichkeit drei bietet die beste Lösung

2.4 Maximal Seqment Pair Measure
   Methoden, um Ähnlichkeiten in Sequenzen zu finden und zu bewerten, werden ”similarity
measures”genannt. Die Methode, die BLAST nutzt, nennt sich Maximal Seqment Pair
                                                                  ”
Measure“ und basiert auf dem lokalen Alignment. Sie wird bei automatisierten Alignment
häufig verwendet [15].
   Ein Maximal Seqment Pair ist ein aligntes Paar von zwei Sequenzen, die nach Anwen-
dung der Kostenfunktion einen Score aufweisen, der über einem vorher festgelegten Score
S liegt. Das hat den Hintergrund das Ähnlichkeiten in Sequenzen meist zu klein sind, um
biologisch relevant zu sein. Erst Worte die einen Wert größer einem Score S erzielen sind
deshalb für den Forscher interessant [11].
   Die Länge eines MSP wird so gewählt, dass der lokale Score maximiert wird. Weiterhin
wird definiert, dass ein Segmentpaar dann lokal maximal ist, wenn ihr Score nicht mehr
durch Erweitern des Segments auf der Sequenz erhöht werden kann. Der MSP Score
kann sowohl von dynamischer Programmierung als auch von heuristischen Algorithmen
berechnet werden [15, 5].

2.5 Dynamische Programmierung
   Bewertungsalgorithmen der ”Dynamischen Programmierung”nutzen verschiedene Va-
riationen dynamischer Algorithmen [2]. Die Algorithmen haben gemeinsam, dass sie einen

                                           8
2.6 Heuristische Algorithmen                                         2 GRUNDLAGEN

Scorewert erstellen der auf Einfügen, Löschen und Ersetzen von zwei Sequenzen ba-
siert. Die Variante mit dem höchsten Score aller Permutationen zweier Sequenzen wird
dann ausgegeben. Dadurch wird die Ähnlichkeit zweier Sequenzen berechnet. Dieser An-
satz ist sehr rechenaufwendig, aber durch seine Einfachheit auch leicht nachvollzieh-
bar und überprüfbar. Das Finden der optimalen Lösung ist garantiert. Algorithmen der
”dynamischen Programmierung”besitzen einen hohen Aufwand, der im Bereich des qua-
dratischen oder kubischen Wachstums angesiedelt ist.
   Der Needleman-Wunsch- und der Earley-Algorithmus besitzen eine Komplexität von
O(n3 ) [8, 12]. Der Smith-Waltermann-Algorithmus eine Komplexität von O(n2 ) [14].
   Aufgrund der Anforderungen an die Rechenkapazität sind sie nicht für große Daten-
banken nutzbar, falls nicht Supercomputer oder spezielle Hardware verwendet werden.

2.6 Heuristische Algorithmen
   Heuristik bedeutet, die Komplexität eines gegebenen Problems durch Mutmaßungen,
die durch Kenntnis des Systems erlangt werden, zu reduzieren. Der Rechenaufwand wird
also durch Hypothesen reduziert. Mit begrenztem Wissen und geringem Zeitaufwand wird
durch analytisches Vorgehen eine Lösung berechnet. Während die dynamische Program-
mierung jede Permutation berechnet, geht der heuristische Algorithmus nach einem Sys-
tem vor, das auf die Problemstellung zugeschnitten wird.
   Zur Verdeutlichung dieses Sachverhalts wird im Folgenden ein Beispiel skizziert:

       • Beispiel: Bilde aus den Buchstaben A B E E K N T T T ein Wort.“
                  ”
           • Dynamischer Algorithmus:
                ∗ Jegliche Buchstabenkombinationen berechnen und vergleichen
            • Heuristischer Algorithmus:
                ∗ Ansatz: Das Wort besteht aus Teilwörtern die sich zu einem Wort
                  zusammensetzen lassen
                ∗ Die Buchstabenkombination wird zuerst nach Teilwörtern durchsucht
                ∗ Es werden entsprechnde Teilwörter gebildet und zusammengesetzt
                ∗ Beispiele für Teilwörter: Tee, Beet, Bett, Tante, Kante
                ∗ Zusammensetzung der Teilwörter zu einem ganzen Wort. Bett + Kante
                ∗ Systematisch zur Lösung: ”Bettkante”

                                           9
2.6 Heuristische Algorithmen                                           2 GRUNDLAGEN

  Durch die Vorannahmen und den Einsatz eines Wörterbuchs lässt sich der Rechenauf-
wand reduzieren. Das resultiert in einem schnelleren Ansatz, da viele Berechnungen die
nicht für das Endresultat notwendig sind, ausgelassen werden. Ist die Strategie allerdings
nicht perfekt, was sie in der Praxis nie sein kann, kann es auch darin münden, dass gar kein
oder nur ein suboptimales Ergebnis berechnet wird. Durch den Vergleich einer Heuristik
mit der optimalen Lösung kann die Güte dieser Heuristik bestimmt werden.

                                             10
3 BLAST

3 Basic Local Alignment Search Tool
3.1 Konzept
  BLAST ist ein heuristischer Algorithmus der ausgehend von der Tatsache, dass Ähnlich-
keiten in Wörtern erst ab einem Score S (MSP) relevant sind. Datenbanksequenzen werden
erst mit kleinen Teilwörtern der Größe w und des Score T durchsucht, um sie anschließend
lokal zu erweitern. Lokal erweiterte Worte müssten anschließend den Score S übertreffen,
um ausgegeben zu werden [2]. Dies wird im nachfolgendem Absatz schematisch sowie in
einem Beispiel praktisch erläutert. Die Laufzeitkomplexität von O(n · m) ergbit sich aus
der Länge der Eingangssequenz multipliziert mit der gesamten Länge der Datenbank. [3]

               Abbildung 5: Schematischer Ablauf des BLAST-Prozesses

  Abb. 6 zeigt den schematischen Ablauf des BLAST Algorithmus bei Aminosäuresequenzen.
Die Eingangssequenz (blau) wird zuerst in Worte mit w = 3 eingeteilt. Anschließend wer-
den diese Worte jeweils einzeln gegen alle Worte mit w = 3 gescort. Worte deren Score

                                           11
3.1 Konzept                                                                  3 BLAST

einen Score T überschreitet werden übernommen und anschließend auf den Sequenzen
in der Datenbank gesucht. Hits, also Treffer auf der Datenbank werden anschließend er-
weitert bis zu einem Cut-Off Score. Anschließend wird der beste Score des Hits darauf
überprüft, ob er den Score S erreicht hat. Wird der Score S erreicht, wird dieses Wort
ausgegeben. Das wird mit allen Wörtern mit einem Score T wiederholt. Anschließend
erhält man eine Liste mit Wörtern, die den Score S überschreiten [2].

3.1.1 Beispiel BLAST

  Die Eingangssequenz wird in Wörter der Größe w = 3 geteilt.

  Durch die PAM-Socring Matrix werden die Wörter gewertert (gescored)

  Alle Worte der Größe w = 3 werden gegen jeden Wort der Eingangssequenz mit w = 3
gescored. Anschließend werden alle Wörter die einen empirisch ermittelten Score T errei-
chen oder überschreiten ausgewählt und die ”High Scoring Words List”übernommen.

                                           12
3.1 Konzept                                                                 3 BLAST

  Jedes Wort der High Scoring Words List wird mit allen Datenbanksequenzen verglichen.
Das Wort wird dabei durch die Datenbanksequenz durchgeschoben. Hits, also Sequenzen
auf der Datenbank die einem Wort der Liste gleichen, werden markiert.

  Die gefundenen Hits werden erweitert bis zu einem Cut-Off Score. Anschließend wird
das Segment des erweiterten Teilworts mit dem höchsten Score ausgewählt. Segmente, die
nach der Erweiterung mindestens den Score S erreichen, werden ausgegeben.

                                          13
3.1 Konzept                                                                    3 BLAST

3.1.2 Besonderheiten der Analyse von DNA-Sequenzen

   Die Verwendung von BLAST bei Aminosäuren und DNA unterscheidet sich im Detail.
Bei der DNA werden alle aufeinanderfolgenden Worte der Wortgröße w = 12 gewählt.
Damit enthält die Wortliste n - w + 1 Worte. DNA-Sequenzen sind stark zufallsbasiert
und in der Regel wesentlich länger als Aminosäureketten. Daraus Ergibt sich die längere
Wortliste sowie der Verzicht auf ein T-Scoring für die Vorauswahl.
   DNA-Sequenzen werden weiterhin noch nach zwei häufig auftretenden Merkmalen ge-
filtert, die die Analyse negativ beeinflussen. Diese sind lokal fehlerbehaftete Basen durch
A+T reiche Regionen und sich wiederholende Sequenzelemente mit Alu Sequenzen. Durch
Entfernung dieser Worte mittels Frequenzfiltern wird die Wortliste verkleinert.

3.1.3 Signifikante Ähnlichkeiten von Sequenzen

  Eines der wichtigsten Features von BLAST ist es, dass nicht nur Paare mit einem Score
S in akzeptabler Zeit gefunden werden können, sondern auch, dass die Signifikanz eines
Paars oder einer Gruppe von Paaren ausgegeben werden kann. Signifikanz bedeutet, dass
die Beobachtung nicht zufällig ist. Werden zwei Sequenzen verglichen, werden allein durch
Zufall schon entsprechend viele Paare mit einem Score S gefunden. Wird ein Signifikanz-
niveau von α = 0.05 gewählt, kann mit 95% Sicherheit davon ausgegangen werden, das
die Beobachtung nicht zufällig war [2, 11].
  Folgende Formeln werden von BLAST für die Berechnung der Signifikanz genutzt:

                                         1 − ey                                       (4)

                               y = K · m · n · e−λS                                   (5)
   Hierbei bezeichnen K und λ den geschätzten Parameter [11], m die Gesamte Länge
der Sequenz in der Datenbank, n die Länge der Query Sequenz sowie S den minimalen
MSP-Score.
   Mit (4) lässt sich berechnen wie wahrscheinlich es ist, ein Paar mit einem Score ≥ S zu
finden. Formel (5) gibt an, wie viele Paare mit einem Score ≥ S durch Zufall gefunden
werden.

                                            14
3.2 Performance                                                                3 BLAST

                                             c−1 i
                                             X  y
                                    1 − ey                                            (6)
                                              i=0
                                                    i!
   Die dritte Formel (6) gibt die Wahrscheinlichkeit an, c oder mehr Paare ≥ S zu finden.
Auch wenn einzelne Paare keine signifikante Abhängigkeit besitzen, können mehrere Paare
in ihrer Gesamtheit dennoch signifikant sein. Das BLAST diese Abhängigkeiten berechnen
und ausgeben kann ist eines der wichtigsten Features von BLAST.

3.2 Performance
3.2.1 Wortlänge und Schwellwerte

   Um eine geeignete Wortlänge sowie Schwellwerte zu bestimmen, wurde eine randomi-
sierte Datenbank von 16.000 Proteinsequenzen mit einer Länge von 250 erstellt. Die Zahl
von 250 wurde gewählt, da sie der durchschnittlichen Länge eines Proteins entspricht.
   Die Ergebnisse von BLAST auf dieser Datenbank ergaben, dass MSPs ab einem Wert
von 55 signifikant waren (Anhang - Table 1, Anhang - Figure 1). Mit einer Wortlänge von
w = 4 und einem HSP-Wert von T = 17 werden rund 19% der MSPs nicht erkannt. Ab
einem MSP von 70 waren es 11%. Den Erwartungen entsprechend kann der Wert w oder T
verringert werden, um eine höhere Genauigkeit zu erzielen. Für w = 4 und T = 14 sinkt
der Wert auf 2% (S = 55) bzw. 0% (S = 70). Die Parameterpaare (w = 3, T = 14),
(w = 4, T = 16) sowie (w = 5, T= 18) liefern ähnliche Ergebnisse.
   Wird der Parameter w erhöht, kann die Rechenzeit bei der Erweiterung der Wörter
reduziert werden. Allerdings werden für Proteine 20w mögliche Wörter erzeugt. Dement-
sprechend werden mit höherem w auch wesentlich mehr Worte erzeugt (w = 3 = 296,
w = 4 = 3561, w = 5 = 40.939). Dies erhöht die Rechenzeit bei der Generierung der
Wörter exponentiell (Anhang - Figure 2). In der Praxis hat sich deshalb der Wert von
w = 4 als am besten geeignet erwiesen.
   Eine Reduzierung des Parameters T erhöht die Sensitivität, allerdings erhöht es eben-
falls die Rechenzeit, da mehr Wörter und mehr Hits generiert werden. Für eine genaue-
re Überprüfung wurde eine Sequenz der Länge 250 mit der PIR Datenbank verglichen
(Anhang - Table 2, Anhang - Figure 2). Der Wert T reichte hier von 13 bis 20. Die Anzahl
der Worte erhöht sich exponentiell mit fallendem T. Während die Worte w in Abhängigkeit
von T exponentiell wächst, erhöht sich die Anzahl der Worte w lediglich linear mit der
Länge der Eingangssequenz. Eine Verdopplung der Länge der Eingangssequenz resultiert
also lediglich in einer Verdopplung der generierten Worte. In der Praxis wurde ein Wert

                                            15
3.2 Performance                                                                    3 BLAST

von T = 17 gewählt, da eine Verringerung des Parameters nur in einem kleinen Anstieg
der Sensitivität mündete. Für eine Genauigkeit von 90% ist eine Rechenzeit von 9s nötig.
Um die Genauigkeit auf 98% zu erhöhen, muss der Parameter T verringert werden, was
in einer Verdopplung der Rechenzeit resultiert. Hervorzuheben ist das für einen höheren
MSP, und damit statistisch signifikanteren MSP eine geringere Rechenzeit nötig ist.

3.2.2 Proteine

   Die Performance von BLAST auf der PIR Datenbank im Zusammenhang mit der Zu-
ordnung von Eingangssequenzen zu Proteinfamilien (Anhang - Table 3) wurde ebenfalls
evaluiert. Die Ergebnisse waren im Einzelnen unterschiedlich. Teilweise war BLAST bes-
ser als vorhergesagt, teilweise schlechter. Die Ursache für die schlechten Ergebnisse liegt in
den gleichartigen Mustern der Globine begründet, welche in relativ wenig MSP-Wörtern
resultieren. Von den MSPs zwischen 45 und 65 wurden lediglich zwei nicht erkannt, im
gegensatz zu acht vorhergesagten. Insgesamt sollte BLAST auf diesen Daten bessere Er-
gebnisse liefern, da die Verteilung der Mutationen stärker geclustert ist, als von dem
Poission Prozess [11] vorhergesagt.
   BLAST zeigt hier seine Stärke, MSPs mit hohen Werten schnell zu finden. Im erwähnten
Beispiel wurden 89 von 90 Globinen mit einem Score über 80 sowie alle 125 mit einem
Score über 50 gefunden. Vergleicht man BLAST (w = 4, T = 17) mit FASTP ergibt
sich das BLAST ähnlich sensitiv, mit weniger falsch positiven Ergebnissen und über eine
Größenordnung schneller ist [2].

3.2.3 DNA

   Für den Vergleich wurden 73.460 Basenpaare des Menschen sowie 44.595 Basenpaare
des Hasen, die ß-ähnliche Globingencluster aufweisen, herangezogen (Anhang - Table 4).
Diese weisen drei Hauptklassen ähnlicher Regionen auf. Die Klassen teilen sich auf in Gene,
lange mit Wiederholungen durchsetzte Regionen und Regionen geringerer Ähnlichkeiten.
BLAST wurde genutzt um lokale, ähnliche Regionen zu finden, die ohne das Einfügen von
Gaps alignt werden konnten. Gewertet wurden Treffer mit +5 und Fehler mit -4, sowie
einem anfänglichen w = 12. Es wurden 98 Matches mit einem Score von 200 gefunden.
Der höchste Score betrug 1301. Es konnten damit drei Klassen identifiziert werden. Von
den 57 Alignments mit einem Score über 350 waren 45 gepaarte Gene und 12 gehörten
zu L1 Sequenzen. Bei Alignments von einem Score von unter 350 wurden Zwischengenbe-
ziehungen deutlich. Zwei Alignments mit einem Score zwischen 200-350 passten in keine
der erwarteten Klassen. Das erste Alignment weisst auf eine neu entdeckte Sektion einer

                                              16
3.2 Performance                                                             3 BLAST

L1 Sequenz hin. Das andere Alignment zeigt die Verbindung eines menschlichen Gens mit
dem des Hasen.
  Mit einem kleineren w = 8 wurden 32 zusätzliche Alignments gefunden die aber kei-
nerlei neue Informationen enthielten. Dafür wurde die Rechenzeit von 3,2 auf 15,9 fast
verfünffacht.

                                          17
4 FAZIT

4 Fazit
   BLAST ist ein einfacher, robuster Algorithmus der mit einer Laufzeitkomplexität von
O(n · m) mindestens eine Größenordnung schneller ist als dynamische Programmierung
[3]. Er ist einfach zu implementieren und kann in vielfacher Weise erweitert werden. Eine
mögliche Erweiterung wäre zum Beispiel das Einfügen von Gaps. Weiterhin kann durch
das Laden von Sequenzen in den Hauptspeicher die Rechenzeit weiter verringert werden.
   BLAST zeichnet sich auch durch seine statistische Komponente aus. Die Fähigkeit
anzugeben, ob Zusammenhänge signifikant oder bloß zufällig sind ist ein sehr wichtiges
Feature, um Fehlannahmen auszuschließen.
   Das Paper und die vorliegende Arbeit behandeln den originalen BLAST-Algorithmus
aus dem Jahr 1990. BLAST war zu diesem Zeitpunkt ein Algorithmus dessen Zeitkomple-
xität in Zusammenhang mit seiner Sensitivtät nahezu unerreicht war. BLAST ist Grund-
lage für viele neuere Entwicklungen wie BLASTP oder BLASTN [4, 7, 3]. Er ist heutzutage
in vielen Varianten im Einsatz, die alle für bestimmte Einsatzzwecke optimiert sind.
   Der größte Nachteil von BLAST ist der, dass nicht garantiert werden kann, dass die
besten Alignments gefunden werden. Dies ist ein Problem aller heuristischen Algorithmen
und kann nie mit absoluter Sicherheit ausgeschlossen werden.
   Ein weiterer Nachteil liegt in der Abschätzung der Eingangsparameter des Algorithmus.
Werden die Wortlänge w und der Schwellwert T nicht richtig gewählt, kann das die Ergeb-
nisse des Algorithmus so stark beeinflussen, dass die Ergebnisse nicht repräsentativ sind.
Ein erfahrener Benutzer ist erforderlich, um diese abhängig von der Datenlage richtig zu
wählen. Abzuschätzen, welche Parameter die Richtigen sind, kann eine längere Testphase
erfordern. Besonderheiten in den Daten können nur berücksichtigt werden, wenn sie auch
bekannt sind.
   Es konnte gezeigt werden, das eine höhere Genauigkeit/Sensitivität die Laufzeit ent-
sprechend erhöht. Ein Kompromiss zwischen Laufzeit und Genauigkeit ist notwendig.

 Unter dem Strich bietet BLAST einen sehr viel schnelleren Ansatz als alle vorherigen
Ansätze. Dieser Vorteil wird allerdings durch eine geringere Genauigkeit beeinträchtigt.
Will man die Genauigkeit erhöhen, wird damit wiederum die Laufzeit erhöht.

                                            18
Literatur

5 Literaturverzeichnis

Literatur
[1] Altschul, S.F. u. a.: Amino acid substitution matrices from an information theo-
    retic perspective. In: Journal of molecular biology 219 (1991), Nr. 3, S. 555–565

[2] Altschul, S.F. ; Gish, W. ; Miller, W. ; Myers, E.W. ; Lipman, D.J. u. a.:
    Basic local alignment search tool. In: Journal of molecular biology 215 (1990), Nr. 3,
    S. 403–410

[3] Altschul, S.F. ; Madden, T.L. ; Schäffer, A.A. ; Zhang, J. ; Zhang, Z. ;
    Miller, W. ; Lipman, D.J.: Gapped BLAST and PSI-BLAST: a new generation of
    protein database search programs. In: Nucleic acids research 25 (1997), Nr. 17, S.
    3389–3402

[4] Balakrishnan, R. ; Christie, K.R. ; Costanzo, M.C. ; Dolinski, K. ; Dwight,
    S.S. ; Engel, S.R. ; Fisk, D.G. ; Hirschman, J.E. ; Hong, E.L. ; Nash, R. u. a.:
    Fungal BLAST and model organism BLASTP best hits: new comparison resources at
    the Saccharomyces Genome Database (SGD). In: Nucleic acids research 33 (2005),
    Nr. suppl 1, S. D374–D377

[5] Baxevanis, A.D. ; Ouellette, B.F.F.: Bioinformatics: a practical guide to the
    analysis of genes and proteins. Wiley-Interscience, 2004

[6] Benson, D.A. ; Boguski, M.S. ; Lipman, D.J. ; Ostell, J.: GenBank. In: Nucleic
    acids research 25 (1997), Nr. 1, S. 1–6

[7] Buhler, J.D. ; Lancaster, J.M. ; Jacob, A.C. ; Chamberlain, R.D. u. a.: Mer-
    cury BLASTN: Faster DNA sequence comparison using a streaming hardware archi-
    tecture. In: Proc. of Reconfigurable Systems Summer Institute (2007)

[8] Earley, J.: An efficient context-free parsing algorithm. In: Communications of the
    ACM 13 (1970), Nr. 2, S. 94–102

[9] Gregory, SG ; Barlow, KF ; McLay, KE ; Kaul, R. ; Swarbreck, D. ; Dun-
    ham, A. ; Scott, CE ; Howe, KL ; Woodfine, K. ; Spencer, CCA u. a.: The
    DNA sequence and biological annotation of human chromosome 1. In: Nature 441
    (2006), Nr. 7091, S. 315–321

                                           19
Literatur                                                                       Literatur

[10] Jochen Graw, Wolfgang H.: Genetik. 5th. Springer Berlin Heidelberg : Springer,
     2010

[11] Karlin, S. ; Altschul, S.F.: Methods for assessing the statistical significance of
     molecular sequence features by using general scoring schemes. In: Proceedings of the
     National Academy of Sciences 87 (1990), Nr. 6, S. 2264–2268

[12] Needleman, S.B. ; Wunsch, C.D. u. a.: A general method applicable to the search
     for similarities in the amino acid sequence of two proteins. In: Journal of molecular
     biology 48 (1970), Nr. 3, S. 443–453

[13] Salwinski, L. ; Miller, C.S. ; Smith, A.J. ; Pettit, F.K. ; Bowie, J.U. ; Ei-
     senberg, D.: The database of interacting proteins: 2004 update. In: Nucleic acids
     research 32 (2004), Nr. suppl 1, S. D449–D451

[14] Smith, T. F. ; Waterman, M. S.: Identification of common molecular subsequences.
     In: Journal of molecular biology 147 (1981), März, Nr. 1, 195–197. http://view.
     ncbi.nlm.nih.gov/pubmed/7265238. – ISSN 0022–2836

[15] Swanson, R.: A unifying concept for the amino acid code. In: Bulletin of mathe-
     matical biology 46 (1984), Nr. 2, S. 187–203

                                           20
6 ANHANG

6 Anhang

           21
6 ANHANG

22
6 ANHANG

23
6 ANHANG

24
Sie können auch lesen