bioinformatika_skripta

Upload: ts45306

Post on 09-Oct-2015

57 views

Category:

Documents


4 download

DESCRIPTION

bioinformatika_skripta

TRANSCRIPT

  • SVEUILITE U ZAGREBU

    FAKULTET ELEKTROTEHNIKE I RAUNARSTVA

    Predmet:

    Bioinformatika

    Mile iki

    Mirjana Domazet-Loo

    Zagreb, prosinac 2013.

  • Ova skripta je slobodno dostupna i moe se preuzeti kao PDF datoteka s adrese http:// http://www.fer.unizg.hr/predmet/bio. Skripta je napravljena kao pratei materijal za predmet Bioinformatika koji se odrava u sklopu diplomskoga studija na Fakultetu elektrotehnike i raunarstva.

    Slobodno smijete umnoavati, distribuirati i javnosti priopavati djelo pod sljedeim uvjetima (http://creativecommons.org/licenses/by-nc-nd/3.0/hr/):

    Imenovanje Morate priznati i oznaiti autorstvo djela na nain kako je specicirao autor ili davatelj licence (ali ne na nain koji bi sugerirao da Vi ili Vae koritenje njegova djela imate njegovu izravnu podrku).

    Nekomercijalno Ovo djelo ne smijete koristiti u komercijalne svrhe.

    Bez prerada Ne smijete mijenjati, preoblikovati ili preraivati ovo djelo.

    U sluaju daljnjeg koritenja ili distribuiranja morate drugima jasno dati do znanja licencne uvjete ovog djela.

    Od svakog od navedenih uvjeta mogue je odstupiti samo ako dobijete doputenje nositelja autorskog prava.

    2013. Mile iki, Mirjana Domazet-Loo.

  • 3

    Sadraj

    1. Genomika ...................................................................................................................... 7

    1.1. Bioloke osnove ..................................................................................................... 7

    1.1.1. Sredinja dogma ............................................................................................ 8

    1.1.2. Geni ............................................................................................................... 8

    1.2. Sekvenciranje....................................................................................................... 10

    1.2.1. Projekt odreivanja ljudskog genoma i razvoj metoda za sekvenciranje .... 10

    1.2.2. Metode sekvenciranja .................................................................................. 11

    1.3. Formati podataka ................................................................................................. 15

    1.3.1. FASTA format podataka ............................................................................. 15

    1.3.2. FASTQ format podataka ............................................................................. 16

    1.4. Literatura ............................................................................................................. 18

    2. Optimalno poravnavanje sljedova ............................................................................... 19

    2.1. Poravnanje ........................................................................................................... 19

    2.2. Algoritam za raunanje udaljenosti ureivanja ................................................... 20

    2.3. Needleman-Wunsch algoritam ............................................................................ 24

    2.4. Algoritam preklapanja ......................................................................................... 25

    2.5. Lokalno poravnanje ............................................................................................. 27

    2.6. Optimizacije primjenjive na algoritme za poravnanje sljedova .......................... 30

    2.6.1. Linearna memorijska sloenost ................................................................... 31

    2.6.2. Dinamiko programiranje s ogranienim pojasom ...................................... 34

    2.7. Bioloka usporedba nizova .................................................................................. 35

    2.7.1. Matrice slinosti .......................................................................................... 35

    2.7.2. Praznine i procijepi ...................................................................................... 36

    2.8. Literatura ............................................................................................................. 38

    3. Pretraivanje baze podataka sljedova. BLAST ........................................................... 39

  • 4

    3.1. Usporedba biolokih sljedova s bazom podataka koritenjem heuristikog

    pristupa ............................................................................................................................ 40

    3.2. Program BLAST .................................................................................................. 41

    3.3. BLAST - postupak pretraivanja baze podataka ................................................. 46

    3.4. Literatura ............................................................................................................. 48

    4. Sufiksno stablo i sufiksno polje ................................................................................... 49

    4.1. Sufiksno stablo .................................................................................................... 50

    4.1.1. Osnovni pojmovi ......................................................................................... 51

    4.1.2. Podatkovna struktura sufiksno stablo .......................................................... 51

    4.1.3. Memorijski zahtjevi ..................................................................................... 54

    4.1.4. Izgradnja sufiksnog stabla u vremenu O(n2) ............................................... 54

    4.1.5. Implicitno sufiksno stablo ........................................................................... 57

    4.1.6. Ukkonenov algoritam .................................................................................. 58

    4.1.7. Poopeno sufiksno stablo ............................................................................ 62

    4.2. Sufiksno polje ...................................................................................................... 62

    4.2.1. Sufiksno polje i sufiksno stablo ................................................................... 63

    4.2.2. Izgradnja sufiksnog polja u linearnom vremenu Krkkinen-Sandersovim

    algoritmom .................................................................................................................. 64

    4.3. Literatura ............................................................................................................. 67

    5. Poravnavanje dva ili vie sljedova odjednom.............................................................. 68

    5.1. Heuristiki pristup poravnavanju para sljedova .................................................. 68

    5.1.1. MUMmer ..................................................................................................... 68

    5.2. Poravnavanje vie sljedova odjednom ................................................................. 69

    5.2.1. Metoda sume parova .................................................................................... 70

    5.2.2. Poravnavanje vie sljedova odjednom dinamikim programiranjem .......... 72

    5.2.3. Heuristiki pristup poravnanju vie sljedova odjednom ............................. 75

    5.3. Literatura ............................................................................................................. 78

  • 5

    6. Samostojni indeksi ....................................................................................................... 79

    6.1. Odreivanje entropije znakovnog niza ................................................................ 80

    6.1.1. Shannonova entropija .................................................................................. 80

    6.1.2. Shannonova entropija znakovnog niza ........................................................ 81

    6.1.3. Entropija vieg reda ..................................................................................... 81

    6.2. Burrows-Wheelerova transformacija (BWT) ...................................................... 82

    6.2.1. Konstrukcija BWT rotacijom znakovnog niza ............................................ 83

    6.2.2. Konstrukcija BWT koritenjem sufiksnog polja ......................................... 84

    6.2.3. LF-mapiranje ............................................................................................... 85

    6.3. FM-indeks ............................................................................................................ 86

    6.3.1. Interval sufiksnog polja ............................................................................... 86

    6.3.2. Traenje podniza u nizu koritenjem FM-indeksa ...................................... 87

    6.3.3. Prostorna i vremenska sloenost FM-indeksa ............................................. 91

    6.4. Literatura ............................................................................................................. 92

    7. Filogenija ..................................................................................................................... 93

    7.1.1. Povijesni razvoj ideja .................................................................................. 93

    7.2. Filogenija i filogenetsko stablo ........................................................................... 94

    7.2.1. Broj moguih stabala u ovisnosti o broju taksonomskih jedinica ............... 97

    7.3. Evolucijski DNA modeli ..................................................................................... 97

    7.3.1. Jukes-Cantorov model ................................................................................. 98

    7.4. Metode za izgradnju filogenetskih stabala ........................................................ 102

    7.4.1. Mjera udaljenosti ....................................................................................... 103

    7.5. Metode temeljene na udaljenostima izmeu taksona ........................................ 103

    7.5.1. UPGMA ..................................................................................................... 103

    7.5.2. Metoda povezivanja susjeda ...................................................................... 106

    7.6. Metode temeljene na obiljejima ....................................................................... 108

  • 6

    7.6.1. Metoda najmanjeg broja evolucijskih promjena ....................................... 108

    7.7. Literatura ........................................................................................................... 112

    8. Sastavljanje genoma .................................................................................................. 113

    8.1. Izazov sastavljanja ............................................................................................. 113

    8.2. Osnove sastavljanja ........................................................................................... 115

    8.3. Algoritmi za sastavljanje ................................................................................... 116

    8.3.1. Traenje najkraeg zajednikog nadniza ................................................... 116

    8.3.2. Algoritmi nad grafovima ........................................................................... 118

    8.4. Preklapanje-Razmjetanje-Konsenzus pristup .................................................. 120

    8.4.1. Preklapanje ................................................................................................ 121

    8.4.2. Razmjetanje .............................................................................................. 124

    8.4.3. Konsenzus .................................................................................................. 128

    8.5. Sastavljanje koristei de Bruijn grafove ............................................................ 130

    8.5.1. Problem sastavljanja genoma kratkim oitanjima ..................................... 130

    8.5.2. Eulerova staza i de Bruijn grafovi ............................................................. 130

    8.5.3. Sastavljanje genoma .................................................................................. 134

    8.6. Literatura ........................................................................................................... 137

  • 7

    1. Genomika

    1.1. Bioloke osnove

    Genomika je grana genetike koja primjenjuje metode DNA sekvenciranja i bionformatike

    u cilju sekvenciranja, sastavljanja i analize funkcija i strukture genoma.

    Za funkcioniranje svih poznatih ivih organizama presudne su makromolekule nukleinskih

    kiselina, proteina i ugljikohidrata. Dvije temeljne vrste nukleinskih kiselina su RNA i

    DNA. DNA slui kao spremite instrukcija koje slue za razvoj i funkcioniranje svih ivih

    organizama s izuzetkom RNA virusa. Postoji nekoliko vrsta RNA molekula koje dijelimo

    ovisno o njihovim funkcijama. Najvanije su glasnika RNA (mRNA), transportna RNA

    (tRNA), ribosomska (rRNA) te regulacijske RNA poput mikro RNA (miRNA), male

    jezgrene RNA (snRNA) i male interferirajue RNA (siRNA).

    Osnovna jedinica nasljeivanja u ivim organizmima je gen. Gen je dio DNA ili RNA koji

    kodira informaciju za proizvodnju proteina ili RNA lanaca koji imaju funkciju u

    organizmu.

    Veina DNA molekula su dvostruke uzvojnice koje se sastoje o manjih gradivih jedinica

    nukleotida. Svaki nukleotid se sastoji od nukleinskih baza (adenin, citozin, gvanin i timin)

    koje oznaavamo slovima A, C, G i T, te okosnice koja je graena od naizmjeninoga niza

    eera i fosfatne skupine. DNA je organizirana upakiran u strukture koje nazivamo

    kromosonima. Dva lanca se proteu u suprotnim smjerovima i stoga su anti-paralelni. Te

    lance nazivamo 3' i 5' zavisno o smjeru treeg i petog atoma ugljika molekule eera na

    okosnici.

    RNA molekule imaju veliku ulogu u kodiranju, dekodiranju, regulaciji i ekspresiju gena.

    RNA je slino DNA je graena od nukleotida, a obino ima samo jedan lanac iako postoje

    i RNA s dva lanca. Nukleinske baze koje su uz eer i fosfatnu grupu tvore lanac RNA su

    adenin, citozin, gvanin i uracil koje oznaavamo sa slovima A, C, G i T.

    Proteini su makromolekule sastavljene od jednoga ili vie lanaca aminokiselina, a unutar

    ivih organizama obavljaju razliite funkcije i slue kao gradivi blokovi. Proteini slue za

  • 8

    ubrzavanje metabolikih reakcija, transport molekula, umnaanje i prepisivanje DNA,

    odgovaranje na podraaja i brojne druge funkcije.

    1.1.1. Sredinja dogma

    Prema svojoj definiciji sredinja dogma dodati citat molekularne biologije objanjava tok

    genetikih informacija izmeu DNA, RNA i proteina. Postoji 9 objanjivih prijenosa

    informacija meu njima prikazanih u Tablica 1.1. Dogma ih dijeli u 3 grupe po 3: 3 opa

    prijenosa (odvijaju se u veini stanica), 3 specijalna prijenosa (odvijaju se samo pod

    specifinim uvjetima i to obino u virusima ili su pokazani u laboratoriju) i 3 nepoznata

    (vjeruje se da se ne dogaaju).

    Tablica 1.1 Sredinja dogma 3 klase prijenosa informacija

    Opi Specijalni Nepoznat

    DNA RNA RNA DNA protein DNA

    DNA RNA RNA DNA protein RNA

    RNA protein DNA protein protein protein

    Opi prijenosi su umnaanje DNA, kopiranje informacije iz DNA u mRNA (transkripcija)

    i sintetiziranje proteina iz mRNA. Dodatno, informacije iz DNA se mogu kopirati i u ostale

    tipove RNA kao to su npr. tRNA, rRNA. Specijalni oblici prijenosa su: kopiranje

    informacija iz RNA u DNA (obrnuta transkripcija), kopiranje jedne RNA u drugu (RNA

    umnaanje), te direktna translacija DNA u proteine koja je pokazana samo u

    laboratorijskim uvjetima.

    Nove spoznaje preispituju koncept sredinje dogme i potvruju da nije u potpunosti tona

    jer zanemaruje ulogu RNA u regulaciji te mogunosti ureivanjima na proteinskom nivou.

    1.1.2. Geni

    Veina ivih bie sadre svoje gene u dvostrukoj DNA uzvojnici. Ekspresija gena (Sl. 1.1)

    je proces u kome se informacije iz gena koriste za sintezu funkcionalnog produkta gena.

    Obino su to proteini, ali isto tako postoje geni koji ne kodiraju proteine ve npr. rRNA,

    tRNA ili snRNA. Tipini koraci u procesu ekspresije gena su: transkripcija, RNA

  • 9

    prekrajanje, translacija i modifikacije proteina nakon translacije. Svi ovi koraci mogu biti

    modulirani to dovodi do mogunosti regulacije gena.

    Prvi korak ekspresije je transkripcija ili prepisivanje DNA u mRNA. S obzirom da oba

    DNA lanca imaju i 3' i 5' krajeve esto ih prema smjeru irenju oznaavamo i s 5' 3' i

    3' 5'. U odnosu na gene ta dva lanca se nazivaju nekodirajui lanac ili kalup (3' 5')

    koji slui kao nacrt za produkciju RNA transkripta i kodirajui lanac (5' 3') koji

    ukljuuje DNA verziju prepisanog RNA slijeda. Dok kod prokariota (ivih bia bez

    stanine jezgre poput bakterija) transkripcija gena koji kodiraju proteine direktno kreira

    mRNA koja je spremna za translaciju u protein, kod eukariota (ivih bia sa staninom

    jezgrom poput ivotinja, biljaka i gljiva) taj proces se odvija u nekoliko koraka. U prvom

    koraku prepisivanjem informacija s DNA nastaje primarni transkript od RNA (pre-

    mRNA). Primarni transkript sadri eksone i introne, kao i dijelove na 3' i 5' kraju

    transkripta koji se ne prevode u protein (UTR, od engl. untranslated regions).

    AAAAAAAAAAA

    a) struktura gena

    b) primarni transkript mRNA

    c) zrela mRNA

    d) protein

    transkripcija

    sazrijevanje mRNA

    translacija

    5' kapa poli A rep

    promotor terminatorintron intron intronekson ekson ekson ekson

    5' UTR 3' UTR

    Sl. 1.1 Struktura eukariotskog gena i slijed genske ekspresije. a) Struktura gena: promotor, eksoni,

    introni, terminator. b) Transkripcija zapoinje na promotoru na zavrava na terminatoru. Produkt

    transkripcije je primarni transkript mRNA, a sastoji se od eksona, introna, 5' UTR i 3' UTR (engl.

    untraslated regions; dijelovi koji se ne prevode u protein). c) Doradom primarnoga transkripta

    procesima prekrajanja introna, dodatku 5' kape i poli A repa nastaje zrela mRNA. d) Nakon izlaska

    iz jezgre, mRNA ribosomu u procesu translacije daje uputu za sintezu proteina.

    Nakon dorade primarnog transkripta mRNA procesima izrezivanja introna, dodavanja 5'

    kape te poli A repa (sastoji se od dugakoga niza adenina) nastaje zrela mRNA koja po

  • 10

    izlasku iz jezgre na ribosomu kao kalup diktira sintezu proteina. Taj proces nazivamo

    prevoenje (translacija) odreenog niza nukleotida mRNA u protein.

    Sveukupna nasljedna informacije nekoga organizma naziva se genom. Genom sadri i gene

    i sve druge dijelove RNA i DNA bilo njihova funkcija poznata ili ne.

    1.2. Sekvenciranje

    Sekvenciranje je proces odreivanja poretka pojedinih nukleinskih baza adenina,

    citozina, gvanina, timina i uracila unutar RNA ili DNA lanca. Rezultati sekvenciranja se

    koriste za utvrivanje samoga genoma, utvrivanje srodnosti i evolucije vrsta, utvrivanje

    novih gene i njihovo pridruivanje bolestima, utvrivanje potencijalni ciljeva za lijekove te

    metagenomiku - istraivanje zajednica mikroba direktno iz okolia.

    1.2.1. Projekt odreivanja ljudskog genoma i razvoj metoda za

    sekvenciranje

    Razvoj sekvenciranja je potaknut radom Fredericka Sangera koji je razvio brze metode

    sekvenciranja sredimo 1970-tih. Kljuna godina za razvoj sekvenciranje je 1990. kada su

    Ministarstvo energetike (Department of Energy) i Nacionalni institut za zdravlje (National

    Institute of Health) vlade SAD zajedniki pokrenuli projekt odreivanja ljudskoga genoma

    (engl. Human genome project HGP). Ciljevi projekta su bili: odreivanje i skladitenje

    slijeda od svih parova baza ljudske DNA, transfer tehnologije u privatni sektor i

    odgovaranje na etika, socijalna i pravna pitanja koja mogu nastati iz projekta. U lipnju

    2000 zavrena je radna verzija skice cjelokupnoga ljudskoga genoma koja je pokrivala

    >90% genoma. Radna verzija je objavljena u veljai 2001, a projekt je proglaen

    zavrenim u travnju 2003.

    Rezultati projekta odreivanja ljudskoga genoma su pokazali da on sadri 3 milijarde

    parova baza (A, C, G i T); da se prosjeni gen sastoji od 3000 baza, dok duljina moe

    varirati i do 2,4 milijuna baza; ukupan broj gena je oko 20500 to je viestruko manje od

    procijenjenih 80000 140000; 99.9 % baza su iste u svim ljudima. Cijena projekta je bila

    oko 3 milijarde amerikih dolara.

    Rezultati projekta su potaknuli snaan razvoj metoda za sekvenciranja i pad cijena. Sl. 1.2

    prikazuje taj dramatian pad cijena sekvenciranja i njegovo pribliavanje dugo sanjanoj

    granici sekvenciranja ljudskoga genoma za 1000 amerikih dolara ili manje. Taj cilj je

  • 11

    konano ostvaren u sijenju 2014. kada je tvrtka Illumina objavila da njihovi novi ureaji

    mogu sekvencirati ljudski genom pri emu ukupan troak nee prijei 1000 dolara.

    Sl. 1.2 Cijena sekvenciranja ljudskoga genoma i njena usporedba njezina pada s Moorovim

    zakonom

    Ovim padom cijena teite se pomie na algoritme za sastavljanje i analizu genoma.

    1.2.2. Metode sekvenciranja

    Metode za sekvenciranje mogu proitati ogranien broj nukleotida. Taj broj zavisno o

    izvedbi se kree od 50 do nekoliko desetaka tisua. Stoga je potrebno podijeliti dulje

    sljedove u manje i nakon toga oitati nekom od metoda sekvenciranja.

    Danas dominantna strategija je takozvano shotgun sekvenciranje (sekvenciranje

    samaricom). Njegovom primjenom DNA se lomi na sluajan nain u velik broj malih

    fragmenata koji se onda sekvenciraju i na taj nain se dobivaju oitanja koja predstavljaju

    proitani slijed nukleinskih baza. Viestruka oitanja DNA se dobivaju ponavljanjem

    fragmentacije i sekvenciranja. Na kraju raunalni programi koriste preklapajue krajeve

    oitanja da bi ih sastavili u kontinuiranu sekvencu.

    Metode sekvenciranja se mogu podijeliti ugrubo u dvije skupine: hijerarhijsko shotgun

    sekvenciranje i shotgun sekvenciranje cijeloga genoma.

  • 12

    Kod hijerarhijskog shotgun sekvenciranja (Sl. 1.3) prvi korak je izrada fizike mape

    genoma niske rezolucije. Iz te mape se odredi minimalan broj fragmenata koji je potreban

    za sekvenciranje cijeloga genoma. Pri koritenju ove metodu genom se dijeli u fragmente

    dugake 50000 200000 nukleinskih parova baza (za jedan par nukleinskih baza koristi se

    jedinica b engl. base pair). Dobiveni fragmenti umeu u bakterije domaine koristei

    BAC-ove (engl. Bacterial artificial chromosome) i taj nain kloniraju. Na taj nain

    dobijemo vei broj kopija originalnih fragmenata koje sada ponovo usitnjavamo na

    sluajan nain na veliine pogodne za sekvenciranje (obino oko 2000 baza odnosno 2 kb).

    Poto znamo lokacije BACova na kromosomu ova metodu prua veliku tonost i

    omoguava sastavljanje cijeloga kromosoma.

    Sl. 1.3 Hijerarhijsko shotgun sekvenciranje

    Ideja shotgun sekvenciranja cijeloga genoma je u preskakanju faze izrade fizike mape. Na

    taj se nain stavljaju vei zahtjevi na raunalnu obradu, ali se znaajno ubrzava proces.

    Primjenom ove metode se DNA dijeli u sluajne fragmente razliitih duljina (obino, 2, 10,

    50 i 150 kb) te se kloniraju. Nakon toga se ti fragmenti sekvenciraju. Sekvenciranje se

    obavlja uvijek u smjeru od 5' kraja prema 3' kraju. S obzirom da svaki lanac ima jedan 5'

    kraj to nam omoguava da itamo s dva kraja. Originalni slijed se dobije rekonstrukcijom

    iz oitanja. Nedostatak ove metode je u tome to iako olakava sekvenciranje dugakih

    regija DNA, mogunost ove metode da korektno povee te regije je pod sumnjom,

    pogotovo za genome s ponavljajuim regijama.

  • 13

    Sl. 1.4 Shotgun sekvenciranje cijeloga genoma

    Za mjerenje performansi ureaja za sekvenciranje kljuni parametri su duljine dobivenih

    oitanja, tonost i cijena. Tehnoloki se ureaji za sekvenciranje dijele na tri generacije:

    prvu, drugu (jo se i naziva sekvenciranje slijedee generacije prema engl. Next generation

    sequencing) Tablica 1.2 prikazuje usporednu analizu tri generacije ureaja za

    sekvenciranje.

    Tablica 1.2 Usporedna analiza ureaja za sekvenciranje

    Metoda Duljina

    oitanja

    (bp)

    Tonost

    (%)

    Cijena za

    1 milijun baza

    (USD)

    Komentar

    Sangerovo

    sekvenciranje

    prva generacija

    400-900 99.9 2400 Duga oitanja, povoljna za

    mnoge primjene, no

    preskupa za vee projekte

    Sekvenciranje

    sintezom

    (Illumina)

    druga generacija

    50 -300 98 0.05 0.15 Tona, dobra za velike

    projekte, no ureaji mogu

    biti jako skupi.

    Ion poluvodiko

    sekvenciranje

    (Ion Torrent)

    druga generacije

    do 400 98 1 Manje skupa oprema.

  • 14

    Metoda Duljina

    oitanja

    (bp)

    Tonost

    (%)

    Cijena za

    1 milijun baza

    (USD)

    Komentar

    Sekvenciranje jedne

    DNA molekule u

    realnom vremenu

    (Pacific Bio)

    trea generacija

    5500-8500 u

    prosjeku

    >30000 max

    87% 0.33 1 Najdulja oitanja, no velika

    greka i ureaji su skupi

    Nanopore

    sekvenciranje

    (Oxford Nanopore)

    trea generacija

    do 50k - - Uskoro kree u testnu fazu.

    Mali ureaji koji se mogu

    ukopati preko USB

    konektora

    Osnovna mjera kvalitete sekvenciranja je pokrivanje (engl. coverage) koje se ponekad

    naziva i dubina oitanja. Pokrivanje je prosjean broj oitanja koji predstavljaju dani

    nukleotid u rekonstruiranom slijedu. Ukoliko sekvenciramo segment genoma duljine G i

    time dobijemo N oitanja, duljine L pokrivanje raunamo kao:

    (1.1)

    Pokrivanje obino nije uniformno i njegove varijacije su unesene sluajno, varijacijom u

    broju staninih kopija broja izvornih DNA molekula i pristranou metode sekvenciranja.

    Vrlo nisko pokrivanje proizvodi procijepe u sastavljenom genomu (Sl. 1.5) i time se ne

    moe dobiti jedinstveni slijed ve je on razlomljen u vie dijelova. Ultimativni glavni cilj

    svakog sekvenciranja je zatvoriti sve procijepe. U cilju da matematiki postave problem

    sekvenciranja i sastavljanja genoma Lander i Waterman u svome radu (Lander and

    Waterman, 1988) definiraju model preko kojeg pokuavaju doi do oekivanog broja

    dijelova sastavljenoga genoma. Njihova teorija taj broj aproksimira s:

    (1.2)

    Sl. 1.5 Primjer sekvenciranja u kome pojedini dijelovi originalnoga slijeda nisu pokriveni

    Bez pokrivanja

    Originalni slijed:

  • 15

    1.3. Formati podataka

    1.3.1. FASTA format podataka

    Najei oblik podataka u bioinformatici je FASTA tekstualni format koji slui za

    prikazivanje sljedova proteina ili nukleinskih kiselina pri emu je svaki nukleotid ili

    aminokiselina prikazan s jednim slovom. Za prikaz nukleinskih kiselina osim slova koje

    predstavljaju nukleinske baze (A, C, G, T i U) koriste se i posebni znakovi razliitoga

    znaenja kao to su npr. znakovi za sluaj kada se ne moe jednoznano odrediti o kojoj se

    bazi radi i znakovi za procjepe u slijedu. Tablica 1.3 prikazuje potpuni prikaz kodova za

    Tablica 1.3 Kodovi za prikaz nukleinskih kiselina

    Kod nukleinske kiseline Znaenje

    A Adenin

    C Citozin

    G Gvanin

    T Timin

    U Uracil

    R A ili G

    Y C, T ili U

    K G, T ili U

    M A ili C

    S C ili G

    W A, T ili U

    B ne A (npr. C, G, T ili U)

    D ne C (npr. A, G, T ili U)

    H ne G (npr. A, C, T or U)

    V niti T niti U (npr. A, C or G)

    N A C G T U

    X Maskiranje

    - Procjep neodreene duljine

    nukleinske kiseline.

    U FASTA datoteci moe biti vie zapisa, a svaki zapis se od linije zaglavlja i jedne ili vie

    linija samog slijeda. Isto tako mogu postojati komentari koji poinju sa znakom ,, ali se

    oni rijetko koriste.

  • 16

    Primjer FASTA datoteke:

    >Slijed1 blok primjer 1

    AGCTAGCT-CATAT

    >Slijed2

    AGCTATAGCTAGAC

    >Slijed3

    AGCTATANNNNNNNNNNNGCTAGAC

    Linija zaglavlja se razlikuje od linije slijeda time to poinje sa znakom vee od (>) u

    prvom stupcu. Rije koja slijedi nakon znaka > je identifikator slijeda, a ostatak linije.

    Vano je napomenuti da ne smije biti razmaka izmeu > i prvoga slova identifikatora.

    Slijed moe biti proizvoljne duljine i prostirati se u vie linija. Slijed zavrava krajem

    datoteke ili slijedeom linijom koja poinje i predstavlja poetak narednog zapisa. Ukoliko

    postoji samo jedan zapis u slijedu onda taj zapis ne mora imati liniju zaglavlja.

    1.3.2. FASTQ format podataka

    FASTQ format podataka koristi se za prikaz podataka na izlazu ureaja za sekvenciranja.

    Vrlo je slian FASTA formatu, no dodatno ima oznaku kvalitete svakoga oitanja.

    Primjer FASTQ zapisa:

    @SEQ_ID

    GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTTT

    +

    !''*((((***+))%%%++)(%%%%).1***-+*''))**55CCF>>>>>>CCCCCCC65

    FASTQ zapis obino koristi 4 tipa linija po slijedu. Linije su:

    Linija 1 poinje sa znakom @, nakon nje je identifikator slijeda i

    opcionalan opis.

    Linija 2 je sam slijed.

    Linija 3 poinje s + znakom, a opcionalno iza njega moe biti isti

    identifikator slijeda (i bilo koji opis ponovo).

    Linija 4 predstavlja vrijednost kvalitete za slijed iz linije 2, s time da broj

    znakova mora biti jednak broju znakova u slijedu.

    Isto kao i kod FASTA formata moe biti vie zapisa u datoteci, a sam slijed i niz znakova

    kvalitete se mogu prostirati u vie redaka. Vano je napomenuti da treba biti paljiv pri

  • 17

    izvlaenju informacija iz ovoga tipa podataka zato to znakovi @ i + se takoer mogu

    nalaziti u nizu znakova kvalitete.

    Ureaji za sekvenciranje za svaku pojedinu baza daju ocjenu kvalitete oitanja. Ta

    vrijednost se obino izraava kao vjerojatnost netonoga oitanja p. Ta vrijednost se

    pretvara u takozvani Sangerov format kvalitete izrazom

    pQSanger 10log10

    Na taj nain dobijemo iznose kvalitete u rasponu od 0 do 93. S obzirom da su prvih 32

    ASCII znakova kontrolni, a 32. znak razmak kodiramo kvalitetu na nain da dobivenom

    izrazu dodamo 33 i tako dobijemo znakove u rasponu od 33 do 126.

  • 18

    1.4. Literatura

    Lander,E. & Waterman,M. (1988) Genomic mapping by fingerprinting random clones: a

    mathematical analysis. Genomics, 2, 231239.

  • 19

    2. Optimalno poravnavanje sljedova

    2.1. Poravnanje

    Poravnanje dva bioloka slijeda predstavlja jedan od najstarijih i najvie istraivanih

    problema u bioinformatici.

    Problem je prvi put definiran u podruju teorije informacije gdje je 1950. Richard

    Hamming definirao mjeru udaljenosti izmeu dva niza znakova jednake duljine. Ako

    promatramo dva niza znakova s i t prema njihova udaljenost jednaka je broju pozicija gdje

    su odgovarajui znakovi razliiti. Mjerenje udaljenosti se moe gledati i kao minimalan

    broj zamjena znakova koje je potrebno napraviti da se s pretvori u t. Kao primjer moemo

    promatrati nizove s=borba i t=torba. Lako se moe primijetiti da niza t moemo lako doi

    zamjenom prvoga znaka niza s i da je udaljenost jednaka jedan.

    Vladimir Levenshtein je proirio problem i definirao mjeru za mjerenje udaljenosti izmeu

    dva niza znakova koji mogu biti razliite duljine. Ta mjera se danas obino naziva

    udaljenost ureivanja (engl. edit distance). Prema Levenshteinovoj definiciji udaljenost

    izmeu znakova s i t je jednaka minimalnom broju potrebnih ureivanja svakoga

    pojedinanog znaka za pretvaranje jednoga niza s u niz t. Kao mogua ureivanja

    definirana su tri tipa promjena:

    Zamjena promjena jednoga znaka iz niza s u znak koji se nalazi na odgovarajuoj

    poziciji u nizu t.

    Npr. most u mast

    Umetanje umetanje jednoga znaka u niz s u cilju da odgovara nizu t.

    Npr. kos u kosa

    Brisanje brisanje jednoga znaka iz niza s u cilju da odgovara nizu t.

    Npr. brod u rod

    Troak svi ureivanja je isti i iznosi jedan.

    Za primjer raunanja udaljenosti ureivanja uzmimo dva niza s=TGCATAT i t=ATCCGAT.

    Moemo primijetiti da niz s moemo pretvoriti u niz t kroz pet koraka:

  • 20

    TGCATAT obriemo znak T s kraja niza

    TGCATA obriemo znak A s kraja niza

    ATGCAT umetnemo znak A na poetak niza

    ATGCGAT umetnemo znak G ispred zadnjeg A

    ATGCTAT zamijenimo znak G sa C

    ATCCGAT kraj

    Ovime smo dobili da je udaljenost izmeu dva niza 5. No pretvorbu moemo obaviti i u

    samo etiri koraka:

    TGCATAT obriemo znak A u sredini niza

    ATGCTAT umetnemo znak A na poetak niza

    ATGCTAT zamijenimo G sa C

    ATCCTAT zamijenimo T s G

    ATCCGAT kraj

    Na ovaj nain smo dobili da je udaljenost odreivanja 4.

    Zanimljivo je da Levenshtein nikada nije predloio algoritam za odreivanje udaljenosti

    ureivanja. Algoritam za rjeavanje ovoga problema je otkrivan i ponovo otkrivan u

    raznim podrujima od automatskoga prepoznavanja govora do bioinformatike. Iako se

    zavisno o primjeni pojedine izvedbe algoritma razlikuju, zajedniko im je da je algoritam

    temeljen na dinamikom programiranju.

    2.2. Algoritam za raunanje udaljenosti ureivanja

    Predstavimo poravnanje nizova s i t duljina n i m s matricom od dva retka u kojoj prvi

    redak sadri znakove niza s koji imaju zadrani poredak, drugi redak sadri znakove niza t

    koji isto tako imaju zadran poredak, dok praznine se mogu nalaziti na razliitim mjestima

    unutar nizova. Kao rezultat znakovi u svakom nizu zadravaju poredak, no nisu nuno

    susjedni. Praznine oznaavamo sa znakom razmaka - i umeemo ih ako je dolo do

    operacija brisanja ili umetanja. Npr. pretpostavimo da se radi o nizovima iz gornjega

    primjera gdje je s=TGCATAT i t=ATCCGAT i poto nema A na poetku niza s potrebno ga

    je tamo umetnuti. Tu operaciju oznaimo s prazninom u nizu s. Moemo pretpostaviti da

    ne postoji stupac u matrici poravnanja koji sadri praznine u oba retka jer takva operacija

    ne bi imala smisla. Iz toga slijedi da poravnanje ima maksimalno n + m stupaca.

  • 21

    - T G C A T A T

    A T C C G - A T

    U stupcima u kojima su samo slova moglo je doi do zamjene slova. Sluaj kada se nije

    dogodila zamjena, odnosno slova su ista nazivamo slaganje (engl. match). U sluaju kada

    se dogodila zamjena zovemo neslaganje (engl. mismatch). Broj slaganja izmeu nizova s i

    t je 4, a broj neslaganja je 2. S obzirom da elimo preurediti niz s u niz t prazninu u

    gornjem retku nazivamo umetanje znakova, a prazninu u donjem retku nazivamo

    brisanjem. Ukupno imamo dvije praznine to zbrojeno s dva neslaganja daje ukupnu

    udaljenost ureivanja 4.

    Preklapanje moemo predstaviti i tako da svakom slovu u s i t dodijelimo indeks zavisno o

    njegovoj poziciji u nizu, a svaki redak predstavimo trenutnim indeksom za dani niz. Tako

    prvi redak -TGCATAT predstavimo s 01234567, a drugi redak ATCCG-AT s 12345567.

    Nula kod prvoga niza je zbog toga to poinjemo redak s prazninom. Predstavimo da oba

    retka predstavimo nizom ureenih parova indeksa na svakoj poziciji. Dobijemo (0,1), (1,2),

    (2,3), (3,4), (4,5), (5,5), (6,6) i (7,7). Ono to moemo vidjeti da u bilo kojem sluaju

    poravnanja najmanji indeks u oba niza e biti jednak nuli, a najvei e biti jednak duljini

    niza. Stoga moemo nacrtati mreu dimenzija (m + 1)(n + 1) u kojoj e s indeksima biti

    oznaeno poravnanje koje predstavlja put:

    (0,1) (1,2) (2,3) (3,4) (4,5) (5,5) (6,6) (7,7)

    u mrei. Isto tako moemo vidjeti da svaki mogui put u mrei od (0,0) do (n,m) odgovara

    nekom poravnanju dva slijeda kao i da svako poravnanje odgovara nekom putu u mrei od

    (0,0) do (n,m).

    Mrea poravnanja zapravo tvori graf u kome se kretanje izmeu vrhova (nalaze se na

    krianju indeksa jednoga i drugoga niza) odvija preko bridova koji predstavljaju operacije

    ureivanja. Iz svakoga vrhova moemo se kretati u 3 smjera (desno, dolje, dijagonalno).

    Kretanjem desno ili dolje pomiemo se u jednom nizu, a da u drugom nizu ostajemo na

    istom mjestu. Ukoliko elimo niz s iji indeksi oznaavaju redove pretvoriti u niz t iji

    indeksi predstavljaju stupce, onda kretanje udesno predstavlja umetanje u niz s jer on tim

    kretanjem zadrava svoj indeks, dok se pomiemo za jedno mjesto u nizu t. Slino kretanje

    prema dolje, predstavlja brisanje jednoga znaka iz niza s. Kretanje dijagonalno moe

  • 22

    predstavljati slaganje ili neslaganje izmeu dva niza. Svakom od ovih kretanja moemo

    dodijeliti odreenu teinu koja predstavlja cijenu kotanje te operacije. U sluaju

    udaljenosti odreivanja najee ta cijena je 1 za svako brisanje, umetanje i neslaganje.

    t A T C C G A T

    s 0 1 2 3 4 5 6 7

    0

    T 1

    G 2

    C 3

    A 4

    T 5

    A 6

    T 7

    Sl. 2.1 Mrea poravnanja za nizove s=TGCATAT i t=ATCCGAT. Svako poravnanje odgovara

    nekom putu u mrei poravnanja od (0,0) do (n,m) i svaki put od (0,0) do (n,m) odgovara jednom

    poravnanju

    Cilj je pronai ono optimalno poravnanje za koje e udaljenost odreivanja biti najmanja. S

    obzirom da svako poravnanje odnosno put zavravaju u toki, odnosno vrhu (n,m),

    problem je odrediti minimalnu cijenu puta do toga vrha. Moemo primijetiti da smo u taj

    vrh mogli doi iz tri smjera: od lijevo (n, m-1), od gore (n-1, m) ili dijagonalno od lijevo

    gore (n-1, m-1). Ukupna cijena u vrhu (n,m) jednaka je minimumu cijena puta do tih

    vrhova plus trokovi puta od tih vrhova do vrha (n,m). Cijenu puta do tih vrhova moemo

    odrediti na isti nain gledajui njima lijeve, gornje i dijagonalno lijeve vrhove. Postupak se

    rekurzivno nastavlja. Vano je primijetiti da svi putovi imaju ishodite u vrhu (0,0) i da bi

    smo pronali optimalno poravnanje ili put da moramo rijeiti cijenu puta do svakoga vrha.

    Ako postavimo da je cijena puta vrhu (0,0), cijenu puta za njemu susjedne vrhove (desno,

    dolje i desno dolje) moemo odrediti dodajui cijene putova do tih vrhova. Lako moemo

    da nakon toga moemo odrediti cijene puta za njima susjedne vrhove i u konanici na taj

  • 23

    nain moemo odrediti cijenu puta do svakoga vrha u mrei. Algoritmi kojima prvo

    rjeavamo manje podprobleme i progresivno rjeavamo do krajnjega rjeenja koristei

    rezultate podproblema nazivamo dinamiko programiranje. Raunanje poravnanja se svodi

    na izraun vrijednosti u matrici dimenzija (m + 1)(n + 1). Nazovimo tu matricu V, s d

    oznaimo cijenu kretanja desno i dolje (umetanje ili brisanje), a sa w(si,sj) cijenu zamjene

    dva znaka odnosno kretanja dijagonalno dolje. Sl. 2.1 pokazuje da moemo, osim za prvi

    stupac i prvi redak, vrijednost pojedinog lana matrice izraunati poznavanjem vrijednosti

    za njegove susjede lijeve, gore i lijevo gore. Vrijednosti za prvi redak i stupac su tzv.

    poetni uvjeti koji se lako dobiju raunanjem udaljenosti od (0,0). Cijena svoga pomaka je

    d tako da su vrijednosti za rubne uvjete linearni s d. Stoga za rjeavanje matrice V moemo

    koristiti relaciju:

    (2.1)

    Udaljenost poravnanja e biti rezultat u (m,n), no to nam rei nita o putu, odnosno

    poravnanju. Za tu informaciju potrebno nam je za svaki element matrice zapamtiti smjer od

    kuda se do njega dolo koristei relaciju (2.1). Pretragom unatrag od elementa (m,n) do

    (0,0) i koristei informaciju smjerovima moemo rekonstruirati poravnanje.

    Kd 2.1 prikazuje pseudo kod algoritma za raunanje udaljenosti odreivanja dva niza s i t

    bez rekonstrukcije. Za rekonstrukciji bi bilo potrebno jo osigurati jedno polje u koje bi

    spremali vrijednosti smjerova za sve elemente u matrici i napraviti rekonstrukciju.

    Kako za raunanje udaljenosti odreivanja treba izraunati elemente matrice veliine

    (m + 1)(n + 1) vremenska sloenost algoritma je O(n*m). Iz izraza (2.1) moe se vidjeti

    da je za raunanje vrijednosti u svakom elementu dovoljno znati samo elemente iz

    njegovog retka te retka iznad to nam daje linearnu memorijsku sloenost O(max(n,m)).

    Meutim ako nam samo iznos poravnanja nije dovoljan zbog potreba rekonstrukcije

    memorijska sloenost je O(n*m).

  • 24

    EDITDISTANCE(s,t)

    1 V[0,0] = 0

    2 for i1 to |s| do

    3 V[i,0] = d*i

    4 end

    5 for j1 to |t|

    6 V[0,j] = d*j

    7 end

    8 for i1 to |s| do

    9 for j1 to |t| do

    10 MATCH = V[i-1,j-1] + w(s[i],t[j])

    11 INSERTION = V[i,j-1] + d

    12 DELETION = V[i-1, j] + d

    13 V[i,j] = min(MATCH, INSERTION, DELETION)

    14 end

    15 end

    Kd 2.1 Pseudo kod algoritma za raunanje udaljenosti ureivanja

    2.3. Needleman-Wunsch algoritam

    Vano je napomenuti da algoritam za raunanje udaljenosti ureivanja nije bio prvi

    algoritam koji je efikasno rijeio problem poravnanja dva niza. Rjeenje je dolo iz sasvim

    drugoga smjera. Zbog potreba razvoja biologije, dolo je do potrebe za poravnanjem

    biolokih nizova. Biologe je prvenstveno zanimala maksimalna slinost dvaju biolokih

    sljedova. Taj problem su prvi formulirali Needleman i Wunsch (Needleman and Wunsch,

    1970) te predloili prvi algoritam za njegovo rjeavanje temeljen na dinamikom

    programiranju. Zanimljivo je da je taj prvi algoritam imao kubnu sloenost. Prvi algoritam

    s kvadratnom sloenou je predloio David Sankoff (Sankoff, 1972). Slijedei vaan

    korak je bio rad Petera H. Sellersa (Sellers, 1974) koji je pokazao da su problemi

    maksimiziranja slinosti i minimiziranja udaljenosti odreivanje ekvivalenti.

    Danas algoritam kojeg nazivamo Needleman-Wunschovim za raunanje slinosti nizova s i

    t je temeljen na relaciji (2.2). Ako pogledamo tu relaciju moemo vidjeti da je jako slina

    relaciji koju koristimo za odreivanje udaljenosti odreivanja. Temeljna razlika je u tome

    da maksimaliziramo vrijednosti u matrici te da su kanjavanja negativne vrijednosti. Isto

    tako dok kod udaljenosti ureivanja cijene slaganja su nula i obino koristimo istu

    vrijednost za kanjavanje zamijene, brisanja i umetanja i najee je ta vrijednost 1, kod

  • 25

    Needleman-Wusch algoritma zbog biolokih razloga slaganje ima svoju pozitivnu

    vrijednost, a kanjavanja uslijed neslaganja mogu za razliite prijelaze imati razliite

    vrijednosti koje se dodatno razlikuju od vrijednosti za umetanje ili brisanje. Neslaganja i

    praznine imaju negativne vrijednosti.

    (2.2)

    Kod algoritma je slian kodu algoritma za raunanje udaljenosti odreivanje jedino se

    poetni uvjeti i elementi matrice raunaju prema relaciji (2.2).

    S obzirom da se i u ovome algoritmu trai put odnosno poravnanje izmeu (0,0) i (n,m)

    odnosno od poetka do kraja oba slijeda ovaj algoritam nazivamo algoritam za globalno

    poravnanje. Njegove vremenske i memorijske sloenosti su takoer O(n*m), s time da ako

    raunamo iskljuivo slinost, ne i poravnanje onda je njegova memorijska sloenost

    linearna.

    2.4. Algoritam preklapanja

    est problem u biologiji je potreba za traenje preklapanja zadanoga uzorka s dugakim

    DNA slijedom (Sl. 2.2). Primjeri takvih poravnanja su traenje eksona u DNA slijedu,

    mapiranja kratkih oitanja na poznati genom, traenja preklapanja meu oitanjima u cilju

    sastavljanja genoma i slino. Ovaj problem se moe svesti na traenjem preklapanja dva

    niza, odnosno poravnanje sufiksa jednoga niza s prefiksom drugoga ili poravnanja jednoga

    s podnizom drugoga. Preklapanje dva slijeda moemo definirati kao poravnanje u kome su

    praznine (brisanja i umetanja) na poetku i kraju nizova zanemarene.

    Sl. 2.2 Traenje preklapanja zadanog uzorka s dugakim DNA slijedom

  • 26

    Ako za primjer uzmemo dva slijeda s=CAGCACTTGGATTCTCGG i t=CAGCGTGG,

    njihovo globalno poravnanje je:

    CAGCACTTGGATTCTCGG

    CAGC----G--T----GG

    Meutim, ono to bi eljeli postii je:

    CAGCA-CTTGGATTCTCGG

    ---CAGCGTGG--------

    Sl. 2.3 prikazuje razliita mogua preklapanja dvaju nizova s i t. Radi pojednostavljenja za

    sada pretpostavljamo da se oba niza prostori u istom smjeru, od desna na lijevo.

    Sl. 2.3 Primjeri razliitih preklapanja dvaju nizova s i t. a) Sufiks od s se preklapa s prefiksom od t.

    b) Sufiks od t se preklapa s prefiksom od s. c) Niz t se u cijelosti preklapa s podnizom od s (ili

    obrnuto).

    S obzirom da obino elimo poravnati samo dio jedne ili obje sekvence ovo poravnanje

    nazivamo polu-globalno poravnanje ili preklapanje. Kod preklapanja je bitno primijeti da

    za razliku od klasino globalnog poravnanja koristei udaljenost ureivanja ili

    Needleman-Wunschov algoritam u ovom sluaju ne elimo kanjavati praznine na poetku

    ili kraju pojedinoga niza. Praznine na poetku niza moemo omoguiti da prilikom

    inicijalizacije ih ne penaliziramo. Praznine na kraju niza moemo omoguiti da kao kraj

    poravnanja uzimamo maksimalnu vrijednost u zadnjem retku ili zadnjem stupcu.

    Zavisno o zahtjevima moemo definirati nekoliko sluaja i njima pripadnih algoritama

    preklapanja za nizove s i t (niz s se nalazi u stupcu, a niz t u retku):

    1. Preklapanje prefiksa niza s sa sufiksom niza t inicijaliziramo prvi stupac s

    d*j, prvi redak s nulama, a kraj poravnanja traimo u maksimumu zadnjeg stupca

    matrice.

  • 27

    2. Preklapanje sufiksa niza s sa prefiksom niza t inicijaliziramo prvi stupac s

    nulama, prvi redak s d*j, a kraj poravnanja traimo u maksimumu zadnjeg retka.

    3. Preklapanje sufiks-prefiks dva niza, pri emu oba niza mogu imati i sufiks i prefiks

    poravnanja inicijaliziramo i prvi redak i prvi stupac s nulama, a kraj poravnanja

    traimo u maksimumu zadnjeg retka i stupca zavisno koji je vei.

    4. Preklapanje u potpunosti niza s s podnizom niza t inicijaliziramo prvi stupac

    s d*j, prvi redak s nulama, a kraj poravnanja traimo u maksimumu zadnjega

    stupca.

    Sl. 2.4 prikazuje primjer poravnanja za sluaj 4 za nizove s=TCCG i t=ACTCCGAT.

    Dobiveno poravnanje je:

    --TCCG--

    ACTCCGAT

    t A C T C C G A T

    s 0 0 0 0 0 0 0 0 0

    0

    T -2

    C -4

    C -6

    G -8

    Sl. 2.4 Preklapanje dva niza s i t pri emu elimo cijeli niz s poravnati s podnizom niza t. U ovom

    sluaju koristimo modificirani Needleman-Wunsch algoritam (cijene: slaganje +4, neslaganje -1,

    praznina -2). S obzirom da elimo poravnati cijeli niz s penaliziramo inicijalna brisanja. Kod niza t

    elimo omoguiti poravnanje podniza stoga ne penaliziramo inicijalna umetanja. Kako ne elimo

    penalizirati praznine na kraju niza t u zadnjem retku odabiremo element matrice s maksimalnim

    rezultatom i od njega praenjem unatrag raunamo put, odnosno poravnanje

    2.5. Lokalno poravnanje

    Prva poravnanja biolokih sljedova raena su poetkom 1970-tih. U to doba metode za

    odreivanje nizova nukleinskih kiselina nisu bile toliko razvijene pa su se uglavnom

    poravnavali proteinski sljedovi. U tim ranim danima usporeivali su proteini podjednake

  • 28

    duljine. Meutim, uskoro su se pojavili sluajevi u kojima su proteini dijelili samo

    izolirane regije slinosti. Za poravnanje takvih regija mjera globalnog poravnanja i

    Needleman-Wunsch algoritam nisu bili dobro prilagoeni. Stoga se pojavila potreba za

    novom definicijom lokalne slinosti kao i novim algoritmima za pronalazak optimalnoga

    lokalnog poravnanja.

    Kod lokalnog poravnanja vano je utvrditi regije ije e poravnanje imati najvei rezultat.

    Za utvrivanja takvih regije puno je pogodnije maksimizacija slinosti nego minimizacija

    udaljenosti odreivanja. Kada promatramo slinost dva slijeda ta vrijednost pada i raste

    kako se kreemo kroz oba slijeda. U sluaju kada slinost padne ispod nula, nema vie

    smisla govoriti o slinosti. Ako promatramo put poravnanja u matrici od neke krajnje toke

    prema poetku i naiemo na element ija je vrijednost manja od nule moemo utvrditi da

    poravnanja prije te toke u smjeru prema (0,0) ne bi povealo ukupan rezultat nego ga

    umanjilo. Stoga u takvim elementima moemo zamijeniti tu vrijednost s nula. Time

    dobivamo da poravnanje poinje od te toke nadalje. Kod udaljenosti odreivanja je teko

    definirati vrijednost ekvivalentnu negativnoj vrijednosti kod odreivanja slinosti jer tamo

    vrijednost monotono raste. S obzirom da elimo odrediti lokalno poravnanje, nema potrebe

    za penaliziranjem poetnih praznina.

    Algoritam lokalnog poravnanja moemo konstruirati koristei razmatranja iz prologa

    odlomka:

    Ne penaliziramo praznine na poetku sljedova.

    U sluaju da vrijednost u nekom elementu matrice padne ispod nula tu vrijednost

    zamijenimo s nula.

    Naemo maksimalnu vrijednost u cijeloj matrici i od nje traimo poravnanje

    praenjem unatrag.

    Koritenje ovoga naina raunanja poravnanja nazivamo Smith-Waterman algoritam

    (Smith and Waterman, 1981). Ovaj algoritam je jedna od najpoznatijih u bioinformatici.

    Raunanje matrice slinosti definiramo na slijedei nain:

    (2.3)

  • 29

    Kd 2.2 prikazuje pseudo kod Smith-Waterman algoritama za dva niza s i t. Pseudo kod ne

    sadri dio kojim se odreuje samo poravnanje. Poravnanje se dobije praenjem unatrag od

    elementa matrica koji ima maksimalnu vrijednost.

    SMITHWATERMAN(s,t)

    1 M = 0

    2 V[0,0] = 0

    3 for i1 to |s| do

    4 V[i,0] = 0

    5 end

    6 for j1 to |t|

    7 V[0,j] = 0

    8 end

    9 for i1 to |s| do

    10 for j1 to |t| do

    11 MATCH = V[i-1,j-1] + w(s[i],t[j])

    12 INSERTION = V[i,j-1] + d

    13 DELETION = V[i-1, j] + d

    14 V[i,j] = max(0, MATCH, INSERTION, DELETION)

    15 end

    16 M = max(M, V[i,j])

    17 end

    Kd 2.2 Pseudo kod Smith-Waterman algoritma bez utvrenja puta poravnanja

    Sl. 2.5 prikazuje primjer poravnanja za nizove s=ACCTAAGG i t=GGCTCAATCA

    koristei +2 za podudaranje, -1 za zamjenu i -2 za prazninu. U svaki element matrice se

    spremaju trenutni rezultat i smjer od kuda se dolo. U varijablu M se sprema trenutno

    najvea vrijednost u matrici. U sluaju primjera sa slike 2.5 najvea vrijednost je 6 i

    element s tom vrijednou predstavlja kraj poravnanja koje se dobije vraanjem unatrag od

    toga elementa. Za ovaj primjer poravnanje je:

    CTCAA

    || ||

    CT-AA

    U prikazu poravnanja izmeu dva niza esto koristimo oznake | koje povezuju pojedine

    znakove u sluaju da je dolo do slaganja.

  • 30

    G G C T C A A T C A

    0 0 0 0 0 0 0 0 0 0 0

    A 0 0 0 0 0 0 2 2 0 0 2

    C 0 0 0 2 0 2 0 1 1 2 0

    C 0 0 0 2 1 2 1 0 0 3 1

    T 0 0 0 0 4 2 1 0 2 1 2

    A 0 0 0 0 2 3 4 3 1 1 3

    A 0 0 0 0 0 1 5 6 4 2 3

    G 0 2 2 0 0 0 3 4 5 3 1

    G 0 2 4 2 0 0 1 2 3 4 2

    Sl. 2.5 Primjer poravnanja dva niza koristei Smith-Waterman algoritam. Poravnavamo nizove

    s=ACCTAAGG i t=GGCTCAATCA koristei +2 za podudaranje, -1 za zamjenu i +2 za prazninu.

    Prvi redak i prvi stupac su inicijalizirani s nulama. Crvene strelice pokazuju smjerove u kojima je

    mogue ii pretraivanjem unatrag za sve elemente matrice koji nisu doli od elementa s

    vrijednou 0. Naranasto je oznaeno optimalno poravnanje.

    Da bi smo dobili lokalno poravnanje dvaju nizova duljine m i n koritenjem

    Smith-Waterman algoritma potrebno je kao i kod globalnoga poravnanja rijeiti sve

    elemente matrice dimenzija (m+1)(n+1), te sauvati sve vrijednosti smjerova. Stoga je

    takoer i vremenska i memorijska sloenost O(nm).

    2.6. Optimizacije primjenjive na algoritme za poravnanje

    sljedova

    Kvadratna vremenska i memorijska sloenost algoritam za poravnanje sljedova temeljenih

    na dinamikom programiranju predstavlja velik problem za dulje sljedove. Tijekom godina

    razvilo se nekoliko algoritama koji smanjuju vremensku ili memorijski sloenost, a u ovom

    poglavlju naglasak e biti na algoritmima za globalno poravnanje iako se veina ovih

    tehnika moe primijeniti i za lokalno i polu-globalno poravnanje.

  • 31

    2.6.1. Linearna memorijska sloenost

    S obzirom na dananja raunala neto vei izazov za poravnanje dva niza predstavlja

    kvadratna memorijska sloenost od one vremenske. Npr. poravnanje ljudskoga genoma s

    genomom mia (oba duljine 3109 nukleotida) bi zahtijevalo 91018 mjesta u matrici.

    Razlog za kvadratnu memorijsku sloenost je potreba za pamenjem smjerova za svaki

    element matrice za potrebe odreivanja poravnanja. Stoga se svi algoritmi za smanjenje

    memorijske sloenosti temelje na odreivanja poravnanja bez prethodnoga poznavanja

    cijele matrice poravnanja.

    Vrlo je vano primijetiti da za poravnanje dva niza dinamikim programiranjem vrijedi

    slijedee:

    Za izraun svakog elementa matrice potrebno je samo znati vrijednosti u trenutnom

    i prethodnom retku. Dodatno, za rjeavanje cijeloga retka dovoljno je poznavati

    vrijednosti u prethodnom retku i vrijednost rubnog uvjeta u prvom stupcu.

    Ako globalno poravnavamo niz s = s1s2s3sm i niz t = t1t2t3tn i kao rezultat

    dobijemo poravnanje p = p1p2p3pk pri emu je k m + n. Ako s sr oznaimo

    reverzni niz od s tako da je sr= smsm-1sm-2s1 i analogno oznaimo t

    r i p

    r moemo

    lako pokazati da je pr optimalno poravnanje od s

    r i t

    r. Kao posljedicu toga moemo

    rei da je rezultat poravnanja dva niza jednak ukoliko rjeavamo matricu od

    elementa u (0,0) ili elementa (m,n).

    Uzevi u obzir gornje navode najjednostavniji algoritam za izraun poravnanja sa

    sloenou manjom od kvadratne moemo dobiti ako pamtimo samo svaki k-ti redak

    matrice pri emu je k-ti redak posljednji redak u matrici. Pamtimo samo vrijednosti

    elemenata ne i smjer. Kada smo zavrili s raunanjem svih vrijednosti u matrici krenemo

    ponovno raunati od k-1 retka prema kraju s time da ovaj put pamtimo samo smjer za svaki

    element. Kada doemo do kraja vraanjem unatrag doemo do poravnanja izmeu k-1

    retka i kraja. Analogno rjeavamo za svih k redaka koje su zapameni. Izmeu bilo koja

    dva susjedna zapamena retka ostalo je za izraunati

    redaka. Nakon to izraunamo put

    poravnanja izmeu njih te nam vrijednosti ne trebaju dalje u memoriji stoga nam je za

    raunanje ukupno potrebno

    redaka. Ukoliko odaberemo onda nam je

    ukupna memorijska sloenost . S obzirom da kreemo ponovo iz svakoga k-tog

  • 32

    retka, cijelu matricu rjeavamo dva puta te nam je stoga ukupna vremenska sloenost

    poveana dva puta.

    Algoritam s linearnom memorijskom sloenou je predstavio Dan Hirschberg

    (Hirschberg, 1975). Osnovna ideja algoritma je slijedea. Promatramo dva niza s i t duljina

    m i n te njihove reverzne nizove sr i t

    r. S V(i,j) oznaimo optimalan rezultat poravnanja

    s1si s t1tj, a s Vr(i,j) optimalan rezultat poravnanja s

    r1 s

    ri s t

    r1t

    rj. Lako se moe

    pokazati da je Vr(i,j) jednak poravnanju sm-i+1sm s tn-j+1tn. Pojednostavljeno kaemo da

    rezultat poravnanje zadnjih i znakova iz niza s i zadnjih j znakova iz niza t je jednak

    rezultatu reverznoga poravnanja tih znakova. Koristei to uz pretpostavku da je m paran

    moemo pokazati da je

    (2.4)

    odnosno da ukupno poravnanje moemo gledati kao zbroj poravnanja prve polovice niza s

    s nizom t i reverznoga poravnanja druge polovice niza s s nizom t. Cilj je pronai indeks k

    niza t za koji je zbroj dva poravnanja maksimalan. Taj indeks obiljeavamo s k*. Praktino

    algoritam dijeli matricu rjeavanje na dvije polovice te radi na principu spajanja polovica

    putova rekonstrukcije u jednu cjelinu. Sl. 2.6. pokazuje prvi korak u nakon to rijeimo

    Sl. 2.6 Prvi korak Hirschbergova algoritma. Odvojeno se rjeavaju gornja i donja polovica matrice,

    s time da donju polovicu rjeavamo u reverznom smjeru. Nakon toga promatramo zadnje redove

    poravnanja (oznaeni sivo). U tim zadnjim redovima odabiremo one susjedne elemente matrice iji

    zbroj rezultata je najvei (oznaeni tamno sivo).

  • 33

    gornju i donju polovicu matrice promatramo zadnje retke. Kod gornje polovice to je njezin

    zadnji redak, kod donje polovice to je prvi redak, odnosno zadnji kada rjeavamo reverzno

    iz donjeg desnoga kuta.

    S obzirom da gledamo ukupno poravnanje traimo rezultat koji e biti ukupno

    maksimalan, stoga promatramo susjedne elemente matrice (elemente koji su mogli nastati

    procesom poravnanja za elemente gornje polovice to su elementi ispod i desno ispod) i

    traimo one ija je suma rezultata poravnanja maksimalna. Kada odredimo te susjedne

    elemente znamo da se oni nalaze na putu optimalnoga poravnanja i onda rekurzivno dalje

    odredimo sve preostale dijelove poravnanja.

    Optimalna toka polavljanja

    n

    m

    m/2

    k*

    Sl. 2.7 Hirschbergov algoritam. Algoritam u prvom koraku trai na polovici matrice indeks k* niza

    t za kojeg je zbroj poravnanja obje polovice matrice maksimalan. Nakon toga se postupak

    rekurzivno ponavlja u dobivenim podmatricama i na taj nain dobivamo toku po toku

    poravnanja.

    Sl. 2.7 prikazuje korake Hirschbergovog algoritma. Vano je primijeti da nakon prvoga

    korak povrine oznaene bijelom bojom ne treba rjeavati jer se poravnanje ne nalazi u tim

    dijelovima matrice. Njihova povrina je jednaka polovici ukupne povrine matrice. U

    prvom smo koraku morali izraunati vrijednosti za sve elemente matrice, u drugom je

    dovoljno izraunati samo za pola i tako dalje rekurzivno. Iz ovoga moemo vidjeti da je

    ukupno vrijeme izvoenje proporcionalno:

  • 34

    (2.5)

    to znai da je ovaj algoritam samo dva puta sporiji od Needleman-Wunsch algoritma.

    Kako je dovoljno uvati maksimalno dva prethodna retka u tablici (2n), te moramo odrediti

    maksimalno poravnanje dugako (m+n) ukupna memorijska sloenost je

    O(3n+m) = O(n+m).

    2.6.2. Dinamiko programiranje s ogranienim pojasom

    Kao to je pokazano algoritmi dinamikoga programiranja uzimaju O(nm) vremena. Ako

    elimo s tim algoritmima poravnati genome ovjeka i mia duge nekoliko milijardi baza

    trebat e nam minimalno 91018 operacija. Uz radni takt od 1GHz za raunanje ovoga

    poravnanja trebat e nam preko 200 godina. Dodatno, pokazano da se openita vremenska

    sloenost poravnanja dinamikim programiranje teko moe popraviti. Meutim, postoje

    posebni sluajevi u kojima je to mogue. Jedan specijalan sluaj je ogranienje

    maksimalnoga broja unesenih praznina pri poravnanju. Oznaimo taj broj s k. Oito je da

    za vrijedi . Podsjetimo se da u matrici V se umetanje odgovara

    vodoravnom pomicanju, a brisanje okomitom. Ako smo ograniili poravnanja s k praznina

    onda to poravnanje mora biti unutar pojasa irine (2k + 1). Sl. 2.8 prikazuje primjer

    dinamikoga programiranja s ogranienim pojasom.

    2k +1

    - A G C A T G C

    - 0 -1 -2 -3

    A -1 2 1 0 -1

    C -2 1 1 3 2 1

    A -3 0 0 2 5 4 3

    A -1 -1 1 4 4 3 2

    T -2 0 3 6 5 4

    C 0 2 5 5 7

    C 1 4 4 7

    a) b)

    Sl. 2.8 Poravnanje s ogranienim pojasom. a) Prikaz 2k +1 pojasa unutar matrice dinamikog

    programiranja. b) Primjer poravnanja koristei ogranieni pojas irine k=3

  • 35

    S obzirom da smo definirali ogranieni pojas nema potrebe ni rjeavati dijelove matrice

    izvan pojasa. Povrina matrice V koju je potrebno izraunati je

    . Za i pretpostavku da za

    popunjavanja svakoga elementa matrice treba O(1), vremenska sloenost algoritma je

    O((n+m)k). Paljivom izvedbom postie se ista memorijska sloenost.

    Ovakvi algoritmi se danas esto koriste u sluajevima kada znamo da je udaljenost

    odreivanja izmeu dva slijeda mala. Najea primjena je u algoritmima za poravnanja

    oitanja dobivenih DNA sekvenciranjem na ve poznati, tzv. referentni genom.

    Dodatno se ovaj algoritam moe dodatno ubrzati i smanjiti koritenje memorije (Myers,

    1986; Ukkonen, 1985). Isto tako danas se esto koriste SIMD (engl. single instruction

    multiple data) instrukcije u procesorima pa se time postiu dodatna ubrzanja (Myers,

    1999).

    2.7. Bioloka usporedba nizova

    Konstruiranje smislenoga poravnanja dvaju nizova zahtijeva koritenje odgovarajuih

    funkcija zamjene izmeu svih parova simbola unutar abecede, te kanjavanja praznina.

    Funkcije zamjene su obino realizirane kao matrice slinosti.

    2.7.1. Matrice slinosti

    Zbog toga to se DNA moe nai samo etiri vrste nukleotida, te su matrice puno

    jednostavnije od matrica slinosti za proteine. Najjednostavnije matrice za

    Needleman-Wunsch algoritam pridjeljuju +1 za slaganje, a -1 za neslaganje baza, dok za

    udaljenost ureivanja obino koristimo 0 za slaganje i +1 za neslaganje. Sloenije matrice

    koriste dodatna bioloka znanja. Izmeu ostaloga nukleotide moe klasificirati u purine

    (adenin i gvanin) ili pirimidine (citozin i timin). Mutacija nukleotida pri emu ostajemo u

    istoj skupini odnosno mutacija purinpurin ili pirimidinpirmidin se naziva tranzicija.

    Mutacija u kojoj se promijeni skupina odnosno purinpirimidin ili

    pirmidinpurin se naziva transverzija. Bioloki su tranzicije ee nego transverzije te se

    zbog toga i vie kanjavaju.

    Sl. 2.9 prikazuje dio EDNAFull matrice koja se jako esto koristi za sluaj kada koristimo

    algoritme koji trae optimalnu slinost. Sl. 2.10 prikazuje matricu koju koristimo kada

  • 36

    elimo algoritmom odreivanja udaljenosti izmeu dva odrediti poravnanje, a razliito

    kanjavamo tranziciju i transverziju.

    A T C G

    A 5 -4 -4 -4

    T -4 5 -4 -4

    C -4 -4 5 -4

    G -4 -4 -4 5

    Sl. 2.9 Dio EDNAFull matrice koji se najee koristi s algoritmima koji maksimiziraju slinost.

    Ostatak matrice se odnosi na kodove koji predstavljaju situacije u kojima je nejasno o kojem se

    tono nukleotidu radi.

    A T C G

    A 0 5 5 1

    T 5 0 1 5

    C 5 1 0 5

    G 1 5 5 0

    Sl. 2.10 Matrica koja se koristi s algoritmom ureivanje udaljenosti i kada se vodi rauna o tome da

    li dolazi do tranzicije ili transverzije.

    Kod proteinskih sekvenci matrice su kompliciranije. Koriste se PAM (engl. point accepted

    mutations) i BLOSUM (engl. block substitution) matrice koje odraavaju frekvenciju s

    kojom pojedina amino kiselina x je zamijenjena amino kiselinom y u evolucijski srodnim

    sljedovima. Danas se najee koristi BLOSUM 62 matrica. Procedura (Henikoff and

    Henikoff, 1992) koritena za procjenu BLOSUM matrica je bila vrlo jednostavna.

    Henikoffovi su uzeli veliku bazu pouzdanih poravnanja i samo brojali poravnanja sljedova

    koja su imala postotak identinosti jednak ili manji od nekoga praga. Tako je npr. prag od

    62% identinosti koriten za izraun frekvenciju zamjena za BLOSUM 62 matricu.

    2.7.2. Praznine i procijepi

    Mutacije u DNA su obino posljedica pogreka prilikom umnaanja DNA. U prirodi se

    vrlo esto briu ili umeu cijeli podnizovi, umjesto umetanja ili brisanja pojedinih

    nukleotida. Procijep u poravnanju definiramo kao neprekidni niz praznina u jednom od

  • 37

    redaka poravnanja (Sl. 2.11). S obzirom da su umetanja i brisanja evolucijski esta,

    kanjavanje procijepa duljine x sa xd (gdje je d cijena praznine) je prestroga. Stoga mnogi

    praktini algoritmi koriste blai pristup za kanjavanje procijepa i kanjavaju procijep

    duljine x s funkcijom koja puno sporije raste nego suma kanjavanja za x praznina.

    Sl. 2.11 Poravnanje dva niza s oznaenim procijepima. Procijep se definira kao neprekinuti niz

    poravnanja.

    Iako bi idealna funkcija kanjavanja procijepa bila konveksna (npr. logaritamska) takve

    funkcije se ne koriste jer algoritmi koji to podravaju imaju O(n3) vremensku sloenost to

    ih ini presporima za praktine svrhe. Stoga se danas esto konveksna funkcija,

    aproksimira s afinom funkcijom. Takva funkcija ima oblik d+xe, pri emu je d cijena

    otvaranja novoga procjepa, a e cijena svakog produljenja procjepa.

  • 38

    2.8. Literatura

    Henikoff,S. and Henikoff,J.G. (1992) Amino acid substitution matrices from protein

    blocks. Proc. Natl. Acad. Sci. U. S. A., 89, 1091510919.

    Hirschberg,D.S. (1975) A Linear Space Algorithm for Computing Maximal Common

    Subsequences. Commun. ACM, 18, 341343.

    Myers,E.W. (1986) An O(ND) Difference Algorithm and Its Variations. Algorithmica, 1,

    251266.

    Myers,E.W. (1995) Toward simplifying and accurately formulating fragment assembly. J.

    Comput. Biol., 2, 27590.

    Needleman,S.B. & Wunsch,C.D. (1970) A general method applicable to the search for

    similarities in the amino acid sequence of two proteins. J. Mol. Biol., 48, 44353.

    Sankoff,D. (1972) Matching Sequences under Deletion/Insertion Constraints. Proc. Natl.

    Acad. Sci., 69, 46.

    Sellers,P. (1974) On the Theory and Computation of Evolutionary Distances. SIAM J.

    Appl. Math., 26, 787793.

    Smith,T.F. & Waterman,M.S. (1981) Identification of common molecular subsequences. J.

    Mol. Biol., 147, 195197.

    Ukkonen,E. (1985) Algorithms for approximate string matching. Inf. Control, 64, 100118.

  • 39

    3. Pretraivanje baze podataka sljedova. BLAST

    Pretraivanje baze podataka koja sadri nukleotidne (DNA ili RNA) ili aminokiselinske

    sljedove najei je, a ujedno i temeljni bioinformatiki postupak, a svakodnevno ga

    koriste i biolozi i bioinformatiari. Nukleotidni ili aminokiselinski slijed nekog organizma

    usporeuje se s bazom podataka sljedova kako bi se pronaali slini sljedovi u drugim

    organizmima. Naime, slinost sljedova upuuje na zajedniko podrijetlo organizama

    (homologija). Kao primjer moemo navesti slinost izmeu gena: ako neki slijed

    predstavlja gen nekog organizma (gen je dio DNA koji kodira za protein), onda se i za

    njemu slian slijed iz drugog organizma moe pretpostaviti da i taj slijed predstavlja gen,

    odnosno, da oba gena potjeu od gena zajednikog pretka. Zbog homologije moemo

    pretpostaviti i sljedee: ako je za neki protein poznata njegova funkcija u organizmu, onda

    se slina funkcija moe pretpostaviti i za njemu sline proteine. Takva se ideja esto

    primijenjuje kod novosekvenciranih organizama, gdje se usporedbom s postojeim

    sljedovima utvruje je li neki slijed gen i je li slian genima iz baze podataka za ije je

    proteine poznata funkcija. Takvim analitikim pristupom izbjegavaju se skupi i mukotrpni

    eksperimenti u kojima bi se inae moralo izravno utvrditi koji je dio DNA gen i koja je

    funkcija proteina za koji taj gen kodira.

    Baze podataka nukleotidnih sljedova sadre za neke organizme cijele genome i

    transkriptome, dok su za neke organizme poznati samo neki dijelovi DNA ili RNA (obino

    geni). S razvojem suvremenih tehnologija sekvenciranja, broj dostupnih genoma i

    transkriptoma eksponencijalno raste.

    Najpoznatije i najvee javno dostupne baze podataka koje sadre nukleotidne sljedove su:

    NCBI-GenBank baza podataka (NCBI; National Center for Biotechnology

    Information)

    EMBL (European Molecular Biology Laboratory) baza podataka

    DDBJ (DNA Data Bank of Japan) baza podataka

    Najpoznatija i najvea javno dostupna baza podataka koja sadri proteinske sljedove je:

    UniProt, a koja objedinjava i koristi podatke iz drugih velikih proteinskih baza podataka:

    o Swiss-Prot

  • 40

    o TrEMBL

    o Protein Information Resource

    Kao ilustraciju veliine baze podataka biolokih sljedova moemo pogledati primjer

    GenBank baze podataka iz kolovoza 2013.: nukleotidni sljedovi zauzimaju oko 610 GB

    (Benson et al., 2013). Veliinu takvih skupova podataka lake razumijemo, ako pogledamo

    prosjene veliine genoma pojedinih organizama: npr. red veliine bakterijskih genoma je

    106-10

    7 bp. Genomi kukaca su reda veliine 108-109 bp, genomi sisavaca su oko 109 bp

    (npr. ovjekov genom je 3109 bp), dok genomi cvjetnica doseu i 1011 (Gregory, 2014).

    3.1. Usporedba biolokih sljedova s bazom podataka

    koritenjem heuristikog pristupa

    Pretpostavimo da elimo usporediti upitni slijed (eng. query) s bazom podataka sljedova

    (eng. target). Neka upitni slijed sadri m nukleotida, a baza podataka ukupno n nukleotida.

    Odreivanje optimalnog poravnanja upitnog slijeda sa sljedovima iz baze podataka

    dinamikim programiranjem (pogavlje 2) obavlja se u O(mn) vremenu, to je vrlo sporo za

    velike baze podataka. Kao alternativa dinamikom programiranju, za velike se skupove

    podataka koriste programi koji imaju heuristiki pristup rjeenju. Njihova je odlika

    znaajno ubrzanje u odnosu na programe koji koriste dinamiko programiranje, ali

    pronalazak optimalnog rjeenja ovakvim pristupom nije zajamen1. Heuristiki pristup

    koriste i najpoznatiji programi za usporedbu biolokih sljedova s bazom podataka: BLAST

    (Altschul et al., 1990) i FASTA (Lipman and Pearson, 1985). Oba programa koriste

    princip lokalnog poravnanja, odnosno, dijelovi upitnog slijeda se pokuavaju na najbolji

    lokalno nain poravnati sa sljedova iz baze podataka. Novije inaice BLAST-a, Gapped

    BLAST, PSI-BLAST (Altschul et al., 1997) glavni su alati NCBI-a za usporedbe

    proteinskih i nukleotidnih sljedova. Osim njih, danas se esto koriste i MegaBLAST

    (Zhang et al., 2000) i PHI-BLAST (Zhang et al., 1998). O popularnosti BLAST-a svjedoi

    i njegova citiranost: radovi Altschul et al. (1990, 1997) zajedno su imali preko 70000 citata

    do kraja 2013. godine. S obzirom da je BLAST danas najraireniji alat za usporedbu

    upitnog slijeda s bazom podataka, u daljnjem e tekstu biti opisan princip njegova rada.

    1 Ovakav pristup predstavlja odvagivanje (eng. trade-off) izmeu brzine, kojom se dolazi do rjeenja i

    osjetljivosti (eng. sensitivity) dobivenog rjeenja.

  • 41

    3.2. Program BLAST

    Program BLAST koristi sljedeu osnovnu ideja: iz upitnog se slijeda generiraju kratki

    podnizovi, s kojima se onda pretrauje baza podataka (BP). Ti se podnizovi zatim koriste

    kao zaetak ili sjeme (eng. seed) duljih lokalnih poravnanja. Kao rezultat, BLAST vraa

    listu sljedova iz baze podataka iji rezultat lokalnog poravnanja s cijelim ulaznim ili nekim

    njegovim dijelom ispunjava unaprijed zadani kriterij kvalitete (Error! Reference source

    not found.): podnizovi upitnog slijeda, za koje su pronaeni odgovarajui podnizovi u

    sljedovima u bazi podataka (lista rezultata), prikazani su kao uti, plavi i crveni

    pravokutnici.

    Sl. 3.1 Usporedba upitnog slijeda s bazom podataka nukleotidnih ili aminokiselinskih sljedova

    Ideja osnovnog BLAST algoritma te njegove verzije koja ukljuuje procijepe (Gapped

    BLAST) prikazana je na Sl. 3.2 te je zatim detaljnije pojanjenja u tekstu koji slijedi.

    Baza podataka koja sadri nukleotidne

    i/ili proteinske sljedove

    Upitni slijed

    Lista rezultata

    Usporedba upitnog slijeda s bazom

    podataka sljedova

  • 42

    Algoritam BLAST (List, Scan, Extend)

    1. Iz upitnog slijeda odrediti listu rijei L. Rijei su kratki podnizovi ulaznog niza unaprijed zadane

    duljine (za aminokiseline: obino 3 znaka; za nukleotide: obino 11 znakova).

    2. Za svaku rije w iz L pronai sline rijei, tj. izgraditi listu rijei L' ije poravnanje s w daje

    rezultat T. Rezultat poravnanja odreuje se kod nukleotidnih sljedova bodovanjem

    podudaranja/zamjene nukleotida, odnosno koritenjem supstitucijskih matrica kod sljedova

    aminokiselina.

    3. Pretraiti bazu podataka kako bi se pronale sljedovi koji sadre rijei iz L'; pronaeni

    podnizovi u bazi podataka nazivaju se pogotcima (eng. hits).

    Osnovni BLAST

    4. Proiriti poravnanje oko pogodaka u lijevo i u desno, sve dok rezultat poravnanja ne pone

    padati ispod zadanog praga. Tako dobivena podruja nazivaju se podruja s visokim

    rezultatom poravnanja (HSP; eng. High-scoring Segment Pair).

    5. Odabrati HSP-ove s najviim rezultatom i odrediti njihov statistiki znaaj (E i p vrijednosti).

    Prikazati ih kao konani rezultat u listi.

    BLAST koji dozvoljava procijepe (Gapped BLAST)

    4. Povezati 2 ili vie inicijalnih pogodaka koji se nalaze na istoj dijagonali i meusobno su

    udaljeni < A. Izmeu njih izabrati statistiki znaajna podudaranja.

    5. Statistiki znaajna podudaranja se ponovno poravnavaju koritenjem SW algoritma. Takva

    podruja predstavljaju konani rezultat koji se onda pokazuje u listi rezultata zajedno sa

    statistikim pokazateljima (E i p vrijednost).

    Sl. 3.2 Algoritam BLAST osnovni algoritam i algoritam koji ukljuuje procijepe

    Podnizovi, koji se u programu BLAST koriste kao zaetak duljih poravnanja, nazivaju se

    rijei (eng. words) i njihovu duljinu korisnik zadaje unaprijed, ovisno o tome sadri li

    upitni slijed nukleotide ili aminokiseline. U sluaju nukleotidnog upitnog slijeda,

    pretpostavljena duljina rijei je 11 (obino se koriste vrijednosti od 7 do 14). U sluaju

    aminokiselina, pretpostavljena duljina rijei je 3 (ponekad se koristi i 2 kada se pretrauju

    krai sljedovi aminokiselina, npr. peptidi). Primjer izgradnje liste rijei s kojima se zatim

    pretrauje baza podataka prikazan je na Sl. 3.3.

  • 43

    Primjer: Izgradnja liste rijei duljine n iz upitnog slijeda

    Neka je zadan ulazni aminokiselinski slijed GEIIGCT.

    Neka je za aminokiseline zadana duljina rijei n = 3. S obzirom da ukupno postoji 20 aminokiselina,

    broj moguih rijei od 3 znaka (aminokiseline) je 203 = 8000. Neka je zadan prag T = 12. T

    predstavlja vrijednost poravnanja izmeu 2 rijei koritenjem zadane supstitucijske matrice

    (ovdje: BLOSUM62).

    1. Iz upitnog se slijeda GEIIGCT stvara lista rijei L. Rijei iz L su podnizovi ulaznog niza GEIIGCT

    duljine 3 znaka, dakle:

    L = {GEI, EII, IIG, IGC, GCT}

    2. Svaka rije r iz L promatra se u odnosu na sve mogue rijei od 3 znaka (aminokiseline); r'. Za

    svaku rije r odreuje se rezultat poravnanja s r'. Ako je rezultat poravnanja koritenjem

    BLOSUM62 matrice T, onda se nova rije r' dodaje u L', gdje je L' lista rijei s kojima e se

    pretraivati baza podataka.

    Npr. za r = GEI, zbog jednostavnosti, promatramo samo rijei GEI, GEE i GEL. Rezultat poravnanja r

    s GEI je 6 + 5 + 4 = 15 T, rezultat poravnanja r i GEE je 6 + 5 - 3 = 8 < T, a rezultat poravnanja r i

    GEL je 6 + 5 + 2 = 13 T. Dakle, u listi L' nalazit e se GEI i GEL.

    Sl. 3.3. Primjer izgradnje liste rijei iz upitnog slijeda

    U osnovnoj izvedbi BLAST-a, pretraivanje baze podataka sljedova obavlja se tako da se

    rijei iz liste L' indeksiraju (3. korak algoritma; Sl. 3.2). Indeks je izgraen kao automat s

    konanim brojem stanja (eng. finite state automaton; FSA). Ulaz u automat su sljedovi iz

    baze podataka. Za svaki slijed iz BP, automat dojavljuje sadri li slijed neku rije iz L' ili

    ne. Nad sljedovima iz BP za koje je automat dojavio da sadre rijei iz L', obavlja se

    daljnja usporedba s ulaznim nizom, odnosno prelazi se na 4. korak algoritma (Sl. 3.2).

    U u sluaju osnovnog BLAST algoritma (Altschul et al., 1990), rijei iz upitnog slijeda za

    koje su pronaeni pogotci (eng. hits) u BP, pokuavaju se proiriti u lijevo i u desno sve

    dok rezultat poravnanja dobiven proirenjem ne pone padati ispod unaprijed zadanog

    praga. Tako se dobivaju podruje s visokim rezultatom poravnanja (eng. high-scoring

    segment pair; HSP). Izmeu pronaenih parovima segmenata, ispisuje se ona koja daju

    statistiki najznaajniji rezultat (E i p vrijednost, koje su pojanjenje kasnije u tekstu).

    Odreivanje proirenja pogodaka zahtijeva oko 90% ukupnog vremena rada programa.

  • 44

    U sluaju verzije BLAST-a koja omoguuje rad s procijepima, Gapped BLAST (Altschul

    et al., 1997), pronaeni parovi rijei se pokuavaju meusobno spojiti ako se nalaze na

    istoj dijagonali i meusobno su udaljeni za manje od A znakova. Rijei se spajaju tako da

    se podruje izmeu njih optimalno poravna dinamikim programiranjem. Meu tako

    poravnatim podrujima pronalaze se statistiki najznaajnija, koja se onda ponovno

    poravnavaju koritenjem Smith-Watermanovog algoritma (Smith & Waterman, 1981).

    Kod poravnavanja nukleotida koriste se unaprijed zadane vrijednosti za bodovanje

    podudaranja (eng. match) i nepodudaranja (tj. zamjene) nukleotida (eng. mismatch) (npr.

    +1 za podudaranje i -2 za zamjenu). Za matematiki prikaz bodovanja pojave procijepa

    (praznina) u poravnanju (eng. gap cost) koristi se linearna ili afina funkcija (poglavlje

    2.7.2). Kod poravnanja aminokiselina, koristi se bodovanje prema supstitucijskim

    matricama2. U programu BLAST mogu se koristiti PAM matrice (Dayhoff et al., 1978) ili

    BLOSUM matrice (Henikoff & Henikoff, 1992).

    PAM (ili APM, eng. Accepted Point Mutation) matrice temelje se na filogenetskom stablu

    izgraenom iz poravnanja promatranih sljedova aminokiselina blisko srodnih vrsta. PAM 1

    matrica sadri cjelobrojne vrijednosti koje se odnose na mutacijske stope izmeu

    aminokiselina u vremenu u kojem je promijenjeno 1% aminokiselina. Sve ostale PAM

    matrice s veim brojem (npr. PAM30, PAM250) raunaju se iz PAM1 matrice i

    predstavljaju promjene u duljim vremenskim razdobljima, to odgovara sljedovima, koji su

    meusobno evolucijski udaljeniji.

    BLOSUM (eng. BLOck Substitution Matrix) matrice izgraene su temeljem poravnanja

    vrlo ouvanih podruja izmeu udaljenijih sljedova i daju bolje rezultate za usporedbu

    udaljenijih proteina. U programu BLAST pretpostavljeno je koritenje BLOSUM 62

    matrice, a jo su ponuene matrice PAM30, PAM70, PAM250, BLOSUM45,

    2 Supstitucijska matrica je matrica dimenzija 20 x 20, gdje je 20 broj aminokiselina. Polje

    (i, j) u supstitucijskoj matrici sadri cijeli broj koji predstavlja stopu, odnosno, vjerojatnost

    mutacije aminokiseline i u aminokiselinu j u nekom vremenu. Vjerojatnosti mutacija

    odgovaraju promatranim kemijskim i fizikalnim svojstvima aminokiselina (npr. vea je

    vjerojatnost da e hidrofilna aminokiselina mutirati u hidrofilnu, a manja da e mutirati u

    hidrofobnu kiselinu).

  • 45

    BLOSUM50, BLOSUM80, BLOSUM90. Kod poravnanja blisko srodnih proteina obino

    se koriste PAM1 i BLOSUM80 matrice, kod srednje udaljenih proteina PAM120 i

    BLOSUM62, a za udaljene proteine: PAM250 i BLOSUM45.

    U programu BLAST, relevantnost izraunatih poravnanja prikazuje se statistikom

    mjerom, koja se naziva E-vrijednost (eng. E-value) i izvodi se iz rezultata poravnanja

    izmeu parova sljedova. Ovdje je odreivanje E-vrijednosti izloeno prema (Pevsner,

    2009). Neka je m duljina upitnog slijeda, a n duljina svih sljedova u bazi podataka.

    Vjerojatnost da rezultat poravnanja S izmeu dva sluajna slijeda bude vea ili jednaka x

    je:

    P(S x) = 1 - exp (-Kmne-x) (3.1)

    gdje su i K su Karlin-Altschulovi statistiki parametri (Altschul et al., 1990, 1997)

    odreeni odabranim parametrima i svojstvima podataka u bazi podataka, a program ih sam

    odreuje.

    Bitovni rezultat poravnanja S' odreuje se iz S kao:

    S' = (S ln K) / ln 2 (3.2)

    Oekivanje da emo sluajnim putem pronai slijed u bazi podataka kojemu je bitovni

    rezultat poravnanja s ulaznim slijedom jednak S' je:

    E = mn 2-S' (3.3)

    Odnosno, vjerojatnost p da je dobiveni rezultat poravnanja S sluajan jest:

    p = 1 e-E (3.4)

    Za E 0.05, E i p su priblino jednaki. Npr. za E = 0.05, p = 0.04877058. Kao statistiki

    znaajan rezultati moe se uzeti E 0.05, ali u praktinoj primjeni relevantnost E ovisi o

    tome koliko su srodni sljedovi koji se usporeuju, njihovoj duljini i ukupnoj veliine baze

  • 46

    podataka. Obino, za vrlo srodne sljedove moe biti E 10-20, pa i E 0. Kod usporedbi

    genoma mikrorganizama pokazalo se da su znaajne vrijednosti oko 10-4 i manje (Pevsner,

    2009).

    3.3. BLAST - postupak pretraivanja baze podataka

    Pretraivanje baze podataka koritenjem programa BLAST moe se obavljati kroz web-

    suelje3 ili koritenjem zasebne aplikacije. Radi jednostavnosti, korake u postupku

    pretraivanja pokazat emo koritenjem mrenog suelja programa BLAST na stranicama

    NCBI-a:

    1. Odabrati jedan od BLAST programa, ovisno o tome sastoji li se upitni slijed od

    nukleotida ili aminokiselina i s kojim tipom sljedova (proteinskim ili nukleotidnim

    sljedovima) se eli usporeivati upitni slijed. Ponueni su sljedei programi: blastn i

    njegova nadgradnja (megablast), blastp i njegove nadgradnje (psi-blast), blastx, tblastx,

    tblastn (Tablica 3.1).

    2. Tablica 3.1 Temeljni BLAST programi

    Program Upitni slijed Baza podataka sljedova

    blastp Protein Protein

    blastn DNA DNA

    blastx4 DNA (6 moguih itanja) Protein

    tblastn5 Protein DNA (6 moguih itanja)

    tblastx6 DNA (6 moguih itanja) DNA (6 moguih itanja)

    3 blast.ncbi.nlm.nih.gov

    4 blastx nukleotidni upitni slijed je dinamiki translatiran prema 6 okvira itanja u 6 proteinskih sljedova i

    onda se svaki od tih sljedova usporeuje s bazom podataka proteina

    5 tblastn - DNA baza podataka je translatirana po 6 okvira itanja i onda se svaki od dobivenih proteinskih

    sljedova usporeuje s ulaznim proteinom

    6 tblastx 36 moguih proteinsko-proteinskih kombinacija

  • 47

    3. Odabrati upitni slijed (eng. query) zadavanjem jednog od identifikacijskih brojeva (gi

    identifikator ili accession number identifikator) ili unosom slijeda u formatu fasta.

    4. Odabrati bazu podataka za pretraivanje, npr. nonredundant database (nr).

    5. Odabrati postavke pretraivanja baze podataka (eng. algorithm parameters) i pritisnuti

    gumb BLAST.

    6. Pregled prikazanih rezultata: rezultat je lista nukleotidnih sljedova koji su najbolje

    rangirani prema parametrima vezanim uz bodovanje poravnanja izmeu ulaznog i

    rezultantnog slijeda (Max score, Total score, Query cover, Ident) te statistikom

    znaaju rezultantnog poravnanja (E-value)

  • 48

    3.4. Literatura

    Altschul,S.F. et al. (1990) Basic local alignment search tool. J. Mol. Biol., 215, 403410.

    Altschul,S.F. et al. (1997) Gapped BLAST and PSI-BLAST: a new generation of protein

    database search programs. Nucleic Acids Res., 25, 33893402.

    Benson,D.A. et al. (2013) GenBank. Nucleic Acids Res., 42, D32D37.

    Dayhoff,M.O. et al. (1978) A Model of Evolutionary Change in Proteins. Atlas Protein

    Seq. Struct., 5, 345352.

    Gregory,T.R. (2014) Animal Genome Size Database. http://www.genomesize.com.

    Henikoff,S. & Henikoff,J.G. (1992) Amino acid substitution matrices from protein blocks.

    Proc. Natl. Acad. Sci., 89, 1091510919.

    Lipman,D. & Pearson,W. (1985) Rapid and sensitive protein similarity searches. Science,

    227, 14351441.

    Pevsner,J. (2009) Bioinformatics and functional genomics 2nd ed. Wiley-Blackwell,

    Hoboken, N.J.

    Smith,T.F. & Waterman,M.S. (1981) Identification of common molecular subsequences. J.

    Mol. Biol., 147, 195197.

    Zhang,Z. et al. (2000) A greedy algorithm for aligning DNA sequences. J. Comput. Biol. J.

    Comput. Mol. Cell Biol., 7, 203214.

    Zhang,Z. et al. (1998) Protein sequence similarity searches using patterns as seeds. Nucleic

    Acids Res., 26, 39863990.

  • 49

    4. Sufiksno stablo i sufiksno polje

    Usporedba biolokih sljedova obino se temelji na poravnanju cijelih sljedova ili njihovih

    identinih ili slinih dijelova. Slinost moe upuivati na to da sljedovi potjeu od

    zajednikog pretka, odnosno da su sljedovi homologni, a slinost je onda posljedica

    homologije. Kod blisko srodnih sljedova, mogua je slinost po njihovoj cijeloj duini i

    onda je sljedove mogue globalno poravnati. Kod udaljenijih sljedova mogua je slinost

    izmeu pojedinih podruja koja su ostala sauvana kroz evolucijsku povijest i onda takve

    sljedove moemo lokalno poravnati. Problem optimalnog globalnog i lokalnog poravnanja

    parova sljedova dinamikim programiranjem opisano je u poglavlju 2.

    Kao alternativa dinamikom programiranju, koje je sporo za dugake nizove, u praksi se

    koriste brze heuristike metode. Njihova je ideja sljedea: pronalaze se podruja, tj. krai

    podnizovi, koji su zajedniki promatranim sljedovima. Takve krae podnizove, ako su

    meusobno dovoljno blizu, pokuava se onda spojiti, tako da se podruja izmeu

    podnizova lokalno poravnaju dinamikim programiranjem. U ovom poglavlju bit e

    prikazane podatkovne strukture koje omoguuju brzo pronalaenje identinih ili slinih

    podnizova, koji se onda mogu koristiti kao zaetci (eng. seed) lokalnih ili globalnih

    poravnanja.

    Problem pronalaska identinih ili slinih podnizova u promatranim sljedovima odgovara

    standardnom problemu pronalaska uzorka u tekstu (eng. pattern matching). Ako je s P

    oznaen uzorak (tj. krai podniz, eng. pattern), a s T tekst (tj. dulji niz; eng. text), gdje je

    obino |T| >> |P|, tada je na problem pronai svih z pojavljivanja P u T. Naivno rjeenje

    ovog problema moe se pronai u O(|P| |T|) vremenu, to je, naravno, neprihvatljivo za

    dulje nizove (npr. ako je T genom bakterije, onda je rije o duljini |T| od 106-107 bp, a za

    sloenije organizme duljina |T| je i nekoliko redova veliine vea).

    Algoritamska rjeenja problema pronalaska uzorka u tekstu moemo podijeliti u dvije

    skupine:

    1. Rjeenja u kojima se prvo indeksira podniz P, a onda se indeks izgraen nad P koristi

    za pretraivanje teksta T.

    2. Rjeenja u kojima se prvo indeksira teksta T, gdje se onda indeks izgraen nad T

    koristi za pretraivanje P.

  • 50

    U prvom pristupu, izgradnja indeksa nad podnizom P je brza (u vremenu O(|P|)), a sam

    indeks zauzima vrlo malo mjesta. Meutim, pretraivanje teksta T koritenjem takvog

    indeksa obavlja se u najgorem sluaju u vremenu O(|T|) (iako za prosjene sluajeve moe

    biti i bolje vrije