Sekvenssien rinnastus Rinnastus: helppoa tai vaikeaa Kaksi tai useampia (DNA tai proteiini) sekvenssejä: miten samankaltaisia sekvenssit ovat missä sekvenssikohdissa samankaltaisuutta esiintyy Kattava (globaali): Sekvenssit rinnastetaan koko pituudeltaan optimaalisesti Paikallinen (lokaali): Sekvenssien välille etsitään paras osittaisrinnastus Sekvenssi 1 Paik.rinnastus Sekvenssi 2 Rinnastus perustuu malliin tulos yhtä onnistunut kuin mitä malli Hyvä linjaus on luotu biologisen tietämyksen pohjalta: algoritmien tuloksia voi muokata käsin Rinnastuksen laatua vaikea arvioida matemaattisin perustein Voidaan tehdä myös kokonaan käsin GCGGCCCA TCAGGTAGTT GGTGG GCGGCCCA TCAGGTAGTT GGTGG GCGTTCCA TCAGCTGGTT GGTGG GCGTCCCA TCAGCTAGTT GGTGG GCGGCGCA TTAGCTAGTT GGTGA ******** ********** ***** TTGACATG CCGGGG---A AACCG TTGACATG CCGGTG--GT AAGCC TTGACATG -CTAGG---A ACGCG TTGACATG -CTAGGGAAC ACGCG TTGACATC -CTCTG---A ACGCG ********?????????? ***** Rinnastuksesta Rinnastuksella pyritään löytämään emästen/aminohappojen homologia Homologia: samankaltaisuus joka johtuu yhteisestä kantamuodosta ja perimästä. Proteiini 1: sitoo happea Sekvenssien samanlaisuus Proteiini 2: sitoo happea? Proteiini 3: rakenne tunnetaan Sekvenssien samanlaisuus Proteiini 4: rakenne proteiini 3:n kaltainen? Samanlaisuus eri otusten välisten evoluutiosuhteiden päättelyssä Samanlaisuus ominaisuuksien ennustamisessa Samanlaisuus rakenteen ennustamisessa Rinnastuksen pisteytys Pisteytysmatriisit kertovat mikä on rinnastuksen/linjauksen kustannus nukleotidien ja aminohappojen suhteen. Perustuvat empiiriseen aineistoon (geneettinen koodi, fysikaaliset ja kemialliset ominaisuudet, molekyylin rakenne ja evoluutio) Yleisimpiä: BLOSUM ja PAM matriisit A C G T A 5-4 -4-4 C -4 5-4 -4 G -4-4 5-4 T -4-4 -4 5 A C G G C A : : : : A G G G T A 5-4+5+5-4+5 = 12 Standardi DNA pisteytysmatriisi Pisteytysesimerkki Rinnastuksen pisteytys Aukkoparametrit kertovat miten (keinotekoiset) aukot sijoitetaan linjaukseen: Aukon pituus l tällöin yleensä 1) lineaarinen -ld (d aukon aloituskustannus) 2) affiini pisteytys -d - (l-1)g (g aukon pitkittymissakko). Affiini pisteytys: C A T A G G G T A T T G C A T A - - - - A T T G -10 + 3 x (-0.1)=-10.3 Moninkertaiset lisäykset/poistot voivat olla seurausta yhdestä evoluutiotapahtumasta => Erilliset sakot aukon aloitukselle ja jatkolle Samankaltaisten perusosien korkeampi pisteytys Erilaiset kustannukset muutokselle ja pistemutaatiolle A C G T A 5-4 -1-4 C -4 5-4 -1 G -1-4 5-4 T -4-1 -4 5 A C G G C A : : : : A G G G T A 5-4+5+5-1+5 = 15 1
Proteiinien pisteytysmatriisi A 5 R -2 7 N -1-1 7 D -2-2 2 8 C -1-4 -2-4 13 Q -1 1 0 0-3 7 E -1 0 0 2-3 2 6 G 0-3 0-1 -3-2 -3 8 H -2 0 1-1 -3 1 0-2 10 I -1-4 -3-4 -2-3 -4-4 -4 5 L -2-3 -4-4 -2-2 -3-4 -3 2 5 K -1 3 0-1 -3 2 1-2 0-3 -3 6 Henikoff and Henikoff: BLOSUM50 matriisi: Positiiviset pisteet diagonaalilla Samankaltaiset perusosat pisteytetään korkeammalle Erilaiset perusosat pisteytetään matalammalle (negatiivinen). M -1-2 -2-4 -2 0-2 -3-1 2 3-2 7 F -3-3 -4-5 -2-4 -3-4 -1 0 1-4 0 8 P -1-3 -2-1 -4-1 -1-2 -2-3 -4-1 -3-4 10 S 1-1 1 0-1 0-1 0-1 -3-3 0-2 -3-1 5 T 0-1 0-1 -1-1 -1-2 -2-1 -1-1 -1-2 -1 2 5 W -3-3 -4-5 -5-1 -3-3 -3-3 -2-3 -1 1-4 -4-3 15 Y -2-1 -2-3 -3-1 -2-3 2-1 -1-2 0 4-3 -2-2 2 8 V 0-3 -3-4 -1-3 -3-4 -4 4 1-3 1-1 -3-2 0-3 -1 5 A R N D C Q E G H I L K M F P S T W Y V BLOSUM pisteytysmatriisi BLOCKS tietokannan sekvenssit ryhmitellään samanlaisiin lohkoihin (ryhmiin) niin että kussakin ryhmässä on vähintään 50% samankaltaisia perusosia (BLOSUM 50) Sekvenssit verrataan parittain toisiinsa ja havaitut perusosaparit (aminohapot) lasketaan (eli., A on A:n parina 40% kaikista tapauksista, A R:n parina in 1.2%, jne.) Tilastollisesti odotetut suhteelliset esiintymislukumäärät perusosapareille lasketaan yksittäisten aminohappojen esiintymislukumäärien mukaan Jokaisen parin pisteytys lasketaan seuraavasti pyöristettynä kokonaislukuun: Pari-frekvenssi(havaittu) log Pari-frekvenssi(odotettu) ID FIBRONECTIN_2; BLOCK COG9_CANFA GNSAGEPCVFPFIFLGKQYSTCTREGRGDGHLWCATT COG9_RABIT GNADGAPCHFPFTFEGRSYTACTTDGRSDGMAWCSTT FA12_HUMAN LTVTGEPCHFPFQYHRQLYHKCTHKGRPGPQPWCATT HGFA_HUMAN LTEDGRPCRFPFRYGGRMLHACTSEGSAHRKWCATTH MANR_HUMAN GNANGATCAFPFKFENKWYADCTSAGRSDGWLWCGTT MPRI_MOUSE ETDDGEPCVFPFIYKGKSYDECVLEGRAKLWCSKTAN PB1_PIG AITSDDKCVFPFIYKGNLYFDCTLHDSTYYWCSVTTY SFP1_BOVIN ELPEDEECVFPFVYRNRKHFDCTVHGSLFPWCSLDAD SFP3_BOVIN AETKDNKCVFPFIYGNKKYFDCTLHGSLFLWCSLDAD SFP4_BOVIN AVFEGPACAFPFTYKGKKYYMCTRKNSVLLWCSLDTE SP1_HORSE AATDYAKCAFPFVYRGQTYDRCTTDGSLFRISWCSVT COG2_CHICK GNSEGAPCVFPFIFLGNKYDSCTSAGRNDGKLWCAST COG2_HUMAN GNSEGAPCVFPFTFLGNKYESCTSAGRSDGKMWCATT COG2_MOUSE GNSEGAPCVFPFTFLGNKYESCTSAGRNDGKVWCATT COG2_RABIT GNSEGAPCVFPFTFLGNKYESCTSAGRSDGKMWCATS COG2_RAT GNSEGAPCVFPFTFLGNKYESCTSAGRNDGKVWCATT COG9_BOVIN GNADGKPCVFPFTFQGRTYSACTSDGRSDGYRWCATT COG9_HUMAN GNADGKPCQFPFIFQGQSYSACTTDGRSDGYRWCATT COG9_MOUSE GNGEGKPCVFPFIFEGRSYSACTTKGRSDGYRWCATT COG9_RAT GNGDGKPCVFPFIFEGHSYSACTTKGRSDGYRWCATT FINC_BOVIN GNSNGALCHFPFLYNNHNYTDCTSEGRRDNMKWCGTT FINC_HUMAN GNSNGALCHFPFLYNNHNYTDCTSEGRRDNMKWCGTT FINC_RAT GNSNGALCHFPFLYSNRNYSDCTSEGRRDNMKWCGTT MPRI_BOVIN ETEDGEPCVFPFVFNGKSYEECVVESRARLWCATTAN MPRI_HUMAN ETDDGVPCVFPFIFNGKSYEECIIESRAKLWCSTTAD PA2R_BOVIN GNAHGTPCMFPFQYNQQWHHECTREGREDNLLWCATT PA2R_RABIT GNAHGTPCMFPFQYNHQWHHECTREGRQDDSLWCATT PAM pisteytysmatriisi Suosittu proteiinien pisteytysmatriisi Perustuu arvioon siitä miten evoluutiossa aminohapot syrjäyttävät toisensa Dayhoffin PAM-250: - Perustuu tietokantaan joka koostuu 71:stä ryhmästä samankaltaisia proteiineja - Tietokannassa yhteensä 1572 aminohappomuutosta - Näiden havaittujen muutoksien avulla arvioitu mutaatioiden esiintymistodennäköisyyksiä - Esiintymistodennäköisyydet johtavat 1. kertaluvun Markovin malliin (PAM-1 matriisi vastaa siirtymätodennäköisyysmatriisia) - PAM-N matriisit saadaan PAM-1:stä: PAM-N = (PAM-1) N - N tarkoittaa että sekvenssiin kohdistunut N mutaatiota ja PAM-N antaa mutaatiotodennäköisyyden N:lle mutaatiolle. - Pisteytysmatriisinä käytetään yleensä log 10 PAM-N PAM pisteytysmatriisi Parittainen rinnastus: ongelma Parittainen rinnastus: ratkaisu Kaikkien mahdollisten rinnastusten lukumäärä kahden sekvenssin välillä kasvaa räjähdysmäisesti sekvenssin pituuden funktiona Kaksi 100:n aminohapon pituista proteiinisekvenssiä voidaan rinnastaa suunnilleen 10 60 erilaisella tavalla. Kaikkien mahdollisuuksien testaaminen nykytietokoneilla veisi osapuilleen saman verran aikaa kuin mitä koko maailmankaikkeus on ollut olemassa. Dynaaminen ohjelmointi ratkaisu ongelmaan Dynaamisessa ohjelmoinnissa kokonaisratkaisuoptimi etsitään osaoptimiratkaisujen avulla. Tärkeimpiä menetelmiä: Paikallinen rinnastus (local alignment) -Smith-Waterman algoritmi Kattava rinnastus (global alignment) - Needleman-Wunch algoritmi 2
Parittainen rinnastus: kattava Needleman-Wunch (NW) algoritmi johtaa optimaaliseen kattavaan rinnastukseen. ESIM: Tarkastellaan kahta aminohapposekvenssiä: HEAGAWGHEE ja PAWHEAE. Lasketaan BLOSUM50:llä parittaiset pisteet: P A -2-1 5 0 5-3 0-2 -1-1 W -3-3 -3-3 -3 15-3 -3-3 -3 H E A E H E A G A W G H E E -2-1 -1-2 -1-4 -2-2 -1-1 10 0-2 0 0 6-1 6-2 -2-2 -3-2 10 0 0-1 -3-1 -3-3 0 6 6 5 0 5-3 0-2 -1-1 -1-3 -1-3 -3 0 6 6 Needleman-Wunsch algoritmi Olkoon rinnastettavat sekvenssit x=x 1,,x i, x n ja y=y 1,,y j, y m Rakennetaan matriisi F, missä matriisin alkio F(i,j) antaa parhaan rinnastuksen pisteytyksen sekvenssien x 1,,x i ja y=y 1,,y j välillä. F(i,j) rakennetaan rekursiivisesti aloittaen F(0,0)=0 alkiosta ja siirtyen matriisin vasemmasta yläkulmasta oikeaan alalaitaan. F(i,j) saadaan F(i-1,j-1), F(i-1,j) ja F(i,j-1) avulla (lineaarinen aukko): F(i,j) = max{f(i-1,j-1) + s(x i,y j ), F(i-1,j) d, F(i,j-1) d}, missä F(i-1,j-1) + s(x i,y j ) tarkoittaa että x i linjataan y j :n kanssa F(i-1,j)-d tarkoittaa että x i linjataan aukon kanssa F(i,j-1)-d tarkoittaa että y j linjataan aukon kanssa F(i-1,j-1) F(i-1,j) s(x i,y j ) -d F(i,j-1) F(i,j) -d Needleman-Wunsch algoritmi Samalla kun täytetään F(i,j) arvoja, niin pidetään kirjaa siitä mitä pitkin alkioon F(i,j) on päädytty (linkkitietoa). Matriisin F alkio F(n,m) antaa parhaan pisteyksen rinnastukseen Lähtemällä liikkeelle F(n,m) alkiosta ja menemällä takaperin kohti F(0,0) alkiota linkkitietoja pitkin aina kutakin F(i,j) alkiota edeltävän kautta (joku kolmesta F(i-1,j-1), F(i-1,j) tai F(i,j-1)) saadaan rinnastus seuraavasti: Jos F(i,j):n edeltävä F(i-1,j-1): linjaa x i ja y j toisiinsa F(i-1,j): linjaa x i aukon ( - merkin) kanssa F(i,j-1): linjaa y j aukon ( - merkin) kanssa Needleman-Wunsch algoritmi ESIM: HEAGAWGHEE ja PAWHEAE ja BLOSUM50 rinnastus. Huomaa F matriisien F(i,0) ja F(0,j) alustus aukkosakon d=8 mukaan: -id ja jd. Smith-Waterman algoritmi Smith-Waterman algoritmi sopii paikalliseen rinnastamiseen. Lähtökohtaisesti samankaltainen kuin Needleman-Wunsch, eli muodostetaan F matriisi. Sääntö vaihtuu seuraavaksi: F(i,j) = max{0, F(i-1,j-1) + s(x i,y j ), F(i-1,j) d, F(i,j-1) d}, missä F(i-1,j-1) + s(x i,y j ) tarkoittaa että x i linjataan y j :n kanssa F(i-1,j)-d tarkoittaa että x i linjataan aukon kanssa F(i,j-1)-d tarkoittaa että y j linjataan aukon kanssa Jos F(i,j):n arvoksi valitaan 0, niin se tarkoittaa että aloitetaan uusi rinnastus tästä kohdasta. F(i,j):n alkiot F(0,i) ja F(j,0) alustetaan 0:ksi (eli aloitetaan uusi rinnastus). Paikallinen rinnastus aloitetaan takaperin kaikista F(i,j):n paikallisista maksimeista. Smith-Waterman algoritmi ESIM: HEAGAWGHEE ja PAWHEAE ja BLOSUM50 rinnastus. Huomaa F matriisien F(i,0) ja F(0,j) alustus 0:ksi 3
Parittainen rinnastus: muistettavaa Optimaalinen rinnastus tarkoittaa että löydetään paras mahdollinen pisteytys annettuna pisteytysmatriisi ja aukkosakot. Tulos EI ole välttämättä biologisesti tarkoituksenmukaisesti paras rinnastus. Rinnastusten alla olevat olettamukset eivät välttämättä ole oikeita: sijoitukset eivät ole todellisuudessa yhtä todennäköisiä kaikissa kohdissa sekvenssiä, aukkosakot eivät ehkä mallita lisäyksiä/poistoja hyvin, jne. Parittainen rinnastusalgoritmi tuottaa aina linjauksen onko se biologiselta kannalta hyvä vai ei, sitä tietoa linjaustulos ei kerro. Rinnastus ja tietokantahaut Parittaista rinnastusta käytetään useimmiten etsimään tietokannoista kiinnostavaa sekvenssiä lähellä olevia sekvenssejä. Esim: Päättele uuden havaitun proteiinin toiminnallisuus etsimällä tätä lähimpänä olevat tunnetut proteiinit joiden toiminnallisuus tiedetään. Paikallisia rinnastuksia käytetään useimmiten tietokantahaussa: Ollaan kiinnostuneita tietämään onko joku osa sekvenssiä (esim. Proteiinista) samankaltainen kuin jonkun tunnetun sekvenssin (proteiinin) osa. Smith-Waterman algoritmi on usein liian raskas laajoihin tietokantahakuihin, niinpä heurestisia menetelmiä on kehitetty (esim: fasta, BLAST) ja niitä käytetään yleisesti. BLAST ja FASTA Monen sekvenssin linjaus FASTA (Pearson 1995) Käyttää heurestisia sääntöjä välttämään kokonaisen F matriisin laskennan. Nopeuttaa tietokantahakuja useita kertoja verrattuna täydelliseen Smith-Waterman algoritmiin Tilastolliselta pohjaltaan FASTA BLAST:aa vahvempi. BLAST (Altschul 1990, 1997) Käyttää indeksoituja sanatauluja, joilla tietokantasekvenssien osia hylätään haussa mahdottomina Hakuajat paljon pienempiä kuin mitä FASTA algoritmilla, ja erittäin paljon nopeampi verrattuna Smith-Waterman algoritmiin Tarkkuudeltaan lähes FASTA:n luokkaa Muutetaan rinnastusongelma kahden sekvenssin tai sekvenssiryhmän välisiksi rinnastukseksi. ClustalW (ohjelma) suosituin: 1. Tehdään parittaiset vertailut kaikkien sekvenssien kesken ja määritellään sekvenssien samankaltaisuus. 2. Tehdään samankaltaisuudesta johdettua etäisyyksiä käyttäen NJ-puuta (Neighbor Joining) 3. Yhdistellään sekvenssit NJ-puun mukaisesti, rinnastamalla ensi lähimmät sekvenssiparit ja yhdistelemällä sitten näin saadut sekvenssiryhmät, kunnes kaikki sekvenssit on rinnastettu. ClustalW pystyy linjaamaan suuria sekvenssimääriä, mutta ei takaa parhaan linjauksen löytämistä. Sekvenssien rinnastusjärjestys vaikuttaa lopputulokseen ja alkuvaiheessa tapahtuneet virheet heijastuvat koko lopputulokseen S1 1 - S2 2.17 - S3 3.59.60 - S4 4.59.59.13 - S5 5.77.77.75.75 - ClustalW 5768:9<;<=:6!>! " # #$% Etäisyysmatriisi ja ohjauspuu Rinnasta jokaiset sekvenssit parittain toisiinsa: - yhteensä (n-1)+(n-2)...(n-n+1) rinnastusta. S1 S2 S3 S4 S5 1 PEEKSAVTALWGKVN--VDEVGG 2 GEEKAAVLALWDKVN--EEEVGG 3 PADKTNVKAAWGKVGAHAGEYGA 4 AADKTNVKAAWSKVGGHAGEYGA 5 EHEWQLVLHVWAKVEADVAGHGQ 2 1 2 1 3 4 3 4 & '(*),+ -. + '0/ 1 + (. $% 2 &43 / + (. / " / Laske jokaisen sekvenssiparin etäisyys (pisteytys) ja generoi etäisyysmatriisi (ylä tai alakolmiomatriisi). Määritä naapurien yhdistämis- (Neighbor-Joining, NJ) ohjauspuu etäisyysmatriisin avulla. Ohjauspuu määrittää missä järjestyksessä rinnastusta jatketaan parittaisen rinnastuksen jälkeen. 4
Naapurien yhdistäminen (NJ)! " # $ %'& ( & ) * + ) + #, $ -) *)#** (+ ( +& #). / &! ' 0 1 ( + *$. ( - * +23 (, )#*) ( ( -,4 + ' 5 ) #. 6/& 7*8 % & () +#! * * 95 :!;,8 * # < What is required for the Neighbour joining method? Distance matrix Etäisyysmatriisi PAM 0.0 84.9 105.6 90.8 86.3 84.9 0.0 117.8 122.4 122.6 105.6 117.8 0.0 84.7 80.8 90.8 122.4 84.7 0.0 3.3 86.3 122.6 80.8 3.3 0.0 Solmu S1 A B Ensimmäinen yhdistäminen =, 9>0 >?5 @A $BDCE )#8 $ #, 9 '# * @A &# C/ ) FC/ @A 4* )*'&# ) -?# 0 Uusien etäisyyksien laskenta Kun kaksi lehtisolmua on yhdistetty täytyy laskea yhdistyksen tuloksena saadun solmun etäisyys muihin lehtiin. Laskennassa käytetään keskimääräisiä etäisyyksiä: Etäisyys[, MonHum] = (Etäisyys[, ] + Etäisyys[, ])/2 = (90.8 + 86.3)/2 = 88.55 Seuraava askel uusilla etäisyyksillä PAM MonHum 0.0 84.9 105.6 88.6 84.9 0.0 117.8 122.5 105.6 117.8 0.0 82.8 MonHum 88.6 122.5 82.8 0.0 Viimeistä edellinen askel PAM MosMonHum 0.0 84.9 97.1 84.9 0.0 120.2 MosMonHum 97.1 120.2 0.0 Mos-() Spin- Mos-() 5
Viimeinen yhdistäminen PAM Spin MosMonHum 0.0 108.7 MosMonHum 108.7 0.0 Etäisyyksien mukaan piirretty NJ puu (Spin-)-(Mos-()) Spin- Mos-() Monen sekvenssin linjaus ensimmäinen pari Rinnasta kaksi lähinnä olevaa sekvenssiä ensin toisiinsa. Tämä kohdistus jäädytetään eikä sitä enään muuteta. Jos aukko lisätään myöhemmissä rinnastuksissa, niin se lisätään samaan kohtaan näihin molempiin (jolloin näiden suhteellinen rinnastus pysyy muuttumattomana). Ohjauspuu päätöksen apuna Katso ohjauspuusta mitkä sekvenssit rinnastetaan toisiinsa seuraavaksi. Kaksi vaihtoehtoa: Rinnasta kolmas sekvenssi jo kahteen rinnastettuun, TAI Rinnasta kaksi erillistä sekvenssiä toisiinsa. Rinnastusta jatketaan ohjauspuun mukaan niin että joka askeleella tehdään parittainen rinnastus kunnes kaikki sekvenssit on rinnastettu ClustalW-Risut ja ruusut Ruusut: Nopea. Yksinkertainen -> helppo ymmärtää Risut: Ei kohdefunktiota jota optimoidaan. Ei mahdollista määritellä rinnastukselle hyvyyttä Ei anna tietoa rinnastuksen oikeellisuudesta. Paikallisen minimin ongelma: jos rinnastuksessa tehdään alkuvaiheessa virhe, ei algoritmi pysty korjaamaan virhettä rinnastuksen jatkuessa Risuista huolimatta havaittu käyttökelpoiseksi 6