Transcription factor binding sites Sites of the restriction enzym

Werbung
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
Exon
Intron
Exon
TGA
Promoter
transcription factor binding site
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
DNA cutting
Transcription factor binding sites
TTGACAN17TATAAT
N  {A,T,C,G}
Pu  {A,G}
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.
Var(W )  E (W 2 )  E (W )2  E (W 2 )  E (W ) E (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:
0 1 1 0 =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:
1
ci  
0
falls die ersten (L-i) Buchstaben von B gleich den letzten (L-i) Buchstaben von A sind.
A = 01101
sonst
B = 11011
AB = 01 0 0 1
11011
11011
11011
11011
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:
1
ci  
0
falls die ersten (L-i) Buchstaben von B gleich den letzten (L-i) Buchstaben von A sind.
sonst
Das Korrelationspolynom definiert man als
K AB (t )  c0  c1t  ...  cL1t L1
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.
A = 01101
B = 11011
HAB = { 0, 0110}
AB = 01 0 0 1
11011
11011
11011
Für jedes ci = 1 wird ein ergänzender Präfix von A
11011
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
P (W ) 
1
2L
P() 
 P( X )
Für eine Menge X von Worten sei
X 
Lemma:
KAB(1/2) = P(HAB)
A = 01101
B = 11011
11011
11011
11011
11011
K AB (t )  c0  c1t  ...  cL1t L1
AB =
01 0 0 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
 VGA
A-Vorgewinn
Falls W*A ein B-Gewinn ist,
HAA  = (VG *H ) (VG *H )
A
AA
B
BA
A
B
HBA
W
 VGB
B-Vorgewinn
Falls W*B ein A-Gewinn ist,
A
W
 VGB
B-Vorgewinn
Falls W*B ein B-Gewinn ist,
A
B
B
HBB  = (VGB*HBB) (VGA*HAB)
W
 VGA
A-Vorgewinn
B
A
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 )
K - KAB
= AA
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 )
K - KAB
= AA
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
X   xi
i 1
n
E ( X )   E ( xi )  n
i 1
1
: np
L
r
Var( X )  E ( X 2 )  E ( X )2 
 E( x x )  E( x )E( x )
{1i , j  n }
0

i


j
i
j
i
j
 E( x x )  E( x )E( x )
{( i , j ):|i  j|0}
? (siehe
nächste
Seite)
i
 E( x x )  E( x )E( x )
{( i , j ):|i  j| L}
n(p-p2)
j
i
j
i
j
 E( x x )  E( x )E( x )
{( i , j ):0 |i  j| L}
i
j
i
j
n
L1
 E ( x x )  E ( x ) E ( x )    E ( x x )  E ( x ) E ( x )
{( i , j ):0|i  j| L}
i
j
i
i+t
i
j
i 1 t 1 { j:|i  j|t }
 1
p
E ( xi xi t )   r t
 0
i
j
i
j
falls der t-te Koeffizient ct des Korrelationspolynoms KWW gleich 1 ist
sonst
1
E ( xi xi t )  ct p t
r
L1

L1
 E ( xi x j )  2 p ct
t 1 { j:|i  j|t }
t 1
1
1

2
p
(
K
(
)  1)
WW
t
r
r
n
1
E
(
x
x
)

E
(
x
)
E
(
x
)

(
2
p
(
K
(
)  1)  2( L  1) p 2 )


i j
i
j
WW
r
{( i , j ):0|i  j| L}
i 1
1
 np( 2( KW W ( )  1)  2( L  1) p )
r
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
X   xi
i 1
n
1
 np
L
r
i 1
Var( X )  E ( X 2 )  E ( X )2   E ( xi x j )  E ( xi ) E ( x j )
E ( X )   E ( xi )  n
{1i , j  n }
0

 E( x x )  E( x )E( x )
{( i , j ):|i  j| L}
n(p-p2)


j
i
j
 E( x x )  E( x )E( x )
{( i , j ):|i  j|0}
1
np( 2( KW W ( )  1)  2( L  1) p )
r
i
i
j
i
j
 E( x x )  E( x )E( x )
{( i , j ):0 |i  j| L}
i
j
1
Var( X )  np(2( KW W ( )  1)  ( 2 L  1) p )
r
i
j
Beispiel:
Für ein Alphabet mit vier gleich wahrscheinlichen Buchstaben A,T, C, G gilt:
Var( AAA) 99

Var( ATG) 59
Var( AA) 21

Var( AT ) 13
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.
n
d
i 1
H
( s, ti )
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. 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:
n
1
2n
i 1
n
1 3k 3k
P( x | gezinkt )   p( xi )  nk k  n
4 4
4
i 1
n
3k
1
k
n
k


3 2
log 2 (3)
4n 2n
P( x | normal )   p( xi ) 
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
n
n
n
P( x | q)   P( xi | qi ) P( qi | qi 1 )  aq0 ,q1  pqi ( xi )aqi ,qi 1  a0,1  pqi ( xi )ai ,i 1
i 1
i 1
i 1
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:
wq (i  1)  pq ( xi 1 ) max {wk (i )akq }
kQ
P( x | q* )  max {wk (n)ak ,end }
Initialisierung:
wbegin (0)  1
und
wk (0)  0
kQ
für k  begin.
Viterbi Algorithmus [1967]
1
normal
0
gezinkt
0
begin
1
end
0
0
1
0
1
1
0
1
0.45
0.2025 .091125
0.075 .016875
Die Berechnungen im Viterbi-Algorithmus werden in der Regel mit einer „logarithmischen Skala“
durchgeführt:
Wq (i )  log( wq (i ))
Wq (i  1)  log( pq ( xi 1 ))  max {Wk (i )  log( akq )}
kQ
Die Laufzeit des Viterbi-Algorithmus ist O(n|Q|).
• Gene kodieren die Baupläne für den Aufbau der molekularen Bausteine (Proteine, RNA).
Bei der Translation wird die in
der mRNA gespeicherte Information übersetzt und der entsprechende Baustein (Protein)
synthetisiert.
Tyr Ala Arg Tyr Val Arg Thr
Translation
Bei der mRNA-Reifung und
Splicing werden die Introns aus
der mRNA herausgeschnitten.
in Protein
UACGCACGUUACGUGCGUACU
mRNA-Reifung
Bei der Transkription wird eine
mRNA-Kopie (messenger RNA)
des Gens erstellt.
plus Splicing
UACGCACGUUAGT..........AGCGUGCGUACU
Transkription
Transkriptionsfaktoren
mRNA-Molekül
ATGCGTGCAATGT..........AGGCACGCATGA
TGACGCA CACGTG
GGGCGG
Promoter
CCAAT
TATA
ATG
Exon
Intron
Exon
TGA
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 StoppKodon 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 KodonHä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
Promoter
CCAAT
TATA
ATG
Exon
Intron
Exon
TGA
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.
Tyr Ala Arg Tyr Val Arg Thr
Die Ähnlichkeitssuche (Alignment) kann
jedoch auch von einem Genprodukt ausgehen.
Translation
in Protein
UACGCACGUUACGUGCGUACU
Ein solcher Ansatz wurde von Gelfand
et al. 1996 veröffentlicht.
mRNA-Reifung
plus Splicing
UACGCACGUUAGT..........AGCGUGCGUACU
Die Methode wird als Spliced-Alignment- Transkription
mRNA-Molekül
Verfahren bezeichnet.
ATGCGTGCAATGT..........AGGCACGCATGA
TGACGCA CACGTG
GGGCGG
Promoter
CCAAT
TATA
ATG
Exon
Intron
Exon
TGA
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).
Sei ferner E = { B1, B2, ... ,Bp } eine Menge von Teilstrings von G. Die Menge E erhält man, in
dem man alle potentiellen Exons von G berechnet.
UACGCACGUUACGUGCGUACU
mRNA-Reifung
plus Splicing
UACGCACGUUAGT..........AGCGUGCGUACU
Transkription
mRNA-Molekül
ATGCGTGCAATGT..........AGGCACGCATGA
TGACGCA CACGTG
GGGCGG
Promoter
CCAAT
TATA
ATG
Exon
Intron
Exon
TGA
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).
Komplement der
mRNA
ATCAGTGCAATGCAGCCATGA
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
D(i, j, k ) 
max
alleKettendieBk enthalten
D( * (i ), T ( j ))
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:
max D (last ( Bk ) , m, k )
k
Die folgende Rekursion ermöglicht die Berechnung dieses Maximums:



D (i , j , k )  



D(i  1, j  1, k )  d ( gi , t j )
i  first(Bk)
D(i  1, j, k )  d ( gi ,)
D (i, j  1, k )  d ( , t j )
max D(last ( Bl ), j  1, l )  d ( gi , t j )
i  first(Bk)
max D(last ( Bl ), j, l )  d ( gi ,)
i = first(Bk)
Bl B ( i )
Bl B ( i )
i = first(Bk)
Herunterladen