Szekvencia Illesztés - Budapesti Műszaki és Gazdaságtudományi ...
Szekvencia Illesztés - Budapesti Műszaki és Gazdaságtudományi ...
Szekvencia Illesztés - Budapesti Műszaki és Gazdaságtudományi ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Bevezetés a<br />
Bioinformatikába<br />
<strong>Budapesti</strong> Műszaki és<br />
Gazdaságtudományi Egyetem<br />
2009/10 Tavaszi Szemeszter<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 1
<strong>Szekvencia</strong> Illesztés<br />
<strong>Budapesti</strong> Műszaki és<br />
Gazdaságtudományi Egyetem<br />
2009/10 Tavaszi Szemeszter<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 2
Egy unaloműző játék<br />
<br />
<br />
<br />
<br />
2 játékos (A és B), 2 kupac kavics (10 és 10 db)<br />
Amikor egy játékos sorra kerül, akkor el kell<br />
vennie<br />
egy kavicsot az egyik kupacból, vagy<br />
egy-egy kavicsot mind a két kupacból<br />
Az a játékos nyer, aki az utolsó kavicsot elveszi<br />
‘A’ játékos kezd<br />
<br />
Mi a nyerő stratégia?<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 3
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 4
0 1 2 3 4 5 6 7 8 9 10<br />
0 L W<br />
1 W W<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 5
0 1 2 3 4 5 6 7 8 9 10<br />
0 L W L<br />
1 W W<br />
2 L<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 6
0 1 2 3 4 5 6 7 8 9 10<br />
0 L W L<br />
1 W W W<br />
2 L W<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 7
0 1 2 3 4 5 6 7 8 9 10<br />
0 L W L<br />
1 W W W<br />
2 L W L<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 8
0 1 2 3 4 5 6 7 8 9 10<br />
0 L W L W<br />
1 W W W W<br />
2 L W L W<br />
3 W W W W<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 9
DNS szekvencia összehasonlítás:<br />
Első siker történet<br />
<br />
<strong>Szekvencia</strong> hasonlóság keresése ismert<br />
funkciójú gének körében általános gyakorlat<br />
arra, hogy következtessenek egy újonnan<br />
szekvenált gén funkciójára.<br />
<br />
1984-ben Russell Doolittle and kollégái<br />
hasonlatosságot találtak egy rákot-okozó gén és<br />
a vérlemezke eredetű növekedési faktor (PDGF,<br />
platelet-derived growth factor) gén között<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 10
Cistás fibrózis (CF): Öröklödés<br />
<br />
Az 1980-as évek elején a biológusok azt feltételezték,<br />
hogy a CF egy olyan autoszomális recesszív<br />
rendellenesség, amit egy 1989-ig ismeretlen maradó<br />
gén mutációja okoz<br />
<br />
1989-ben a biológusok hasonlatosságot találtak a CFTR<br />
gén és az ATP(adenozin trifoszfát)-kötő fehérjét kódoló<br />
gén között<br />
<br />
Az ATP-kötő fehérje a sejt membránon van jelen és<br />
transzport csatornaként működik<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 11
Cisztás fibrózis (CF): Mutáció elemzés<br />
Ha a CF betegek nagy %-ánál egy bizonyos<br />
mutáció jelen van a génben és a normál<br />
pácienseknél nincs, akkor ez indikátora lehet<br />
annak, hogy ez a mutáció kapcsolatos a CF-el.<br />
Egy bizonyos mutációt kimutattak a CF betegek<br />
70%-ánál, ami meggyőző bizonyíték arra, hogy ez<br />
CF-re utaló uralkodó genetikai jel<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 12
Bioinformatikusok belépése<br />
<br />
Gén hasonlatosság két (ismert és ismeretlen<br />
funkciójú) gén között felhívta a biológusok<br />
figyelmét bizonyos lehetőségekre<br />
<br />
Két gén hasonlatosság értéke felvilágosíthat,<br />
hogy milyen valószínűséggel rendelkeznek ezek<br />
a gének hasonló tulajdonságokkal<br />
<br />
Dinamikus programozás a legalkalmasabb<br />
technika a gének közötti hasonlóság felfedésére<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 13
Általánosított pénzváltási probléma<br />
<br />
Váltsunk fel egy adott összeget a lehető legkisebb<br />
számú – megadott értékű – pénzérmére<br />
Input: M pénzösszeg, valamint d különböző<br />
felhasználható pénzérme c = (c 1<br />
, c 2<br />
, …, c d<br />
) tömbje,<br />
csökkenő értéksorrendben (c 1<br />
> c 2<br />
> … > c d<br />
).<br />
Output, d egészszám listája (i 1<br />
, i 2<br />
, …, i d<br />
), ahol c 1<br />
*i 1<br />
+<br />
c 2<br />
*i 2<br />
+ … + c d<br />
*i d<br />
= M és i 1<br />
+ i 2<br />
+ …+ i d<br />
minimalizált.<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 14
Helyes Algoritmus<br />
NyersEroValto(M, c, d)<br />
1. legkisebbErmeSzam = ∞<br />
2. for each (i 1<br />
, …, i d<br />
) from (0, …, 0) to (M/c 1<br />
, …, M/c d<br />
)<br />
3. ermekErteke = Σ i k<br />
*c k<br />
4. if ermekErteke = M<br />
5. ermekSzama = Σ i k<br />
6. If ermekSzama < legkisebbErmeSzam<br />
7. legkisebbErmeSzam = ermekSzama<br />
8. legjobbValtas = (i 1<br />
, i 2<br />
, …, i d<br />
)<br />
9. return (legjobbValtas)<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 15
Pénzváltási probléma: Rekurzió<br />
Adott c érmékre (c 1<br />
, c 2<br />
, …, c d<br />
) a következő<br />
rekurziós reláció érvényes:<br />
minÉrmeSzám(M-c 1<br />
) + 1<br />
minÉrmeSzám(M) =<br />
min<br />
minÉrmeSzám(M-c 2<br />
) + 1<br />
…<br />
minÉrmeSzám(M-c d<br />
) + 1<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 16
Pénzváltási probléma: Rekurzív algoritmus<br />
1. RekursivValto(M,c,d)<br />
2. if M = 0<br />
3. return 0<br />
4. minErmeSzam ∞<br />
5. for i 1 to d<br />
6. if M ≥ c i<br />
7. ermeSzam RekursivValto(M – c i<br />
, c, d) + 1<br />
8. if ermeSzam < minErmeSzam<br />
9. minErmeSzam ermeSzam<br />
10. return minErmeSzam<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 17
A RekurzivValto hívási fája<br />
77<br />
76 74<br />
70<br />
75 73 69 73 71 67 69 67 63<br />
74 72 68 68 66 62<br />
70 68 64<br />
68 66 62<br />
62 60 56<br />
72 70 66<br />
72 70 66<br />
66 64 60<br />
66 64 60<br />
70 70 70<br />
70<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 18
A RekurzivValto nem hatékony<br />
Például, M = 77, c = (1,3,7):<br />
<br />
70 cent esetére az optimális érme kombináció<br />
4-szer számítódik ki<br />
Az optimális érme kombinációt ismételten<br />
kiszámítja egy adott pénzösszegre<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 19
Találjunk jobb megoldást<br />
Mentsük el az egyes számítások eredményeit (0-<br />
tól M-ig)<br />
<br />
Így hivatkozással felhasználhatjuk a már<br />
kiszámított értékeket, ahelyett, hogy<br />
mindannyiszor újraszámítanánk őket<br />
<br />
Ez a un. dinamikus programozás lényege<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 20
DPValto: Példa<br />
0 1 2 1 2 3 2 1 2 3<br />
0 1 2 3 4 5 6 7 8 9<br />
c = (7,3,1)<br />
M = 9<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 21
Pénzváltási probléma: Dinamikus prog. megoldás<br />
1. DPValto(M,c,d)<br />
2. minErmeSzam 0<br />
0<br />
3. for m 1 to M<br />
4. minErmeSzam m<br />
∞<br />
5. for i 1 to d<br />
6. if m ≥ c i<br />
7. if minErmeSzam m – ci<br />
+ 1 < minErmeSzam m<br />
8. minErmeSzam m<br />
minErmeSzam m – ci<br />
+ 1<br />
9. return minErmeSzam M<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 22
Futási idők összehasonlítása<br />
<br />
A rekurzív megoldás futási ideje M d , ahol M a<br />
felváltandó összeg és d a lehetséges pénzérmék<br />
száma<br />
<br />
A dinamikus programozási megoldás futási ideje<br />
M*d, ami sokkal kedvezőbb, mint a rekurzív<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 23
Manhattan-i turista probléma (MTP)<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 24
Manhattan-i turista probléma (MTP)<br />
Keressük fel<br />
‘Kiindulás’-tól<br />
‘Végcél’-ig, csak<br />
keletre vagy délre<br />
haladva a legtöbb<br />
látványosságot (*)<br />
Manhattan hálózatán<br />
Kiindulás<br />
* *<br />
*<br />
*<br />
*<br />
*<br />
*<br />
*<br />
*<br />
*<br />
*<br />
*<br />
Sink<br />
Végcél<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 25
Manhattan-i turista probléma (MTP)<br />
Keressük fel<br />
‘Kiindulás’-tól<br />
‘Végcél’-ig, csak<br />
keletre vagy délre<br />
haladva a legtöbb<br />
látványosságot (*)<br />
Manhattan hálózatán<br />
Kiindulás<br />
* *<br />
* *<br />
*<br />
*<br />
*<br />
*<br />
*<br />
*<br />
*<br />
*<br />
Sink<br />
Végcél<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 26
Manhattan-i turista probléma definiálása<br />
Cél: Megtalálni a legjobb útvonalat a súlyozott<br />
hálózaton.<br />
Input: G súlyozott hálózat két megkülönböztetett<br />
ponttal; az egyik a “Kiindulás”, a másik pedig a<br />
“Végcél”<br />
Output: A legjobb útvonal a G hálózaton<br />
(“Kiindulás”-tól “Végcél”-ig).<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 27
MTP: Egy példa<br />
Kiindulás<br />
0<br />
0 1 2 3<br />
3 2 4 0<br />
0 3 5 9<br />
1 0 2 4 3<br />
4<br />
j kordináta<br />
1<br />
3 2 4<br />
13<br />
2<br />
4<br />
6<br />
5<br />
2<br />
1<br />
i kordináta<br />
2<br />
4<br />
0 7 3<br />
4<br />
5<br />
15<br />
2<br />
4<br />
19<br />
1<br />
3<br />
3 3 0<br />
2<br />
20<br />
5<br />
6<br />
8<br />
5<br />
3<br />
1 3 2<br />
2<br />
2010. márc. 24<br />
<strong>Szekvencia</strong> Illesztés 28 23<br />
Végcél
MTP: A mohó algoritmus (általában) nem optimális<br />
Kiindulás<br />
1 2 5<br />
5<br />
3<br />
10<br />
5<br />
2 1 5<br />
3<br />
5<br />
3<br />
1<br />
2 3 4<br />
Igéretes kezdés, de<br />
rossz<br />
választásokhoz<br />
vezet<br />
0<br />
0<br />
0 0 0<br />
5<br />
2<br />
18<br />
22<br />
Végcél<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 29
MTP: Dinamikus prog. megoldás<br />
Kiindulás<br />
j<br />
0 1<br />
i<br />
0<br />
5<br />
1<br />
1<br />
S 0,1<br />
= 1<br />
1<br />
5<br />
S 1,0<br />
= 5<br />
• Számitsuk ki az optimális útvonal értékét a gráf minden<br />
pontjára<br />
• Az egyes pontokhoz tartozó érték az előző pontok<br />
értékének plusz a megfelelő élek súlyának maximuma.<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 30
MTP: Dinamikus prog. megoldás (folyt)<br />
Kiindulás<br />
j<br />
0 1 2<br />
i<br />
0<br />
5<br />
1 2<br />
3<br />
1 3<br />
S 0,2<br />
= 3<br />
1<br />
3<br />
5<br />
-5<br />
4<br />
S 1,1<br />
= 4<br />
2<br />
8<br />
S 2,0<br />
= 8<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 31
MTP: Dinamikus prog. megoldás (folyt)<br />
Kiindulás<br />
j<br />
0 1 2 3<br />
i<br />
0<br />
5<br />
1 2<br />
1 3<br />
3<br />
10<br />
5<br />
8<br />
S 3,0<br />
= 8<br />
1<br />
3<br />
5<br />
-5<br />
5<br />
4<br />
1<br />
13<br />
S 1,2<br />
= 13<br />
2<br />
0<br />
8<br />
-5<br />
9<br />
S 2,1<br />
= 9<br />
3<br />
8<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 32<br />
S 3,0<br />
= 8
MTP: Dinamikus prog. megoldás (folyt)<br />
Kiindulás<br />
j<br />
0 1 2 3<br />
0<br />
1 2 5<br />
1 3 8<br />
i<br />
5<br />
3<br />
10<br />
-5<br />
1<br />
3<br />
5<br />
-5 1 -5<br />
4<br />
5<br />
-3<br />
13 8<br />
S 1,3<br />
= 8<br />
2<br />
0<br />
8<br />
-5 3<br />
0<br />
9<br />
12<br />
S 2,2<br />
= 12<br />
0<br />
3<br />
S 3,1<br />
= 9<br />
8 9<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 33
MTP: Dinamikus prog. megoldás (folyt)<br />
Kiindulás<br />
j<br />
0 1 2 3<br />
0<br />
1 2 5<br />
1 3 8<br />
i<br />
5<br />
3<br />
10<br />
-5<br />
1<br />
5<br />
-5 1 -5<br />
4<br />
13 8<br />
3<br />
5<br />
-3<br />
2<br />
2<br />
0<br />
8<br />
-5 3 3<br />
9 12<br />
0<br />
-5<br />
15<br />
S 2,3<br />
= 15<br />
0 0<br />
3<br />
S<br />
8 9 9 3,2<br />
= 9<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 34
MTP: Dinamikus prog. megoldás (folyt)<br />
Kiindulás<br />
j<br />
0 1 2 3<br />
i<br />
0<br />
5<br />
1 2 5<br />
1 3 8<br />
3<br />
10<br />
-5<br />
kész!<br />
1<br />
5<br />
-5 1 -5<br />
4<br />
13 8<br />
3<br />
5<br />
-3<br />
2<br />
2<br />
8<br />
-5 3 3<br />
9<br />
12<br />
15<br />
0<br />
0<br />
-5<br />
1<br />
0 0<br />
0<br />
3<br />
8 9 9 16 S = 16<br />
3,3<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 35
MTP: Dinamikus prog. megoldás (folyt)<br />
Kiindulás<br />
j<br />
0 1 2 3<br />
i<br />
0<br />
5<br />
1 2 5<br />
1 3 8<br />
3<br />
10<br />
-5<br />
útvonal<br />
1<br />
2<br />
3<br />
5<br />
8<br />
-5 1 -5<br />
5<br />
4<br />
-3<br />
-5 3 3<br />
9<br />
13 8<br />
12<br />
2<br />
15<br />
Futási idő egy n-szer<br />
m-es hálózat esetén:<br />
n*m<br />
0<br />
0<br />
-5<br />
1<br />
0 0<br />
0<br />
3<br />
8 9 9 16 S = 16<br />
3,3<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 36
Manhattan nem tökéletes hálózat<br />
A 2<br />
A 3<br />
A 1<br />
B<br />
Mi a helyzet az átlókkal?<br />
•B pontban az érték:<br />
s B<br />
=<br />
max<br />
s A1<br />
+ (A 1<br />
, B) él súlya<br />
s A2<br />
+ (A 2<br />
, B) él súlya<br />
s A3<br />
+ (A 3<br />
, B) él súlya<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 37
<strong>Szekvencia</strong> illesztés beszúrás és törlés<br />
nélkül: Hamming távolság<br />
Adott két DNS szekvencia v és w :<br />
v :<br />
w :<br />
AT AT AT AT<br />
T AT AT AT A<br />
• A Hamming távolság d H<br />
(v, w) = 8 nagy, de a<br />
szekvenciák nagyon hasonlóak<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 38
<strong>Szekvencia</strong> illesztés beszúrással és<br />
törléssel<br />
Az egyik szekvenciát egy pozicióval eltolva:<br />
v : AT AT AT AT --<br />
w : -- T AT AT AT A<br />
• A szerkesztési távolság d H<br />
(v, w) = 2.<br />
• Hamming távolság nem veszi figyelembe a DNS<br />
szekvenciákban a beszúrásokat és törléseket<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 39
Szerkesztési távolság<br />
Levenshtein (1966) vezette be a szerkesztési<br />
távolságot 2 string között, mint a minimum számú<br />
elemi művelet (beszúrás, törlés, és helyettesítés),<br />
amely az egyik stringet a másikba transzformálja<br />
d(v,w) = MIN számú elemi művelet<br />
v w transzfomálásra<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 40
Szerkesztési távolság kontra Hamming távolság<br />
Hamming távolság mindig<br />
v i-edik betűjét<br />
w i-edik betűjéhez<br />
hasonlítja<br />
V = ATATATAT<br />
W = TATATATA<br />
Hamming távolság:<br />
d(v, w)=8<br />
Számitása triviális feladat.<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 41
Szerkesztési távolság kontra Hamming távolság<br />
Hamming távolság mindig<br />
v i-edik betűjét<br />
w i-edik betűjéhez<br />
hasonlítja<br />
Szerkesztési távolság<br />
v i-edik betűjét esetlegesen<br />
w j-edik betűjéhez<br />
hasonlítja<br />
V = ATATATAT<br />
W = TATATATA<br />
1-1 beszúrás, törlés<br />
Hasonló részt illeszti<br />
V = - ATATATAT<br />
W = TATATATA<br />
Hamming távolság: Szerkesztési távolság:<br />
d(v, w)=8 d(v, w)=2<br />
Számitása triviális feladat.<br />
Számitása nem-triviális feladat<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 42
Szerkesztési távolság kontra Hamming távolság<br />
Hamming távolság mindig<br />
v i-edik betűjét<br />
w i-edik betűjéhez<br />
hasonlítja<br />
Szerkesztési távolság<br />
v i-edik betűjét esetlegesen<br />
w j-edik betűjéhez<br />
hasonlitja<br />
V = ATATATAT<br />
W = TATATATA<br />
V = - ATATATAT<br />
W = TATATATA<br />
Hamming távolság: Szerkesztési távolság:<br />
d(v, w)=8 d(v, w)=2<br />
Hogy lehet megtalálni, hogy melyik i megy melyik j-vel?<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 43
Szerkesztési távolság: Példa<br />
TGCATAT ATCCGAT 5 lépésben<br />
TGCATAT (utolsó T törlése)<br />
TGCATA (utolsó A törlése)<br />
TGCAT (A beszúrása az elején)<br />
ATGCAT (G helyettesítése C-re)<br />
ATCCAT (G beszúrása az utolsó A elé)<br />
ATCCGAT (kész)<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 44
Szerkesztési távolság: Példa<br />
TGCATAT ATCCGAT 5 lépésben<br />
TGCATAT (utolsó T törlése)<br />
TGCATA (utolsó A törlése)<br />
TGCAT (A beszúrása az elején)<br />
ATGCAT (G helyettesítése C-re)<br />
ATCCAT (G beszúrása az utolsó A elé)<br />
ATCCGAT (kész)<br />
Mi a szerkesztési távolság? 5?<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 45
Szerkesztési távolság: Példa (folyt.)<br />
TGCATAT ATCCGAT 4 lépésben<br />
TGCATAT (A beszúrása az elején)<br />
ATGCATAT (T törlése a 6. helyről)<br />
ATGCAAT (A helyettesítése az 5. helyen G-re)<br />
ATGCGAT (G helyettesítése a 3. helyen C-re)<br />
ATCCGAT (kész)<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 46
DNS szekvenciák illesztése<br />
V = ATCTGATG<br />
W = TGCATAC<br />
megegyezés<br />
n = 8<br />
m = 7<br />
5<br />
2<br />
3<br />
megegyezés<br />
törlés<br />
beszúrás<br />
V<br />
W<br />
A T C T G A T C<br />
T G C A T A C<br />
indel-ek<br />
törlés<br />
beszúrás<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 47
Leghosszabb Közös Részszekvencia (LKR)<br />
– Illesztés eltérés nélkül<br />
• Adott két szekvencia<br />
v = v 1<br />
v 2<br />
…v m<br />
és w = w 1<br />
w 2<br />
…w n<br />
• v és w LKR-je poziciók olyan szekvenciája v-ben<br />
v: 1 < i 1<br />
< i 2<br />
< … < i t<br />
< m<br />
és w-ben<br />
w: 1 < j 1<br />
< j 2<br />
< … < j t<br />
< n,<br />
hogy v minden i k<br />
-adik betűje megegyezik w j k<br />
-adik<br />
betűjével, és t maximális.<br />
Megjegyzés: angol rövidítése LCS (Longest Common Subsequence)<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 48
LKR: Példa<br />
i kordináta:<br />
v elemei<br />
w elemei<br />
j kordináta:<br />
0<br />
0<br />
1 2 2 3 3 4 5 6 7 8<br />
A T -- C -- T G A T C<br />
-- T G C A T -- A -- C<br />
0 1 2 3 4 5 5 6 6 7<br />
(0,0)(1,0)(2,1)(2,2)(3,3)(3,4)(4,5)(5,5)(6,6)(7,6)(8,7)<br />
megegyezés piros-sal<br />
poziciók v-ben:<br />
2 < 3 < 4 < 6 < 8<br />
poziciók w-ben: 1 < 3 < 5 < 6 < 7<br />
Minden közös részszekvencia keresés egy útvonal a<br />
2-D hálózatban<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 49
LKR: Dinamikus programozás<br />
Cél: Megtalálni 2 string LKR-jét<br />
Input: G súlyozott gráf 2 kitüntetett ponttal<br />
(“Kiindulás” és “Végcél”)<br />
Output: A leghosszabb útvonal G-ben a<br />
“Kiindulás”-tól a “Végcél”-ig<br />
• A megoldáshoz egy un. LKR szerkesztő gráfot<br />
használunk, amelyben az átlók +1 -es értékkel<br />
karakter megegyezés esetén szerepelnek<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 50
LKR probléma mint a Manhattan-i turista probléma<br />
i<br />
T<br />
0<br />
1<br />
j<br />
A T C T G A T C<br />
0 1 2 3 4 5 6 7 8<br />
G<br />
C<br />
A<br />
2<br />
3<br />
4<br />
T<br />
5<br />
A<br />
C<br />
6<br />
7<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 51
LKR probléma mint a Manhattan-i turista probléma<br />
i<br />
T<br />
G<br />
C<br />
A<br />
T<br />
A<br />
C<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
j<br />
A T C T G A T C<br />
0 1 2 3 4 5 6 7 8<br />
Minden útvonal egy<br />
illesztésnek felel<br />
meg<br />
Minden átlós él egy<br />
extra elemet ad a<br />
közös<br />
részszekvenciához<br />
LKR probléma:<br />
Megtalálni a<br />
maximális számú<br />
átlós élet<br />
tartalmazó<br />
útvonalat<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 52
LKR számítása<br />
Legyen v string i hosszúságú prefixe (v 1<br />
… v i<br />
)<br />
és w string j hosszúságú prefixe (w 1<br />
… w j<br />
) között<br />
az LKR hossza s i,j<br />
. Ekkor a következő érvényes<br />
az LKR(v i<br />
,w j<br />
) hosszra:<br />
i-1,j -1<br />
i-1,j<br />
s i,j<br />
= max<br />
s i-1,j<br />
+ 0<br />
s i,j -1<br />
+ 0<br />
s i-1,j -1<br />
+ 1, ha v i<br />
= w j<br />
i,j -1<br />
0<br />
1 0<br />
i,j<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 53
Illesztés mint útvonal a szerkesztési<br />
gráfban<br />
0 1 2 2 3 4 5 6 7 7<br />
A T _ G T T A T _<br />
A T C G T _ A _ C<br />
0 1 2 3 4 5 5 6 6 7<br />
- hozzátartozó útvonal -<br />
(0,0) , (1,1(<br />
1,1) ) , (2,2(<br />
2,2), (2,3),<br />
(3,4), (4,5(<br />
4,5), (5,5), (6,6(<br />
6,6),<br />
(7,6), (7,7)<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 54
Illesztés: Dinamikus programozással<br />
Ez a megoldás a Manhattan-i turista problémának<br />
felel meg (3 bejövő él egy-egy pontban), ahol<br />
minden indel (horizontális és vertikális él) súlya<br />
zéró és minden megegyezés (átlós él) súlya 1.<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 55
Globális szekvencia illesztés<br />
<br />
LKR — a szekvencia illesztés legegyszerűbb<br />
formája – csak beszúrást és törlést enged meg.<br />
<br />
LKR esetén karakter egyezéseket 1-re, indeleket<br />
pedig 0-ra értékeljük<br />
<br />
Engedjük meg most a karakter-eltéréseket, és<br />
az indel-eket, ill. a karakter-eltéréseket<br />
”büntessük” negativ értékekkel<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 56
Egyszerű értékelés<br />
<br />
Legegyszerűbb értékelési séma:<br />
+1 : megegyezés jutalma<br />
-μ : eltérés büntetése<br />
-σ : indel büntetése<br />
megegyezés# – μ(eltérés#) – σ (indel#)<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 57
Globális illesztési probléma<br />
<br />
<br />
<br />
Cél: Megtalálni 2 string legjobb illesztését egy<br />
adott értékelési séma alkalmazása esetén<br />
Input : 2 string (v and w) és egy értékelési séma<br />
Output : Maximális értékű illesztés<br />
↑→ = -б<br />
= 1 if match<br />
= -µ if mismatch<br />
µ : eltérés büntetése<br />
σ : indel büntetése<br />
s i,j<br />
= max<br />
s i-1,j-1<br />
+1 if v i<br />
= w j<br />
s i-1,j-1<br />
- µ if v i<br />
≠ w j<br />
s i-1,j<br />
- σ<br />
s i,j-1<br />
- σ<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 58
Értékelési mátrix<br />
• Különböző nukleotid párok eltérés büntetése más<br />
és más lehet, és ezeket az értékeket ezért egy un.<br />
értékelési mátrix-ban táruljuk.<br />
• Az értékelési mátrixokat a biológiai bizonyítékok<br />
alapján hozzák létre.<br />
• Illesztéseket felfoghatjuk két – mutációk miatt<br />
eltérő – szekvenciaként.<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 59
Fehérje összehasonlító mátrixok<br />
• Amino savak szekvencia illesztésére is használunk<br />
összehasonlító mátrixot.<br />
• Általában azt tükrözik vissza, hogy milyen<br />
gyakorisággal helyettesíti aminosav x aminosav y-t<br />
evoluciókkal kapcsolatos szekvenciákban<br />
PAM (Point Accepted Mutation)<br />
BLOSUM (Blocks Substitution Matrix)<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 60
Lokális kontra globális illesztés<br />
• A globális illesztési probléma a (0,0) és (n,m) pontok<br />
között keresi a leghosszabb útvonalat a<br />
szerkesztése gráfban.<br />
• A lokális illesztési probléma tetszőleges (i,j) és (i’, j’)<br />
pontok között keresi ugyanezt.<br />
• A negativ pontértékű éleket tartalmazó szerkesztési<br />
gráfban a lokális illesztés magasabb pontszámú<br />
lehet, mint a globális illesztés.<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 61
Lokális illesztés: Példa<br />
globális illesztés<br />
lokális illesztés<br />
A lokális illesztést<br />
egy “mini” globális<br />
kiszámitásával<br />
kapjuk meg<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 62
Lokális illesztés: Miért?<br />
<br />
<br />
Különböző fajok két génje hasonló lehet egy rövid,<br />
konzervált regióban és eltérő a többi regióban.<br />
Például:<br />
Homeobox gének egy rövid regiója<br />
(homeodomain) jelentősen konzervált a<br />
különböző fajokban.<br />
Globális illesztés nem találná meg a<br />
homeodomain-t mert az EGÉSZ szekvenciát<br />
próbálná illeszteni<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 63
Indel-ek értékelése: Naive megközelítés<br />
<br />
Fix büntetést (σ) rendelünk minden indel-hez:<br />
-σ 1 indel esetén,<br />
-2σ 2 egymást követő indel esetén,<br />
-3σ 3 sorban következő indel-re, stb..<br />
<br />
Ez túl súlyos büntetés lehet 100 egymás után<br />
következő indel esetén<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 64
Affin (finomított) hézag-büntetés<br />
<br />
A természetben k darab indel sorozata gyakran<br />
egyetlen esemény és nem pedig egyedi nukleotid<br />
események egymásutániságának eredménye:<br />
Ez valószínűbb<br />
Normál értékelés<br />
ugyanazt az értéket<br />
adná mindkét<br />
illesztésnek<br />
Ez kevésbé<br />
valószínű<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 65
Hézagok értékelése<br />
<br />
Hézagok – összefüggő üres poziciók sorozata a<br />
szekvenciák valamelyikében<br />
<br />
x hosszúságú hézag pontértéke:<br />
-(ρ + σx)<br />
ahol ρ >0 egy hézag bevezetéséért járó büntetés:<br />
hézag-kezdő büntetés<br />
ρ viszonylag nagy σ-hoz viszonyítva:<br />
hézag-kiterjesztő büntetés<br />
mert sokat nem akarunk büntetésként hozzáadni<br />
a hézag kiterjesztéséért.<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 66
Affin hézag-büntetés<br />
<br />
Hézag-büntetés:<br />
-ρ-σ 1 indel esetén,<br />
-ρ-2σ 2 egymást követő indel esetén,<br />
-ρ-3σ 3 sorozatban következő indel-re,<br />
-ρ- x·σ x hosszú hézagra.<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 67
Többszörös kontra páronkénti illesztés<br />
• Mostanáig csak 2 szekvenciát<br />
probáltunk illeszteni.<br />
• Mi a helyzet, ha kettönél<br />
többel tesszük és miért?<br />
• Egy halvány hasonlatosság<br />
jelentőssé válhat, ha sok<br />
szekvenciára igaz<br />
• Többszörös illesztés olyan<br />
finom hasonlatosságokat<br />
fedhet fel, ami páronkénti<br />
illesztés nem mutat ki<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 68
Illesztési Útvonalak<br />
Illesszünk 3 szekvenciát: ATGC, AATC,ATGC<br />
0 1 1 2 3 4<br />
A -- T G C<br />
0 1 2 3 3 4<br />
A A T -- C<br />
0 0 1 2 3 4<br />
-- A T G C<br />
x kordináta<br />
y kordináta<br />
z kordináta<br />
• Az (x,y,z) térben létrejött útvonal :<br />
(0,0,0)→(1,1,0)→(1,2,1) →(2,3,2) →(3,3,3) →(4,4,4)<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 69
Három szekvencia illesztése<br />
<br />
<br />
<br />
Ugyanaz a stratégia mint<br />
két szekvencia<br />
illesztésekor<br />
Egy 3-D “Manhattan<br />
Kockát” használunk,<br />
amelynek egy-egy<br />
tengelye egy-egy<br />
szekvenciának felel meg<br />
Globális illesztés esetén<br />
a kiindulási ponttól a<br />
végcélhoz haladunk<br />
Kiindulás<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 70<br />
Végcél
2-D kontra 3-D illesztési hálózat<br />
V<br />
W<br />
2-D szerkesztési gráf<br />
3-D szerkesztési gráf<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 71
2-D esetén 3 él van<br />
minden egység<br />
négyzetben<br />
3-D esetén 7 él van<br />
minden egység<br />
kockában<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 72
3-D illesztési cella architekturája<br />
(i-1,j-1,k-1)<br />
(i-1,j,k-1)<br />
(i-1,j-1,k)<br />
(i-1,j,k)<br />
(i,j-1,k-1)<br />
(i,j,k-1)<br />
(i,j-1,k)<br />
(i,j,k)<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 73
Többszörös illesztés : Futási idő<br />
• n hosszú 3 szekvencia esetén a futási idő 7n 3 ;<br />
O(n 3 )<br />
• k darab szekvencia illesztésére egy k-dimenziós<br />
Manhattan-t használunk, és a futási idő (2 k -1)(n k );<br />
O(2 k n k )<br />
• Konkluzió: a dinamikus programozási megközelítés<br />
könnyen kiterjeszthető k szekvenciára, de nem<br />
praktikus az exponenciális futási idő miatt<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 74
Többszörös illesztés páronkénti<br />
illesztés alkalmazásával<br />
<br />
<br />
Minden többszörös illesztés felbontható páronkénti<br />
illesztésekre<br />
Lehetőségek:<br />
x: AC-GCGG-C<br />
y: AC-GC-GAG<br />
z: GCCGC-GAG<br />
x: ACGCGG-C x: AC-GCGG-C y: AC-GCGAG<br />
y: ACGC-GAC z: GCCGC-GAG z: GCCGCGAG<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 75
Fordított probléma: Többszörös illesztés<br />
konstruálása páronkénti illesztésekből<br />
<br />
Adott 3 tetszőleges páronkénti illesztés:<br />
x: ACGCTGG-C x: AC-GCTGG-C y: AC-GC-GAG<br />
y: ACGC--GAC z: GCCGCA-GAG z: GCCGCAGAG<br />
<br />
<br />
Konstruálhatunk ezekből egy többszörös<br />
illesztést?<br />
A páronkénti illesztések inkonzisztensek<br />
lehetnek<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 76
• Optimális többszörös illesztésből következtethetünk<br />
az összes lehetséges szekvencia-pár páronkénti<br />
illesztésére, de ez nem feltétlenül optimális<br />
• Viszont nehéz az optimális összes páronkénti<br />
illesztésből egy “jó” többszörös illesztésre<br />
következtetni<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 77
Többszörös illesztés: Mohó megközelítés<br />
<br />
<br />
Kiválasztjuk a legjobban hasonlító párt és kombináljuk<br />
őket egy közös ‘profil’-ba. Igy a k darab szekvencia<br />
illesztését redukáltuk k-1 szekvencia/profil<br />
illesztésére. Ismételjük ezt a lépést.<br />
Ez a heurisztikus mohó módszer<br />
u 1<br />
= ACGTACGTACGT…<br />
u 1<br />
= ACg/tTACg/tTACg/cT…<br />
k<br />
u 2<br />
= TTAATTAATTAA…<br />
u 3<br />
= ACTACTACTACT…<br />
u 2<br />
= TTAATTAATTAA…<br />
…<br />
k-1<br />
…<br />
u k<br />
= CCGGCCGGCCGG…<br />
u k<br />
= CCGGCCGGCCGG<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 78
Progresszív illesztés<br />
• A progresszív illesztés egy variánsa a mohó<br />
algoritmusnak, és valamivel inteligensebb módon<br />
választja ki az illesztések sorrendjét.<br />
• Jól működik hasonló szekvenciák esetén, de<br />
rohamosan romlik távol álló szekvenciákra<br />
• A hézagok állandók maradnak az egyesített<br />
stringekben<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 79
ClustalW<br />
• Manapság népszerű többszörös illesztési eszköz<br />
• ‘W’ az angol ‘weighted’ (súlyozott) szót jelzi – az<br />
illesztés különböző részei külünbözőképpen<br />
vannak súlyozva.<br />
• 3 lépéses eljárás<br />
1.) Páronkénti illesztések konstruálása<br />
2.) Irányitó fa felépítése<br />
3.) Progresszív illesztés az irányitó fa<br />
vezérlésével<br />
2010. márc. 2 <strong>Szekvencia</strong> Illesztés 80