Ongelma(t): Miten merkkijonoja voidaan hakea tehokkaasti? Millaisia hakuongelmia liittyy bioinformatiikkaan? 2012-2013 Lasse Lensu 2
Ihmisen, eläinten ja kasvien hyvinvoinnin kannalta nykyaikaiset mittaus-, analyysi- ja diagnosointimenetelmät ovat hyödyllisiä ja joissakin tapauksissa (elin)tärkeitä. Moderneilla menetelmillä voidaankin kerätä yksityiskohtaista tietoa luonnosta ja sen eliöistä. Mittausten monipuolistumisen ja paremman kattavuuden myötä datan ja informaation käsittelytarpeet muuttuvat entistä haastavammiksi ja muistuttavat "neulojen etsimistä heinäsuovasta". Miten bioinformaatiota kannattaisi käsitellä ja hallita? 2012-2013 Lasse Lensu 3
Tietojenkäsittelyn perusteet 2 Bioinformaatio ja merkkijonot 2012-2013 Lasse Lensu 4
Bioinformaatio ja merkkijonot 2012-2013 Lasse Lensu 5
Bioinformaatio ja merkkijonot Bioinformatiikka: DNA, sekvensointi, geenit, perimä, sairaudet Tapaus 1: Merkkijonot ja niiden haku Tapaus 2: Biomimetiikkaa 2012-2013 Lasse Lensu 6
Bioinformatiikka Tuimala J. 2005 Ikonen L. 2011 Tarve: Biologiset tietokannat paisuivat niin suuriksi, että niissä olevan tiedon etsimiseksi ja analysoimiseksi tarvittiin tietokoneistettuja ratkaisuja. Väline: Suurten aineistojen käsittelyyn luotiin tehokkaita algoritmeja ja tietokantaratkaisuja. Mahdollisuudet: tietokoneiden suorituskyvyn parantuminen Internetin merkitys tiedon jakamisessa 2012-2013 Lasse Lensu 7
Bioinformatiikan määritelmä Informaatiotieteen ja biologian yhtymäkohtaan syntynyt tieteenala, jonka tarkoituksena on kehittää biologisten ongelmien ratkaisemiseen soveltuvia tietoteknisiä välineitä Informaatioteknologia ja sen menetelmät, joita käytetään biologisen datan tallentamiseen, ylläpitämiseen ja analysoimiseen Osa laskennallista biologiaa 2012-2013 Lasse Lensu 8
Bioinformatiikan tarkoitus Bioinformatiikka organisoi aineistoa siten, että se saadaan tutkijoiden saataville, ja että he voivat liittää tähän informaatioon omia tuloksiaan (esim. GenBank, ArrayExpress). Bioinformatiikassa kehitetään työkaluja, jotka auttavat tutkijoita aineistojen analysoinnissa. Bioinformatiikan työkaluja ja tietoa käytetään aineistojen analysointiin siten, että tulokset voidaan tulkita biologisesti mielekkäällä tavalla. 2012-2013 Lasse Lensu 9
GenBank http://www.ncbi.nlm.nih.gov/genbank/ DNA-sekvenssien tietokanta Nukleotidit: DNA: deoksiribonukleiinihappo RNA: ribonukleiinihappo Molekyylin muodostavat pentoosisokerin (D tai R) ja fosforihapon lisäksi typpiemäkset adeniini (A), guaniini (G), sytosiini (C) ja tymiini (T) tai urasiili (U; RNA). 2012-2013 Lasse Lensu 10
GenBank 2012-2013 Lasse Lensu 11
GenBank 2012-2013 Lasse Lensu 12
Tapaus 1: Merkkijonot Tieto ei tyypillisesti jakaannu valmiiksi riippumattomiin tietueisiin, jotka koostuisivat pienistä yksilöityvistä paloista. Tällaista tietyn merkistön symbolien järjestettyä jonoa kutsutaan merkkijonoksi (string). Merkkijonotyypit: Tekstijono (text string) Bittijono (binary string) Merkkijonojen käsittelyn perustoimintoihin kuuluu hahmon (pattern) eli alimerkkijonon haku merkkijonon sisältä. 2012-2013 Lasse Lensu 13
Merkkijonon haku: raaka tapa Sedgewick, R., 1990 Raakaa voimaa käyttävä (brute-force) algoritmi etsii hahmon ensimmäistä esiintymistä merkkijonossa. Raa'an voiman haku saattaa vaatia nm vertailua, missä n on merkkijonon pituus ja m hahmon pituus. 2012-2013 Lasse Lensu 14
Merkkijonon haku: Knuth-Morris-Pratt Raakaa algoritmia voidaan parantaa tiedolla, että poikkeavuuden esiintyessä jo hyväksytyt merkit ovat tiedossa hahmon perusteella. Knuth-Morris-Pratt (KMP): merkkijonoon viittaavaa indeksiä i ei tarvitse siirtää taaksepäin tunnettujen merkkien ohi. Ennen varsinaisen haun aloittamista hahmon perusteella voidaan määrittää aputaulukko, johon sijoitetaan hahmoon viittaavalle indeksille j uudet arvot poikkeavuuden esiintyessä. KMP vaatii enintään n+m vertailua, missä n on merkkijonon pituus ja m hahmon pituus. 2012-2013 Lasse Lensu 15
Merkkijonon haku: Knuth-Morris-Pratt 2012-2013 Lasse Lensu 16
Merkkijonon haku: Boyer-Moore Koska merkkijonossa peruuttaminen ei ole vaikeata, niin hakualgoritmia voidaan kehittää huomattavasti. Boyer-Mooren (BM) algoritmin etenemisessä käytetään poikkeavan merkin heuristiikkaa: se perustuu hahmon läpikäymiseen oikealta vasemmalle sekä aputaulukkoon laskettuihin uudelleenaloituspisteisiin. Haussa voidaan edetä koko hahmon pituuden verran eteenpäin, mikäli hahmossa esiintyviä merkkejä ei esiinny merkkijonossa. BM algoritmi vaatii enintään n+m vertailua, missä n on merkkijonon pituus ja m hahmon pituus. 2012-2013 Lasse Lensu 17
Merkkijonon haku: Boyer-Moore 2012-2013 Lasse Lensu 18
Merkkijonon haku: Rabin-Karp Kaikkien m:n pituisten osamerkkijonojen voidaan ajatella olevan hajakoodaustaulun avaimia. Tähän ajatukseen perustuu Rabin-Karpin algoritmi, joka laskee hajakoodifunktion arvon sekä haettavalle hahmolle (pituus m) että merkkijonon (pituus n) kaikille m:n pituisille osamerkkijonoille verraten hajakoodifunktion antamia arvoja keskenään. Rabin-Karpin algoritmin kompleksisuus on suurella todennäköisyydellä lineaarinen, mutta huonoimmassa tapauksessa se voi vaatia nm toimintoa. 2012-2013 Lasse Lensu 19
Merkkijonon haku: Rabin-Karp Hajakoodi voidaan laskea seuraavasti: x=a [i] d m 1 a[i 1] d m 2 a[i m 1] missä a sisältää osamerkkijonon merkit ja d on lukujärjestelmän kantaluku. Kun haku siirtyy käsittelemään seuraavaa mahdollista hahmon sijaintia merkkijonon sisällä, ei hajakoodia tarvitse laskea alusta alkaen uudelleen. Hajakoodin laskennassa x korvataan seuraavalla lausekkeella: x a [i] d m 1 d a [i m] 2012-2013 Lasse Lensu 20
Sekvenssitiedosta (oikeasti) Samankaltaisen hakemisesta: Ala Arg Asn Asp Cys... Ala 2 2 0 0 2 Arg 2 6 0 1 4 Asn 0 0 2 2 4 Asp 0 1 2 4 5 Cys 2 4 4 5 12 Rinnastuksesta: ACGTACGT ACGTACGT VEEGYR ACCTAC T : ACCTAC T FEESYM BLAST: 5 (osuma), -4 (huti) 2012-2013 Lasse Lensu 21
Yhteenveto Ihmisen, eläinten ja kasvien tutkimuksen ja hyvinvoinnin kannalta nykyaikaiset mittaus-, analyysi- ja diagnosointimenetelmät ovat hyödyllisiä. Bioinformatiikka: organisoi aineistoa siten, että se saadaan tutkijoiden saataville ja käyttöön kehittää työkaluja, jotka auttavat tutkijoita aineistojen analysoinnissa työkaluja ja tietoa hyödynnetään aineistojen analysointiin biologisesti mielekkäällä tavalla 2012-2013 Lasse Lensu 22