190 likes | 356 Views
Hakemistorakenteet biologisille aineistoille. Katja Astikainen Tietokannat nyt –seminaari 15.11.2005. Taustaa: tietokannat ovat kookkaita. Biologiset tietokannat, kuten Genomi- ja Proteiinitietokannat (GenBank, PDB) ovat kasvaneet nopeasti viime vuosien aikana.
E N D
Hakemistorakenteet biologisille aineistoille Katja Astikainen Tietokannat nyt –seminaari 15.11.2005
Taustaa: tietokannat ovat kookkaita • Biologiset tietokannat, kuten Genomi- ja Proteiinitietokannat (GenBank, PDB) ovat kasvaneet nopeasti viime vuosien aikana. • esim. ihmisen genomi on n. 3 biljoonaa emäsparia pitkä DNA-sekvenssi jaettuna 22 autonomiseen ja 2 sukupuolikromosomiin. • 1Memäspari vie 1MB säilytystilaa levymuistista => ihmisen genomin talletukseen kuluu 3GB säilytystilaa [1]. • yhteensä yli 80 biljoonaa emäsparia DNA:ta GenBank:ssa [2] Taulukko 1: Kokonaisten genomien sekvensointi lisääntyy vuosi vuodelta [3].
Taustaa: aineistoa on vaikeaa käsitellä • Sekvenssien ongelma • pitkät sekvenssit • pieni aakkosto (4) • samankaltaisuus sallii aukot ja muutokset sekvenssien välillä • proteiinit • proteiineja on paljon: esimerkiksi ihmisellä on 30 tuhatta geeniä ja moni niistä koodaa useampaa proteiinia. • kolmiulotteisen rakenteen vertailu hankalaa • vaikka tiedetään proteiinin atomien paikat, miten tiedetään mikä atomi parhaiten vastaa toisen proteiinin mitäkin atomia? • aminohapposekvenssien vertailu ei ole luotettavaa, lähes sama sekvenssi, toiminta eri
Taustaa: sekvenssien proteiinien vertailu • DNA-sekvensien vertailu antaa tietoa yhteisistä ominaisuuksista eliöiden välillä • tietoa geenien toiminnasta • Proteiinien rakenteiden vertailu tärkeää • uusien proteiinien toiminta, mutaatioiden tutkiminen, lääketeollisuus • laskennallisten vertailualgoritmien kehittäminen Laboratoriokokeet verifiointiin • Vertailu on samankaltaisuuksien etsimistä • Koska sekvenssi-/proteiiniaineistot ovat monimutkaisia, ei SQL:n yhtäläisyyshaut toimi, vaan tarvitaan erikoisia työkaluja.
Taustaa: nykyiset ratkaisut • DNA-sekvenssit • Dynaaminen ohjelmointi O(mn) • Tietokannoissa BLAST-algoritmi • Proteiinit • esim. alfa-hiilien linjaus • hierarkkinen menetelmä: VAST • Nykyiset vertailualgoritmit eivät käytä hakemistorakenteita. • hakualgoritmien skaalautuvuutta isoille aineistoille voitaisiin tehostaa hakemistoja käyttämällä hakemistorakenteita (MAP, PSI)
DNA sekvenssi • DNA (deoksiribonucleid acid) on kaksijuosteinen nukleotidiketju • nukleotideja on neljää erilaista • A adeniini • T tymiini • G guaniini • C sytosiini • Ketju voidaan esittää n-pituisena sanana • sekvenssien vertailussa etsitään ensin optimaalinen rinnastus kahden sekvenssin välillä • aukot (_), muutokset • pisteytys Kuva1: pätkä kaksijuosteista DNA:ta [4]. Kuva2: sama (kuva1) pätkä DNA:ta kirjainesityksenä kuva3: optimaalinen rinnastus kahden DNA-sekvenssin välillä
DNA-sekvenssien frekvenssivektoriesitykset ja frekvenssietäisyydet • DNA-sekvenssi, jonka aakkosto koostuu nukleotideista (A,C,G,T), voidaan esittää 4-ulotteisen frekvenssivektorin avulla. • Koordinaatit kertovat aakkosien frekvenssin sekvenssissä f(s)=[f(A),f(C),f(G),f(T)] • Esimerkiksi DNA sekvenssi s = ATTGCCAAT, voidaan esittää frekvenssivektorina f(s) = [3, 2, 1, 3]. • Jos s ja t ovat kaksi vertailtavaa sekvenssiä niiden editointietäisyys (ED) on tarvittavien poistojen, lisäysten ja muutosten määrä sekvenssiin s, jotta siitä saataisiin sekvenssi t. • Nopeampaa on kuitenkin laskea frekvenssietäisyys (FD) frekvenssivektorien s ja t välille: tarvittavat lisäykset ja poistot frekvenssivektorin f(s) frekvensseihin, että siitä saataisiin f(t). Voidaan osoittaa, että FD<=ED
Esimerkki Olkoon DNA-sekvenssit s = AATCCCAA ja t = TGCCAA, sekä niitä vastaavat frekvenssivektorit f(s) = [4, 3, 0,1] ja f(t) = [2, 2, 1, 1]. Editointietäisyys on ED(s, t) = 3, koska t:stä on ”poistettu” kaksi A:ta sekvenssin edestä ja yksi C on muutettu G:ksi. Nyt frekvenssietäisyyden laskevan algoritmin mukaan frekvenssivektorien välinen positiivinen etäisyys (frekvenssien lisäykset) on kolme ja negatiivinen etäisyys (frekvenssien poistot) on yksi, mistä seuraa, että frekvenssietäisyys FD(f(s), f(t)) = 3. Nyt editointietäisyys on yhtä suuri kuin frekvenssietäisyys. DNA-sekvenssien frekvenssivektoriesitykset ja frekvenssietäisyydet
MRS(Multi Resolution String)-hakemistorakenne sarakkeet DNA-sekvenssejä, kromosomit rivit eri resoluutioita, osasekvenssien pituus (esim. sivun koko). T on F-hakemisto, jossa d:lle peräkkäiselle osasekvenssin frekvenssivektorille MBR:t (Bj). F-hakemistoon talletetaantietueet (B.L, B.H , o), missä B.L on MBR:n pienin ja B.H on suurin koordinaatti, o on ensimmäisen MBR:n osasekvenssin sivun osoite tietokannassa.
MAP-menetelmä lokaalien samankaltaisuuksien löytämiseen • Kyselysekvenssi q jaetaan osasekvensseihin q1,..,qm • frekvenssivektorit f(qi) lasketaan • Muodotetaan jokaista (q, tietokantasekvenssi s) paria kohti match-taulu M -taulut muodostetaan FIND_MATCHES-algoritmilla • Kukin taulun solu Mij vastaa kyselyn osasekvenssiä qi(frekvenssivektori f(qi)) ja hakemiston minimisuorakulmio Bj (d:n peräkkäisen osasekvenssin sk frekvenssivektorin f(sk) MBR) • etäisyyksien laskennassa huomioidaan aukot ja muutokset (sakot) kuva 5: match-taulu [10]
MAP-menetelmä lokaalien samankaltaisuuksien löytämiseen • Lasketaan etäisyys FS(f(qi) ,Bj) ja merkitään match-taulun solu true:ksi, jos etäisyys on sallitun rajan alapuolella • MAP- algoritmin avulla match-taulu luetaan läpi ja tietokannasta haetaan ne osasekvenssit, joilla match-taulussa arvo on true ja rinnastetaan kyselyosasekvenssin kanssa esimerkiksi BLAST-rinnastusalgoritmia käyttäen. kuva 5: MAP-algoritmi käy läpi match-taulun osissa [10]
Proteiinien rakenteiden vertailua • halutaan saada selvyys proteiinin toiminnasta • toiminnan perusteella voidaan myös päätellä jotain eliön evoluutiosta • Perusongelma on löytää optimaaliset parit kahden proteiinin hiiliatomien välillä • nykyiset proteiinien rakenteenvertailu -algoritmit ovat heuristisia ja toimivat keskusmuistissa • esimerkki: VAST, hyödyntää sekundäärirakenteita, SSE-kolmikot
Proteiinin rakenne • Primäärirakenne • aminohappoketju (20 erilaista aminohappoa) • aminohappoketjujen sekvenssien rinnastus • ei varmuutta proteiinien samasta toiminnasta, koska muutaman aminohapon muutos voi johtaa erilaiseen kolmiulotteiseen rakenteeseen ja toiminntaan • Sekundäärirakenne • koostuu peruselementeistä (sekundäärirakenteista) • alfa-heliksi (aminohappoketjun muodostama korkkiruuvimainen rakennte) • beta-levy (koostuu rinnakkaisista aminohappoketjuista beta-säikeistä) • Tertiäärirakenne • kolmiulotteinen laskostunut rakenne, joka määrää myös proteiinin toiminnan.
Proteiinin esittäminen Sekundäärirakennekolmikkojen avulla Kuva 6: Kuva Human Glutathione S-Transferase P1-1 -proteiinin rakenteesta [11]. Kuva 8: SSE-kolmikko suora-approksimaatioina [5] SSE- kolmikon vektoriesitys on 9-ulotteinen ominaisuusvektori: [minij ,minik,minjk,maxij ,maxik,maxjk,µij ,µik,µjk]. i,j,k ovat pituusjärjestyksessä (pienin ensin) Kuva 7: SSE-kolmikko
PSI-menetelmä PSI(Protein Structure Index)-hakumenetelmä [Çam03], koostuu neljästä vaiheesta: • Kyselyproteiinin SSE-kolmikoiden kanssa samankaltaiset tietokannan proteiinien SSE-kolmikot etsitään käyttämällä hyväksi R*puu-hakemistorakennetta. • Kolmikkoparigraafi TPG (Triplet-Pair-Graph) muodostetaan. • Kaksijakoinen verkko (bipartite graph) muodostetaan TPG:stä. Verkosta etsitään proteiini, jolla on laajin vastaavuus kyselyproteiinin SSE-kolmikoiden kanssa. • Tietokannan kandidaattiproteiineille lasketaan p-arvo ja suurilla p-arvoilla varustetut proteiinit hylätään. Rakenteeltaan samankaltaiset proteiinit löydetään kyselyproteiinin ja kandidaattiproteiinin hiiliketjujen rinnastuksella VAST-algoritmia käyttäen.
R*-puu proteiinien hakemistona • R-puu on tasapainotettu puu kuten B+-puu • Lehdillä ovat (tietokannan kaikkien proteiinien) tietueet (ov, ak, m, PDBid), joissa on SSE-kolmikkojen ominaisuusvektorit ov, sekundäärirakenteiden aloituskohdat ak, pituudet m, ja osoite tietokannan proteiiniin PDBid, jolle SSE kuuluu. • Hakemistosolmun tietueita indeksoidaan suorakulmioiden (MBR) avulla (9-ulotteinen vektori) kolme ensimmäistä koordinaattia määrittelee alarajan SSE-kolmikon minimietäisyyksille ja kolme seuraavaa maksimietäisyyksille ja kolme viimeistä ovat theta-kulmat. • Esimerkki: Ajatellaan, että hakemistossa on kolme lehtisolmua, joissa on kolme kuvitteellista ominaisuusvektoria ov (katso esimerkki 3): [1,2,3,5,9,8,45,45,90], [1,1,2,5,9,10,44,46,90], [1,3,3,6,8,8,45,44,91]. Näiden vanhemman, eli ylemmän hakemistosolmun, MBR voisi olla [1,1,2,6,9,10,45,45,91].
Haku R*-puusta (Range query) • Kyselykolmikon ominaisuusvektori: [1,1,2,2,3,3,44,46,90] • marginaalit MBR:lle (delta) • min ja max pituuksille 0,2*[2-1,3-1,3-2] = [0.2,0.4,0.2] • kulmille 10 astetta • algoritmin syötteet; juuri ja kyselykolmikon vektori • selataan puuta ehdoin [minqiqj-delta(ij), maxqiqj+delta(ij)] menee osittain päällekkäin hakemiston MBR:n [minpipj, maxpipj] kanssa ja kulmat poikkeavat sallitun 10 asteen verran => tarkista lapsisolmut • lehdillä tarkistetaan onko sekundäärirakenteiden pituudet (m) riittävän samat (kaksinkertainen pituusero sallitaan) => proteiini (PDBid) on kandidaatti
Tuloksia • MRS-hakemiston ja sen hakualgoritmin MAP-käyttö vs. BLAST-rinnastusalgoritmi • 97 kertaa nopeammaksi [10] • Tarkkuus lähes sama. • PSI-hakumenetelmä (käyttäen R*-puuta 1-askeleessa) vs. VAST-karsinta • 3-3.5 kertaa nopeampi karsinta • 98%:sti samankaltaisiksi tunnetun proteiinin rakenteiden rinnastukseen käytetyn VAST-algoritmin vastaavien tuloksien kanssa.
[1] Faktoja ihmisen genomista, http://www.pbs.org/wgbh/nova/genome/facts.html [2] Faktoja GenBank-tietokannasta: http://www.ncbi.nlm.nih.gov/Genbank/index.html [3] Kurssi 52949 Molekyyligenetiikka, syksy 2005, biotieteiden laitos, luento 1: Tapio Heino. [4] DNA-juoste: http://www.familytreedna.com/images/dna_diagram.gif [5] Çamoglu, O., Kahveci, T. ja Singh, A. K., Towards index-based similarity search for protein structure databases. CSB ’03: Proceedings of the IEEE Computer Society Conference on Bioinformatics, Washington, DC, USA, 2003, IEEE Computer Society, sivut 148–159. [6] Beckmann, N., Kriegel, H.-P., Schneider, R. ja Seeger, B., The r*-tree:an efficient and robust access method for points and rectangles. SIGMOD’90: Proceedings of the 1990 ACM SIGMOD international conferenceon Management of data, New York, NY, USA, 1990, ACM Press, sivut 322–331. [7] Jagadish, H. V. ja Olken, F., Database management for life sciences research. SIGMOD Rec., 33,2(2004), sivut 15–20. [8] Krane, D. E. ja Raymer, M. L., Fundamental concepts of bioinformatics. Pearson Education, 2003. [9] Kahveci, T. ja Singh, A. K., Efficient index structures for string databases. VLDB ’01: Proceedings of the 27th International Conference on Very Large Data Bases. Morgan Kaufmann Publishers Inc., 2001, sivut 351–360. [10] Kahveci, T. ja Singh, A. K., Map: searching large genome databases. Pacific Symposium on Biocomputing 8, University of California, Santa Barbara, CA 93106, USA., 2003, sivut 303–314. [11] Oakley, A. ja Parker, M., Human glutathione s-transferase p1-1, complex with ter117, PDB-tietokanta, 9 1998. URL http://pdbbeta.rcsb.org/pdb/explore.do?structureId=10GS. Kuva haettu PDBtietokannasta 28.10.2005. [12] Singh, A. K., Scalable index structures for biological data. Teoksessa Data Mining in Bioinformatics, Wang, J., T.-L., Zaki, M. J., Toivonen, H. ja Shasha, D., toimittajat, Springer, 2005, sivut 275–296. Lähteet