Genome Rearrangement - Universität des Saarlandes

Werbung
Genome Rearrangements
Zentrum für Bioinformatik
der Universität des Saarlandes
WS 2002/2003
Ende der achtziger Jahre haben Jeffrey Palmer und seine Kollegen durch Vergleich der
mitrochondralen Genome von Pflanzen ein bemerkenswertes Muster evolutionärer Entwicklung entdeckt.
1
2
3
4
5
B. oleracea (Kohl)
1
-5
-4
-3
-2
1
-5
4
-3
-2
-5
4
B. campestris (Steckrübe)
1
-3
2
Viele Gene sind zu 99 % identisch nur ihre Reihenfolge (und ihre Richtung) haben sich
geändert. Ganze Blöcke von Genen wurden umsortiert und eventuell wurde auch die
Richtung der Blöcke geändert.
Genome Rearrangement:
Finde eine minimale Reihe von Transformationen, die ein Genom (oder Chromosom)
in ein anderes Genom (oder Chromosom) überführt.
Die Standardtransformation ist die Umkehrung (Reversal). Ein Reversal kehrt
die Richtung eines oder mehrerer Blöcke um.
1
2
3
4
5
1
4
2
6
7
8
Maus (X Chromosom)
Mensch (X Chromosom)
-4
-6
-3
5
8
Da sich die Gene auf den X Chromosomen der Säugetiere im Laufe der Evolution kaum geändert
haben (Ohno [1967]), kann man durch das Studium der X Chromsomen und der vorliegenden
Rearrangements die Evolution der Säugetiere in den letzten 125 Millionen Jahren studieren.
Herpes Viren haben bis zu 200 Gene. Die Genome dieser Viren entwickeln sich so schnell weiter,
dass man kaum mehr eine Ähnlichkeit zwischen den „verwandten“ Genen verschiedener Herpes
Arten feststellen kann. Aber alle Arten weisen sieben Blöcke von Genen auf, die in den verschiedenen Viren unterschiedlich angeordnet sind.
David Sankoff hat den folgenden Ansatz zum Vergleich der Genreihenfolge formuliert:
Sorting by Reversals:
Die Reihenfolge der Gene von zwei Organismen wird durch zwei Permutationen repräsentiert:
 = 1 2 ... n
 = 1 2 ... n
Ein Reversal ( i, j) eines Intervals [i,j] ist die Permutation
12...(i  1)i (i  1)...( j  1) j ( j  1)...n 


12...(i  1) j ( j  1)...(i  1)i ( j  1)...n 
 = 1 2 ... i-1 i i+1... j-1 j j+1 ...n
 ( i, j) = 1 2 ... i-1 j j-1... i+1 i j+1 ...n
Reversal Distance Problem:
Gegeben zwei Permutationen  und . Bestimme eine minimale Serie von Reversals 1 2... t ,
so dass gilt:
 1 2... t = 
Die minimale Zahl d( ) von Reversals, die eine Permutation  in die Identität überführt, nennt
man die Reversal-Distanz von .
Identität = (1 2 3 ... n).
Pancake Flipping Problem:
Die minimale Zahl dpräf( ) von Präfix-Reversals (1,i) , die eine Permutation  in die Identität
überführt, nennt man die Präfix-Reversal-Distanz von .
Identität = (1 2 3 ... n).
Bill Gates (ein „undergraduate“ Student in Harvard) und Christos Papadimitriou machten die
ersten Versuche dieses Problem zu lösen (Gates & Papadimitriou [1979]). Sie zeigten, dass der
Präfix-Reversal-Diameter dpräf(n) = max dpräf() der symmetrischen Gruppe mit n Elementen
kleiner gleich (5/3)(n+1) ist und für unendlich viele n größer gleich (17/16)n ist.
Bezeichnung:
Definition:
Falls |i-j| = 1, dann schreiben wir i~j .
Falls |i-j|  1, dann schreiben wir i~j .
Man nennt ein Paar (i , i+1) adjazent, falls i ~ i+1.
Man nennt ein Paar (i , i+1) einen Haltepunkt, falls i ~ i+1
Da die Identität keine Haltepunkte hat und da jedes Reversal bestenfalls
zwei Haltepunkte beseitigen kann, gilt:
b( )
d ( ) 
2
wobei b() die Zahl der Haltepunkte von  ist.
Der Haltepunkt-Graph
einer Permutation  = 0 1 ...n n+1 ist ein Graph mit n+2 Knoten V = {0 ,1, ...,n ,n+1}
und gefärbten Kanten: Die benachbarten Knoten i und i+1 werden durch blaue Kanten verbunden.
Jedes Knotenpaar (i , j) mit i ~ j wird über eine rote Kante miteinander verbunden.
0
2
3
1
4
6
5
7
Definition:
Man nennt einen Rundgang in diesem Graphen alternierend, wenn jedes aufeinander folgende
Paar von Kanten im Rundgang aus einer blauen und einer roten Kante besteht.
( ... rot, blau, rot, blau, rot, ....) Wenn wir im folgenden Abschnitt von einem Rundgang sprechen,
so ist immer ein alternierender Rundgang gemeint.
Die Knoten im Haltepunkt-Graphen sind balanciert, d.h., #rote Kanten (v) = #blauen Kanten (v).
Es existiert ein alternier. Euler-Rundgang (d.h. der Rundgang geht genau einmal über jede Kante).
Der Graph kann in kanten-disjunkte alternierende Rundgänge zerlegt werden.
0
2
3
1
4
6
5
7
0
2
3
1
4
6
5
7
0
2
3
1
4
6
5
7
0
2
3
1
4
6
5
7
0
2
3
1
4
6
5
7
Zerlegung in kantendisjunkte alternierende
Rundgänge.
Der Graph kann in kanten-disjunkte alternierende Rundgänge zerlegt werden.
Wir interessieren uns für die Zerlegung eines Haltepunkt-Graphen in maximal viele Rundgänge.
0
1
2
3
4
5
6
7
Die Identität kann in n+1 Rundgänge zerlegt werden. Sei  eine Permutation. Der HaltepunktGraph von G() habe eine maximale Rundgang-Zerlegung der Größe c().
Wir werden im folgenden Abschnitt zeigen, dass
Satz:
Die Anwendung  eines beliebigen Reversals  auf  die maximale Zahl
von Rundgängen um höchstens einen Rundgang vergrößert, d.h.
c() – c()  1
Beweis: Siehe nächste Seite!
Es folgt dann:
Satz (Bafna & Pevzner [1996])
Für jede Permutation  gilt:
d()  n+1 – c().
Beweis des Satzes: Jedes Reversal (i,j) verändert G() in vier Knoten.
Die blauen Kanten
0
DEL={(i-1, i), (j, j+1)}
werden ersetzt durch
ADD={(i-1, j), (i, j+1)}
0
2
3
1
4
6
(5,6)
2
3
1
4
5
7
6
7
DEL
5
ADD
(1) Gehören die Kanten in ADD zum gleichen Rundgang einer maximalen
Zerlegung von G(), so erhalten wir durch Löschen dieses Rundgangs eine
Menge von c() –1 Rundgängen von (in) G(). Also ist c()  c() –1.
0
1
2
3
0
2
1
3
2
3
4
(1,2)
5
6
7
4
5
6
7
4
5
6
7
ADD
0
1
Beweis des Satzes: Jedes Reversal (i,j) verändert G() in vier Knoten.
Die blauen Kanten
DEL={(i-1, i), (j, j+1)}
werden ersetzt durch
ADD={(i-1, j), (i, j+1)}
0
2
3
1
4
6
(5,6)
0
2
3
1
4
5
7
6
7
DEL
5
ADD
(1) Gehören die Kanten in ADD zu zwei Rundgängen R1 und R2 der maximalen
Zerlegung von G (), so erhalten wir durch Löschen dieser Rundgänge eine
Menge von c() –2 Rundgängen von (in) G()\(R1R2). Offensichtlich bildet
die Kanten (R1 R2 DEL)\ADD
einen balanciertenTeilgraphen
4
5
6
2
1
0
7
3
von G(), der wenigstens
(1,2)
R1
einen weiteren Rundgang
R2
enthält.
c()  c() - 2 + 1
c()  c() - 1
0
1
2
3
4
5
6
7
1
3
4
5
6
7
ADD
0
2
Erwartete Reversal-Distanz:
Für eine belieb. Permutation Sn betrachten wir eine max. Rundgang-Zerlegung.
Sei ci() die Zahl der Rundgänge mit Länge i in der max. Zerlegung (die nicht 0 und
n+1 besuchen). Sei   2 die Zahl der Rundgänge in der max. Zerlegung, die entweder 0 oder n+1 besuchen. Es gilt:
c( ) 
2 ( n 1)
 c ( )  
i 2
i
Wir betrachten nun alle Rundgänge deren Länge mindestens k ist. Die Zahl dieser
k 1
Rundgänge ist
c( )   ci ( )  
i 2
Da G() genau 2(n+1) Kanten hat und da die Rundgänge kanten-disjunkt sind, gilt:
k 1
1

k  2(n  1) c( )   ci ( )     2(n  1)   ici ( ) 
k
i 2
i 2

k 1
k  2(n  1)
d()  (n+1) – c()
k  2(n  1)
k 1
1

c( )   2(n  1)   (k  i )ci ( )   
k
i 2

k 1
2
1

d ( )  (1  )( n  1)    (k  i )ci ( )   2
k
k  i 2

Erwartete Reversal-Distanz:
Für eine beliebige Permutation Sn bezeichnen wir die erwartete Zahl von
Rundgängen der Länge i in der maximalen Zerlegung von G() mit E(ci()).
Lemma:
2i
E (ci ( )) 
i
Beweis: Ein Rundgang der Länge i = 2t enthält t blaue Kanten von der Form
{(x‘t , x1), (x‘1 , x2), (x‘2 , x3), .... , (x‘t-1 , xt) } mit xj ~ x‘j
Wir betrachten die Menge x1, x2 , .... , xt und zeigen, dass für jeden Rundgang in einer max.
Zerlegung gilt, dass alle xi verschieden sind (xi  xj). Wir nehmen an, dass xk = xl ist.
(x‘t , x1) .... (x‘k-1 , xk) (x‘k , xk+1) .... (x‘l-1 , xl)(x‘l , xl+1) ....
(x‘t-1 , xt)
=
Dann ist die Zerlegung nicht maximal, da wir einen weiteren Rundgang (siehe Bild) zur
Zerlegung hinzufügen könnten und eine Menge von balancierten Knoten übrigbleiben würde
(weitere Rundgänge). Wir erhalten also einen Widerspruch zur Annahme, dass x k = xl.
Fortsetzung des Beweises auf der nächsten Seite.
Es gibt n!/(n-t)! mögliche Auswahlen von sortierten Menge x1, ... , xt. Für jede mögliche Auswahl
gilt: Es existieren für jedes xi (höchstens) zwei Nachbarn x‘i.
2t n!/(n-t)! mögliche Rundgänge der Länge 2t.
Man beachte, dass wir bei dieser Zählung jeden Rundgang 2t mal zählen.
(2t /2t)(n!/(n-t)!) mögliche Rundgänge der Länge 2t.
Man wähle einen beliebigen 2t-Rundgang. Die Zahl der Permutationen, in denen dieser Rundgang höchtens auftreten kann, kann wie folgt abgeschätzt werden:
2t(n-t)! da die Elemente der t Paare nebeneinander gesetzt werden müssen
und man daher nur die möglichen Permutationen von (n-t) Elemente
betrachten muß (=>(n-t)!)und man für jedes Paar zwei mögliche
Reihenfolgen hat => 2t.
Die Wahrscheinlichkeit p, dass irgend ein 2t-Rundgang in einer zufällig gewählten Permutation
auftritt, kann daher wie folgt abgeschätzt werden:
2t (n  t )!
p
n!
2t (n  t )! 22t (n  t )! n! 22t 2i
E (ci ( ))  E (c2t ( )) 




n
!
(
n

t
)!
n
!
(
2
t
)
2
t
2t
alle2 tRundgänge




3
n
E (d ( ))  1 
 log( n ) 

log( n ) 

Satz (Bafna & Pevzner [1996])
Beweis:
2
1  k 1

d ( )  (1  )( n  1)    (k  i )ci ( )   2
k
k  i 2

2
 k 1

d ( )  (1  )( n  1)    ci ( )   2
k
 i 2

 k 1 2i 
2
2
 k 1

E (d ( ))  (1  )( n  1)    E (ci ( ))   2  (1  )( n  1)      4
k
k
 i 2

 i 4 i 
2
 k 1 i 
2
 k 1 i 
 (1  )( n  1)    2   4  (1  )( n  1)    2   1  2  4  8  4
k
k
 i 0 
 i 4 
n
2n
2
2n
 (1  )  (2k  1)  1  2  8  n 
 2k
k
k
k
Fortsetzung des Beweises auf der nächsten Seite.
E (d ( ))  n 
2n
 2k
k
Wähle
k  log(
E (d ( ))  (1 
n
)
log( n )
3
n
log(
)
log( n )
2k 
n
k
)n
Bafna und Pevzner geben ferner die folgende Abschätzung an:

4.5 
E (d ( ))  1 
n
 log( n ) 
Satz (Caprara [1997])
Das Reversal-Distanz-Problem für vorzeichenlose Permutationen ist NP-hard.
Satz (Kaplan, Shamir, Tarjan [1997])
Es existiert ein Algorithmus mit Laufzeit O(n2), der die optimale Folge von Reversals
(Reversal-Distanz) für jede vorgegebene Permutation  mit Vorzeichen (signed
permutation) bestimmt.
1
2
3
4
5
1
4
2
6
7
8
Maus (X Chromosom)
Mensch (X Chromosom)
-4
-6
-3
5
8
Definition:
Ein Block einer Permutation  ist ein maximales Teilinterval von , das keine
Haltepunkte enthält.
1567432
Ein Block wird wachsend genannt, wenn die Zahlenwerte im Block wachsen.
Der Block wird fallend genannt, wenn die Zahlenwerte vom Anfang zum Ende
hin im Block kleiner werden. Ein Block, der nur aus einer Zahl besteht, wird auch
fallend genannt.
Sei  eine Permutation, die einen fallenden Block (gelb markiert) enthält:
....i-1 i i+1 .....
i+1  i - 1 und i+1  i + 1
Haltepunkt
Unter der Annahme, dass ..... i-1 i der fallende Block in  mit der kleinsten Zahl
i am Ende des Blocks ist, gilt: Es existiert ein weiterer Haltepunkt zwischen der Zahl
i - 1 und dem rechten Nachbarn der Zahl i – 1.
Fall1: ..i i+1 .. (j = i-1) j+1 ..
Haltepunkte
Fall2: (j = i-1) j+1 .. i i+1.
..i (j = i-1) .... i+1j+1 ..
Haltepunkt
?
(j = i-1) i .... j+1i+1 ..
Lemma:
Falls eine Permutation  einen fallenden Block enthält, dann existiert ein Reversal, das die
Zahl der Haltepunkte um wenigstens einen Haltepunkt verkleinert.
Beweis: Siehe vorhergehende Seite.
Sei  eine Permutation, die keinen fallenden Block enthält. Jeder Block ist steigend und
besteht daher aus mindestens zwei aufeinander folgenden Zahlen. Falls  nicht die Identität
ist, so gibt es an jedem Ende eines Blockes einen Haltepunkt. Dreht man einen solchen
steigenden Block um, so erhält man einen fallenden Block und die Zahl der Haltepunkte
ändert sich nicht.
Lemma:
Sei  eine Permutation, die nicht die Identität ist und keine fallenden Blöcke enthält, dann
gibt es ein Reversal, das nicht die Zahl der Haltepunkte ändert und einen fallenden Block
der Länge größer gleich 2 produziert.
Heuristik 1: Gegeben eine Permutation .
Solange die Permutation ungleich der Identität ist, führe man die folgenden Operationen aus:
• Falls es mindestens einen fallenden Block gibt, dann finde einen, dessen Umkehrung
(Reversal) die Zahl der Haltepunkte reduziert und drehe ihn um.
• Falls es keinen fallenden Block gibt, dann finde einen steigenden Block und drehe
ihn um (Reversal).
Satz:
Die vorhergehende Heuristik (1) benötigt im schlimmsten Fall 2b() Reversals, um eine
beliebige Permutation  in die Identität zu überführen. Hierbei ist b( ) die Zahl der Haltepunkte von . Daher ist die Zahl der von der Heuristik verwendeten Reversals immer kleiner
gleich 4 * d(), wobei d() die Reversal-Distanz (die optimale Zahl von Reversals) ist.
Beweis: Siehe vorhergehende Seite und siehe Seite 5:
d()  b()/2, wobei b() die Zahl der Haltepunkte ist.
Lemma:
Sei  eine Permutation mit einem fallenden Block. Falls es kein Reversal gibt, das die Zahl der
Haltepunkte verkleinert und einen anderen fallenden Block zurücklässt (oder produziert), dann
gibt es ein Reversal in , das die Zahl der Haltepunkte um zwei verkleinert.
Beweis:
Sei ..... i-1 i der fallende Block in  mit der kleinsten Zahl i am Ende des Blocks:
Es existiert ein weiterer Haltepunkt zwischen der Zahl i - 1 und dem rechten Nachbarn
der Zahl i – 1.
Fall1:
..i i+1 .. (j = i-1) j+1 ..
Haltepunkte
Fall2:
.. (j = i-1) j+1 .. i i+1.
..i (j = i-1) .... i+1j+1 ..
Haltepunkt
?
.. (j = i-1) i .... j+1i+1 ..
Es existiert ein fallender
Block ..... i (j = i-1)... !
(j = i-1) muß links von i
liegen!
Sei ..... k k+1 .... der fallende Block in  mit der größten Zahl k am Anfang des Blocks:
Mit einem symmetrischen Argument kann man zeigen, dass k + 1 rechts von k liegen muß.
i -1 k
i
k + 1
k muß links von i liegen, da andernfalls das Reversal des Intervals von i – 1 bis i die Zahl
der Haltepunkte reduzieren würde und den fallenden Block mit k zurücklassen würde.
k muß rechts von i -1 liegen, da andernfalls das Reversal des Intervals von i – 1 bis i die Zahl
der Haltepunkte reduzieren würde und den fallenden Block mit k zurücklassen würde.
Mit symmetrischer Argumentation folgt, dass i links von k + 1 liegen muß.
Wir zeigen nun, dass k + 1 direkt auf i folgt, d.h., die oben eingezeichnete rote Box
ist leer und enthält kein Element. Hierzu nehmen wir an, dass die Box nicht leer ist, und leiten
einen Widerspruch zu der Annahme des Lemmas ab. Die Box kann keinen fallenden Block
enthalten, da andernfalls das Reversal des Intervals von i – 1 bis i die Zahl der Haltepunkte
reduzieren würde und den in der Box enthaltenen fallenden Block zurücklassen würde.
Also muß die Box mindestens einen steigenden Block enthalten. Das Reversal des Intervals
von k bis k + 1 würde die Zahl der Haltepunkte verkleinern und den steigenden Block
Widerspruch zur Annahme im Lemma.
in der Box in einen fallenden Block umwandeln.
Eine symmetrische Argumentation zeigt, dass k direkt auf i –1 folgt.
Das Reversal des Intervals von k bis i eliminiert zwei Haltepunkte.
Heuristik 2: Gegeben eine Permutation .
Solange die Permutation ungleich der Identität ist, führe man die folgenden Operationen aus:
• Falls es einen fallenden Block gibt, dessen Reversal die Zahl der Haltepunkte reduziert
und einen fallenden Block zurücklässt, dann drehe ihn um.
• Falls es keinen solchen Block gibt, dann finde
(1) einen Block, dessen Reversal
die Zahl der Haltepunkte um zwei reduziert, und drehe ihn um und,
falls man nicht durch das Reversal bereits die Identität hat, dann
(2) suche einen steigenden Block, dessen Reversal keine neuen Haltepunkte produziert, und drehe ihn um.
Satz:
Die Heuristik 2 verwendet höchstens b() Reversals und verwendet daher höchstens 2 * d() viele
Reversals (höchstens zweimal die optimale Zahl von Reversals).
Herunterladen