nach Signalen und Genen in DNA

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Gensuche mit Hidden Markov Modellen Zentrum für Bioinformatik
Motivation Bisher: Codes mit möglichst kurzer Codelänge.
Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Eine dynamische Menge, die diese Operationen unterstützt,
Stochastik und Markovketten
Die Laufzeit von randomisierten (zufallsgesteuerten) Algorithmen hängt von gewissen zufälligen Ereignissen ab (Beispiel Quicksort). Um die Laufzeiten dieser.
Genome Rearrangements
Paarweises Sequenz Alignment
Polynomial Root Isolation
Statistische Aspekte der PSG
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Schnelle Matrizenoperationen von Christian Büttner
Das LCA – Problem in Suffixbäumen
Suche in Texten (Stringsuche )
Christian Schindelhauer
Übersicht DIALIGN = DIagonal ALIGNment
Das Halteproblem. Gibt es einen Algorithmus, mit dem man für jedes beliebig vorgegebene Programm R und für jede beliebig vorgegebene Eingabe E entscheiden.
Algorithmentheorie 04 –Hashing
1WS 06/07 Organisatorisches 1.Vorlesung am Montag, : 9-11 Uhr in Gebäude 106, Raum Podcasts: Probleme mit der Videoqualität sind behoben.
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Bestimmung des Next-Arrays im KMP-Algorithmus
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Algorithmentheorie 7 – Bin Packing
PG 520 Intelligence Service – gezielte Informationen aus dem Internet
Christian Schindelhauer
Christian Schindelhauer
Zahlen mit Zahlen ausmessen
Genregulatorische Netzwerke Andreas Moll.
Minimum Spanning Tree: MST
Intelligentes Crawling im WWW mit Hilfe intuitiver Suchbedingungen
Erwartungswert und Varianz I Der endliche Fall Erwartungswert Varianz.
Hauptseminar Automaten und Formale Sprachen
Approximationsalgorithmen Facility Location K-Median Cheng, Wei 12. Juli.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Christian Scheideler Institut für Informatik Universität Paderborn
Chris Schwiegelshohn Katja Losemann. Geg.: Suchtext y und Muster x p Position im Suchtext und q Position im Muster Init: p=0 und q=0 loop { while y(p.
Formale Sprachen Grammatiken und die Chomsky-Hierarchie
Beispiele: KFG 2.Teil Beispiel 1: Sei G eine Grammatik mit den folgenden Regeln: S  Ac | Bd A  aAb | ab B  aBbb | abb Definieren Sie.
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Arne Vater Wintersemester 2006/ Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Das Traveling Salesman Problem (TSP)
Gene Prediction Marco Block Jonas Heise Nima Keshvari Michael Schreiber.
Die Binomialverteilung
 Präsentation transkript:

nach Signalen und Genen in DNA Die Suche nach Signalen und Genen in DNA Zentrum für Bioinformatik der Universität des Saarlandes WS 2001/2002

Transkriptionsfaktoren ATGCGTGCAATGT..........AGGCACGCATGA TGACGCA CACGTG GGGCGG CCAAT TATA ATG TGA Exon Intron Exon Promoter transcription factor binding site DNA cutting Splicing site Unter Signalen verstehen wir bestimmte in der Regel kurze Stücke von DNA, die wichtige Informationen für bestimmte Prozesse enthalten. In der Regel binden andere Moleküle an diese Signalketten und eine chemische Reaktion wird dadurch gestartet oder gestoppt. transcription factors Transcription factor binding sites regulation of gene expression Splicing sites splicing of exons (and introns) restriction enzymes Sites of the restriction enzym

Transcription factor binding sites N  {A,T,C,G} Pu  {A,G} TTGACAN17TATAAT E. coli promoter binding site Sites of the restriction enzym PumCN40-2000PumC McrBC Endonuclease GAATTC EcoRI CCAN9TGG Xcm I restriction enzyme Wie kann man diese magischen Worte in einer vorgegebenen Menge von Sequenzen finden? Der triviale Ansatz, alle Worte der Länge l in allen vorgegebenen Sequenzen zu suchen, ist natürlich nur bei kurzen Worten ohne Lücken und Mutationen erfolgreich.

Annahme: Ein populärer Ansatz in der DNA-Linguistik basiert auf der Annahme, dass DNA-Signale in der Regel Worte sind, die häufig oder selten vorkommen. Wie kann man potentielle Signal-Muster finden und ihre statistische Signifikanz beweisen? Ansatz: (1) Man definiere ein Fitness-Maß (z.B. Häufigkeit des Auftretens). (2) Berechne die Häufigkeit von jedem Wort in einer Menge von DNA-Fragmenten. (3) Gebe das beste Wort oder die besten Worte als potentielle Signale aus. Wie kann man entscheiden, ob ein Wort W häufig oder selten vorkommt? Hierzu benötigt man den Erwartungswert E(W) und die Varianz Var(W)=2(W) für die Zahl der Vorkommen eines Worts W.

Spiel mit zwei Spielern: Spieler 1 wählt ein binäres Wort A der Länge L. Spieler 2 kennt das Wort, das Spieler 1 gewählt hat. Spieler 2 wählt anschließend ein (anderes) binäres Wort B der Länge L. Dann werfen Sie solange {0,1}-Münzen, bis entweder das Wort A oder das Wort B erscheint. Spieler (1) wählt A = 00 Spieler (2) wählt B = 10 Münzwürfe: 1 1 = B Für L > 2 gilt: Welches Wort der Spieler (1) auch auswählt, Spieler (2) kann immer ein Wort finden, dass bessere Gewinnchancen hat. Definition: Gegeben zwei L-Worte A und B über dem binären Alphabet {0,1}. Die Korrelation AB = (c0 , ... , cL-1 ) ist ein L-Wort, dessen Komponenten wie folgt definiert sind: falls die ersten (L-i) Buchstaben von B gleich den letzten (L-i) Buchstaben von A sind. sonst A = 01101 B = 11011 11011 AB = 1 1

Definition: Gegeben zwei L-Worte A und B über dem binären Alphabet {0,1}. Die Korrelation AB = (c0 , ... , cL-1 ) ist ein L-Wort, dessen Komponenten wie folgt definiert sind: falls die ersten (L-i) Buchstaben von B gleich den letzten (L-i) Buchstaben von A sind. sonst Das Korrelationspolynom definiert man als Ferner sei KAB = KAB(1/2). Mit HAB bezeichen wir die Menge der „Reste“ von A: Für jedes i mit ci = 1 fügt man die ersten i Buchstaben von A als Wort zu HAB. AB = A = 01101 B = 11011 11011 1 HAB = { 0, 0110} Für jedes ci = 1 wird ein ergänzender Präfix von A zu HAB hinzugefügt (Rest ohne die überlappenden Teile). Mit A * B bezeichnet man die Konkatenation von A und B. Sind X und Y zwei Wortmengen, so bezeichnen wir mit X * Y die Menge aller aus X und Y konkatenierten Wörter. |X *Y|=| X | | Y |.

Die Wahrscheinlichkeit P(W) eines binären Wortes W der Länge L ist gleich Für eine Menge X von Worten sei Lemma: KAB(1/2) = P(HAB) AB = A = 01101 B = 11011 11011 1 HAB = { 0, 0110} Für jedes ci = 1 wird ein ergänzender Präfix von A zu HAB hinzugefügt (Rest ohne die überlappenden Teile). Definition: Ein Wort W ist ein A-Gewinn, wenn A am Ende des Wortes steht und W das Wort B nicht enthält. Ein Wort W ist ein A-Vorgewinn, wenn W*A ein A-Gewinn ist. Ein Wort W ist ein B-Gewinn, wenn B am Ende des Wortes steht und W das Wort A nicht enthält. Ein Wort W ist ein B-Vorgewinn, wenn W*B ein B-Gewinn ist.

Wir betrachten die Wortmenge  = { W | W ist weder A- noch B-Gewinn}. Jedes Wort W*A mit W ist entweder ein A-Gewinn oder ein B-Gewinn. Falls W*A ein A-Gewinn ist, W A A-Vorgewinn  VGA A HAA  = (VGA*HAA) (VGB*HBA) Falls W*A ein B-Gewinn ist, W A B B-Vorgewinn HBA  VGB Falls W*B ein B-Gewinn ist, W B B-Vorgewinn HBB Falls W*B ein A-Gewinn ist, A A-Vorgewinn HAB  VGA  VGB  = (VGB*HBB) (VGA*HAB)

= (VGB*HBB) (VGA*HAB) (VGA*HAA) (VGB*HBA) = (VGB*HBB) (VGA*HAB) => P(VGA *HAA) + P (VGB*HBA) = P(VGB*HBB) + P(VGA*HAB) => P(VGA ) P(HAA) + P (VGB) P(HBA) = P(VGB) P(HBB) + P(VGA) P(HAB) Lemma => P(VGA ) KAA + P (VGB) KBA = P(VGB) KBB + P(VGA) KAB P(VGB ) KAA - KAB P(VGA) KBB - KBA = Satz (Conway): Die Wahrscheinlichkeit, dass das Wort B gegen A gewinnt, kann man durch den folgenden Quotienten der Wahrscheinlichkeiten der Vorgewinne von A und B abschätzen: P(VGB ) KAA - KAB P(VGA) KBB - KBA = Beweis: Siehe oben (Pevzner [1993]). Li [1980] Guibas & Odlyzko [1981]).

Gegeben ein Bernouilli-Text der Länge n über einem Alphabet mit r Buchstaben. Wir nehmen an, dass der Text circulär ist. Die Wahrscheinlichkeit, dass ein Buchstabe an einer bestimmten Position auftritt, ist (1/r). Sei W ein Wort der Länge L. Die Zufallsvariable xi hat den Wert 1, falls das Wort W an der i-ten Position im Text startet (0 sonst). Die Zahl der Vorkommen von W wird durch die folgende Zufallsvariable beschrieben: n(p-p2) ? (siehe nächste Seite)

falls der t-te Koeffizient ct des Korrelations- polynoms KWW gleich 1 ist i i+t sonst

Gegeben ein Bernouilli-Text der Länge n über einem Alphabet mit r Buchstaben. Wir nehmen an, dass der Text circulär ist. Die Wahrscheinlichkeit, dass ein Buchstabe an einer bestimmten Position auftritt, ist (1/r). Sei W ein Wort der Länge L. Die Zufallsvariable xi hat den Wert 1, falls das Wort W an der i-ten Position im Text startet (0 sonst). Die Zahl der Vorkommen von W wird durch die folgende Zufallsvariable beschrieben: n(p-p2)

Beispiel: Für ein Alphabet mit vier gleich wahrscheinlichen Buchstaben A,T, C, G gilt: Die folgenden Arbeiten präsentieren Approximations-Formeln für die Varianz von Texten, die durch Markov-Ketten generiert wurden: Fousler & Karlin [1987] Stuckle et al. [1990] Kleffe & Borodowsky [1992] Die Grenzverteilung für die Zahl von Wortvorkommen im Markov-Modell haben Prum et al. [1995] veröffentlicht. Exakte und approximative Formeln für den Erwartungswert, die Varianz und die Wahrscheinlichkeit von approximativen Wortvorkommen haben Regnier & Szpankowski [1998] veröffentlicht.

Bezeichnung: Für ein Wort W und eine Menge von Sequenzen bezeichnen wir mit nW(S) die Zahl der Vorkommen von W in S. Problem: Suche das Wort W der Länge L, das am häufigsten vorkommt (mit maximalem nW(S)). Lösung: Trivial: Zähle alle Worte der Länge L in S. Problem: Suche das Wort W der Länge L, das approximativ am häufigsten vorkommt. Hierbei erlaubt man bis zu k Fehler (mismatches). Lösung: Waterman et al. [1984] Galas et al. [1985] haben TTGACA und TATAAT als Promoter-Signale von E.coli identifiziert.

Consensus-String-Problem (CSP): Gegeben eine Menge S={s1, ... , sn} von Sequenzen und eine ganze Zahl L, finde einen Median-String s der Länge L und einen Teilstring ti der Länge L für jede Sequenz si, so dass die folgende Summe der Abstände (Hamming-Distanz) minimal ist. Lösung: Li et al. [1999] zeigten, dass CSP „NP-hard“ ist, und präsentierten ein PTAS (Polynomial Time Approximation Scheme).

Das seltenste Dinukleotid in vielen Genomen ist CG Das seltenste Dinukleotid in vielen Genomen ist CG. Es existieren jedoch häufig sogenannte CG-Inseln in der Nähe von Genen, wo CG relativ gehäuft vorkommt. Wie kann man feststellen, ob ein bestimmter Bereich mit einigen CGs eine CG-Insel ist? Dieses Problem ist mit dem folgenden Münzwurfproblem (Durbin et al. [1998]) verwandt: Ein Spieler hat zwei Münzen zur Verfügung, eine „normale“ Münze mit Wahrscheinlichkeit ½ für Kopf (0) und Zahl (1) und eine „gezinkte“ Münze mit Wahrscheinlichkeit ¾ für Kopf (1) und ¼ für Zahl (0). Der Spieler kann diese Münzen während des Spiels auswechseln, ohne dass es die Mitspieler erkennen können. Er wechselt jedoch selten (Wahrscheinlichkeit 0.1) wegen der Gefahr, doch erwischt zu werden. Sei x = x1x2....xn eine Folge von Münzwurfen ohne Vertauschen der Münzen: k ist die Anzahl der Einsen (1) wurde wahrscheinlich mit der gezinkten Münze geworfen.

HMM:  sei ein Alphabet. Q sei eine Menge von Zuständen, die Symbole aus  produzieren. A = (aij) ist eine |Q|x|Q| Matrix mit Wahrscheinlichkeiten von Zustandsübergängen. P = (pq()) ist eine |Q|x|| Matrix mit „Produktionswahrscheinlichkeiten“. Beispiel: Münzwürfe mit normaler und gezinkter Münze:  = { 0, 1} (Zahl oder Kopf). Q = { normal, gezinkt}, je nachdem, mit welcher Münze geworfen wird. anormal,normal = agezinkt, gezinkt = 0.9 und anormal, gezinkt = agezinkt, normal = 0.1. pnormal(0) = ½ , pnormal(1) = ½, pgezinkt(0) = ¼ , pgezinkt(1) = ¾ . Ein Pfad q = q1q2...qn in einem HMM ist eine Folge von Zuständen, z.B., normal, gezinkt, normal, .... Die Wahrscheinlichkeit, dass eine Folge x = x1x2 ... xn von Münzwürfen durch einen Pfad q generiert wurde, ist wobei a0 und an+1 die fiktiven Start- und Endzustände „begin“ und „end“ sind.

Das vorhergehende Model definiert die Wahrscheinlichkeit für eine gegebene Folge x von Münzwürfen und einen (bekannten) Pfad von Zuständen. Normalerweise kennt jedoch nur der Spieler den Pfad, der die Münzen wirft. Man spricht daher auch von einem „versteckten“ (hidden) Pfad. Dekodierungsproblem: Man finde einen optimalen Pfad q* = arg maxq P(x|q) für x, so dass P(x|q) maximiert wird. Idee: Man betrachte einen Präfix x1x2 ... xi+1 und man überlege, wie man den optimalen Pfad für diesen Präfix und einen beliebigen Status qi+1 rekursiv aus den optimalen Pfaden des Präfix x1x2 ... xi berechnen kann. Sei wq(i) die Wahrscheinlichkeit des wahrscheinlichsten Pfades für den Präfix x1x2 ... xi , der xi aus dem Zustand q produziert: Initialisierung: und für k  begin. Viterbi Algorithmus [1967]

Die Laufzeit des Viterbi-Algorithmus ist O(n|Q|). 1 normal gezinkt begin end 0.45 0.2025 .091125 0.075 .016875 Die Berechnungen im Viterbi-Algorithmus werden in der Regel mit einer „logarithmischen Skala“ durchgeführt: Die Laufzeit des Viterbi-Algorithmus ist O(n|Q|).

Translation in Protein Bei der Translation wird die in Gene kodieren die Baupläne für den Aufbau der molekularen Bausteine (Proteine, RNA). Translation in Protein Bei der Translation wird die in der mRNA gespeicherte Infor- mation übersetzt und der ent- sprechende Baustein (Protein) synthetisiert. Tyr Ala Arg Tyr Val Arg Thr mRNA-Reifung plus Splicing UACGCACGUUACGUGCGUACU Bei der mRNA-Reifung und Splicing werden die Introns aus der mRNA herausgeschnitten. UACGCACGUUAGT..........AGCGUGCGUACU mRNA-Molekül Transkription Bei der Transkription wird eine mRNA-Kopie (messenger RNA) des Gens erstellt. Transkriptionsfaktoren ATGCGTGCAATGT..........AGGCACGCATGA TGACGCA CACGTG GGGCGG CCAAT TATA ATG TGA Exon Intron Exon Promoter

Wie kann man die Gene im Genom finden? Man sucht statistisch nach charakteristischen Signalen (magischen Wörtern), die häufig in der Nähe eines Gens oder in einem Gen auftauchen und sonst selten. Man sucht zum Beispiel nach „Open Reading Frames“ (ORFs). Ein ORF startet mit einem Start-Kodon (ATG), endet mit einem von drei Stopp-Kodons (z.B. TGA) und es gibt kein Stopp- Kodon dazwischen. Die Durchschnittsdifferenz in zufälliger DNA zwischen Stopp-Kodons ist: 64/3 = 21. Ein langes ORFs kann ein Indiz für ein potentielles Gen sein. In kodierenden und nicht-kodierenden Bereichen trifft man auf unterschiedliche Kodon- Häufigkeiten (Häufigkeiten der Kodons in einem Fenster einer bestimmten Größe). Am Anfang und am Ende von Introns treten gewisse Signale (magische) Worte auf. ATGCGTGCAATGT..........AGGCACGCATGA TGACGCA CACGTG GGGCGG CCAAT TATA ATG TGA Exon Intron Exon Promoter

Wie kann man die Gene im Genom finden? Ähnlichkeitssuche: Gegeben ein noch nicht auf Gene untersuchtes DNA-Molekül. Man suche mit Hilfe von Alignment-Algorithmen nach Sequenzen im DNA-Molekül, die zu bekannten Genen ähnlich sind. Die Ähnlichkeitssuche (Alignment) kann jedoch auch von einem Genprodukt aus- gehen. mRNA-Molekül Transkription mRNA-Reifung plus Splicing UACGCACGUUACGUGCGUACU UACGCACGUUAGT..........AGCGUGCGUACU Translation in Protein Tyr Ala Arg Tyr Val Arg Thr Ein solcher Ansatz wurde von Gelfand et al. 1996 veröffentlicht. Die Methode wird als Spliced-Alignment- Verfahren bezeichnet. ATGCGTGCAATGT..........AGGCACGCATGA TGACGCA CACGTG GGGCGG CCAAT TATA ATG TGA Exon Intron Exon Promoter

Sei G = g1g2 ... gn ein String (das neue DNA-Molekül). Seien ferner B = gi gi+1 ... gj und B‘ = gi‘gi‘+1 ... gi‘ Teilstrings von G. Wir schreiben B  B‘ , falls j < i‘ ist. Eine Folge  = (B1 , B2 , . . . , Bs) von Teilstrings von G wird dann als Kette bezeichnet, wenn gilt: B1  B2  ...  Bs Mit * = B1 * B2 * ... * Bs bezeichnen wir die Konkatenation der Bis. Sei T = t1t2 ... tm eine Sequenz, die sogenannte Target-Sequenz (in unserem Beispiel die mRNA). Die Menge E erhält man, in dem man alle potentiellen Exons von G berechnet. Sei ferner E = { B1, B2, ... ,Bp } eine Menge von Teilstrings von G. ATGCGTGCAATGT..........AGGCACGCATGA TGACGCA CACGTG GGGCGG CCAAT TATA ATG TGA Exon Intron Exon Promoter mRNA-Molekül Transkription mRNA-Reifung plus Splicing UACGCACGUUACGUGCGUACU UACGCACGUUAGT..........AGCGUGCGUACU

Spliced-Alignment-Problem: Gegeben G, T und E = { B1, B2, ... Bp }, bestimme aus allen möglichen Ketten von E eine Kette  von Strings in E mit optimalem Alignment, d.h., der Score D(*, T) von dem Alignment zwischen der Konkatenation * der Strings von  und dem String T ist optimal (maximal). ATCAGTGCAATGCAGCCATGA Komplement der mRNA T = t1t2 ... tm E = { B1, B2, ... Bp } ATCAGTGCAATGT..........AGGCAGCCATGA Exon Intron Exon G

Spliced-Alignment-Problem: Gegeben G, T und E = { B1, B2, ... Bp }, bestimme aus allen möglichen Ketten von E eine Kette  von Strings in E mit optimalem Alignment, d.h., der Score D(*, T) von dem Alignment zwischen der Konkatenation * der Strings von  und dem String T ist optimal (maximal). Wir benötigen die folgenden Bezeichnungen: Sei B = gf ...gi ... gl ein Block aus E. first(B) = f last(B) = l size(B) = l – f+1 E(i) = {Bk E| last(Bk) < i } B(i) = gf ... gi Sei  = (B1 , ... , Bk , ... , Bt) eine Kette, so dass Bk die Position i (gi) enthält. *(i) = B1 * B2 * ... * Bk-1 * Bk(i) Sei

Spliced-Alignment-Problem: Gegeben G, T und E = { B1, B2, ... Bp }, bestimme aus allen möglichen Ketten von E eine Kette  von Strings in E mit optimalem Alignment, d.h., der Score D(*, T) von dem Alignment zwischen der Konkatenation * der Strings von  und dem String T ist optimal (maximal). Um das Spliced-Alignment-Problem zu lösen, muß man das folgende Maximum bestimmen: Die folgende Rekursion ermöglicht die Berechnung dieses Maximums: i  first(Bk) i  first(Bk) i = first(Bk) i = first(Bk)