22.04.2015 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!