Autoindex nd DNA sekvenemi do. Ing. Jn Holub, Ph.D. ktedr teoretiké informtiky Fkult informčníh tehnologií České vysoké učení tehniké v Prze ENBIK 2014 10. 6. 2014 ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 1/27
Obsh Úvod do problemtiky Stringologie BIO-FMI Kompktní sufixový strom pro vrie Závěr ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 2/27
Úvod do problemtiky Stringologie věd o zprování řetězů posloupností symbolů použití: vyhledávání dokumentů, kontrol prvopisu,... Komprese dt věd o úsporném ukládání dt použití: ukládání dokumentů, přenos dokumentů,... ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 3/27
Biologie úlohy Bioinformtik úlohy uložení genomů velmi ktuální nedosttečné kpity disků uvžuje se o zhzování dt nlezení genů v genomu porovnávání genomů... ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 4/27
Propojení oborů Stringologie Komprese dt přesné vyhledávání sttistiké metody přibližné vyhledávání slovníkové metody indexování kontextové metody neurčité řetěze komprese přirozeného jzyk Biologie sekvene genomu sestvení genomu Bioinformtik ukládání genomů vyhledávání v genomeh fylogenetiká nlýz ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 5/27
Stringologie Přesné vyhledávání vzorek p = p[1..m] délky m, p Σ text t = t[1..n] délky n, t Σ nlezení výskytu vzorku p v textu t p = t = ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 6/27
Stringologie přesné vyhledávání Deterministiký konečný utomt [AHU74], g, t 0 g, t 1 2 3 4 g, t, g, t 5 g, t, g, t p =, Σ = {,,g,t} pmět ová složitost: O( Q Σ ) čsová složitost: O(n) ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 7/27
Stringologie přesné vyhledávání Sousměrné metody Deterministiký konečný utomt [AHU74] pmět : O( Q Σ ); čs: O(n) Knuth-Morris-Prtt [KMP77] pmět : O( Q ); čs: O(n) Protisměrné metody Boyer-Moore [BM77] pmět : O( Q ); čs: průměr (n/m), O(nm) rodin Boyer-Mooreovýh lgoritmů [Horspool 1980], [Sundy 1990],... ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 8/27
Stringologie úplný index Úplný index předzprování textu t = t[1..n] vyhledání výskytů vzorku p = p[1..m] v čse O(m), čili nezávisle n déle textu t Sufixový strom t = přijímá všehny přípony t rozpozná všehny podřetěze t ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 9/27
Stringologie úplný index sufixový strom minimlize zhutnění sufixový utomt kompktní sufixový strom kompktní sufixový utomt zhutnění, minimlize ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 10/27
Stringologie úplný index Implemente: sufixový utomt implemente: [Blík, 2003] pmět : zlepšení 21 30n 1,6 3,66n kompktní sufixový utomt implemente: [Holub, Crohemore, 2003] pmět : zlepšení 10 15n 1,5 3,02n ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 11/27
Stringologie úplný index Zákldní hrkteristiky indexovíh struktur čs vyhledání čs konstruke mx. velikost sufixový strom O(m) O(n 2 ) n 2 kompktní sufixový strom O(m) O(nlog Σ ) 2n sufixový utomt O(m) O(n log Σ ) 2n 1 kompktní sufixový utomt O(m) O(n log Σ ) n + 1 sufixové pole O(m+logn) O(n 2 logn) n mximální velikost = mximální počet stvů utomtu nebo mximální velikost sufixového pole ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 12/27
Stringologie utoindex zhuštěný index index o do velikosti úměrný déle textu t (do délky 2n) utoindex zhuštěný index shopný nhrdit původní text t (umožňuje efektivně zobrzit libovolný podřetěze t) ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 13/27
Biologie ukládání genomů vstup: r genomů jednoho druhu: t 0,t 1,...,t r 1 genomy dvou lidí se liší v 0,1 % úkol: efektivně uložit, umožnit vyhledávání řešení: Klsiké metody nejsou efektivní. BIO-FMI [Proházk, Holub, 2014] zobeněný kompktní sufixový strom (KSS) zřetězíme genomy z sebe vytvoříme KSS KSS pro vrie [Holub kol., 2013] vytvoříme řetěze s vriemi pro něj vytvoříme KSS ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 14/27
BIO-FMI t 0 referenční genom, t 0 = n t i = R i,0 C i,0 R i,1...c i,ki 1R i,ki, 0 < i r C i,j (0 j < k i ) je shodný segment, t.j. podřetěze t i odpovídjíí segmentu v t 0 R i,j (0 j k i ) odlišný segment, t.j. podřetěze t i následujíí shodný segment C i,j 1 ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 15/27
BIO-FMI BIO-FMI vlnkový strom + FM-index optimlizovný pro množinu podobnýh DNA sekvení prmetr l (kompresní poměr vs. čs vyhledání): mximální délk části vzorku Vzorek p[1,m] je rozdělen n části p[1,m] = p[1,l ]p[l +1,2l ]...p[ m l l,m] jednotlivé části jsou vyhledány seprátně. ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 16/27
BIO-FMI ) b) ) T 0 T i d A C C T G T A A C A C C A A C A C C T C T A A C p p p C i,j 1 R i,j C i,j A C C A A C A C C T G T A A C A C C T G T A A C q q q l = 3 # C C A A #... T 0 T i d C i,j 1 R i,j C i,j l = 3 # C C T G T A A # T 0 T i d C i,j 1 R i,j C i,j l = 3... # C T G T A #... (DEL,p,3,q p) (INS,p,3,q p) (UPD,p,1,q p) změny t i jejih uložení v řetězi d i s jejih kontextem: ) smzání (DEL), b) vložení (INS), ) modifike jedno- nukleotidový polymorfismus (UPD). ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 17/27
BIO-FMI t 0 $... t vlnkový strom 100110101001 BWT(t 0 ) 000110 110110 islo lo 0 0 0 0 1 0... 0 1110 $ g t FM-index I 0 postvený pro referenční sekveni t 0 ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 18/27
BIO-FMI t 0...... smplestrt vlnkový strom t i...... $ #... # t 100110101001 2 l 1 d #...... # BWT(d) 000110 010110 + islo lo 0 0 0 0 1 0... 0 1110 $ # 101 g t Index BsePos Offset Op FM-index I d postvený pro řetěze změn d + ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 19/27
BIO-FMI l l { }} {{ }} {{ }} {{ }} { l l p p 1 p 2 p 3 p 4 p 1 výskyty: t 0 : i 101,i 102,i 103,i 104,... t 1 : i 111,i 112,i 113,... t 2 : i 121,i 122,i 123,.... p 2 výskyty: t 0 : i 201,i 202,i 203,i 204,... t 1 : i 211,i 212,i 213,... t 2 : i 221,i 222,i 223,..... skládání výskytu vzorku p z výskytů jeho částí p 1,p 2,... ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 20/27
BIO-FMI Experimenty File s001 s005 m 5 10 20 5 10 20 l 5 5 10 10 20 5 5 10 10 20 BIO-FMI RLCSA LZ77 LZ-End 2.26 % 2.26 % 2.99 % 2.99 % 5.08 % 6.01 % 6.01 % 8.69 % 8.69 % 14.15 % 2.56 µs 993.88 µs 3.80 µs 28.97 µs 25.77 µs 2.37 µs 956.41 µs 3.71 µs 30.83 µs 25.94 µs 6.38 % 6.38 % 6.38 % 9.32 % 9.32 % 9.32 % 13.83 µs 12.71 µs 18.26 µs 19.83 µs 22.78 µs 23.80 µs 3.47 % 3.47 % 3.47 % 8.18 % 8.18 % 8.18 % 133.96 µs 156.16 µs 164.95 µs 82.10 µs 122.85 µs 166.67 µs 6.19 % 6.19 % 6.19 % 16.01 % 16.01 % 16.01 % 33.60 µs 44.41 µs 154.64 µs 44.00 µs 83.22 µs 156.25 µs Kompresní poměr čsy nlezení pro soubory s001 s005 (prvděpodobnost změny mezi t i t 0 je 0,1 % respektive 0,5 %). Intel R Core TM 2 Duo CPU T6600 2.20 GHz, 4 GB RAM dlší utoindexy:rlcsa [Mäkinen, Nvrro, Sirén, Välimäki, 2010],LZ77 self-index [Kreft, Nvrro, 2011] ndlz-end self-index [Kreft, 2011] ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 21/27
Kompktní sufixový strom pro vrie vstup: t 0 =bbbb# t 1 =bbbbb$ řetěze s vriemi: t 0+1 =b(bb/bbb)b# sestrojíme kompktní sufixový strom pro řetěze s vriemi t 0+1 ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 22/27
Kompktní sufixový strom pro vrie t 0+1 =b(bb/bbb)b# čs vyhledání: O(m+o(p)), kde o(p) = počet výskytů pmět : O(n+l d +l 1 ), kde l d je součet délek odlišnýh segmentů l 1 je součet některýh společnýh segmentů ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 23/27
Stringologie přibližné vyhledávání Výskyty vzorku p v textu t mohou obshovt nějkou hybu. Vzdálenost dvou řetězů u,v Σ = minimální počet editčníh operí, které jsou zpotřebí pro převedení řetěze u n řetěze v Hmmingov vzdálenost: substitue Levenshteinov vzdálenost: substitue, vložení odstrnění Dmeruov vzdálenost: substitue, vložení, odstrnění trnspozie vzdálenost indel: vložení odstrnění ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 24/27
Stringologie neurčité řetěze neurčitý symbol zstupuje víe než jeden symbol zákldní beedy. rozšíření don t re symbolu příkld: zákldní beed Σ = {,, g, t} rozšířená beed Σ = 2 Σ \{ } H = {,,t} neurčitý řetěze řetěze obshujíí neurčité symboly minokyselin isoleuinth ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 25/27
Protein Biologie neurčité řetěze kódován minokyselinmi minokyselin kódovná trojií nukledotidů 20 minokyselin T C A G T TTT fenyllnin TCT serin TAT tyrosin TGT ystein TTC fenyllnin TCC serin TAC tyrosin TGC ystein TTA leuin TCA serin TAA stop TGA stop TTG leuin TCG serin TAG stop TGG tryptofn C CTT leuin CCT prolin CAT histidin CGT rginin CTC leuin CCC prolin CAC histidin CGC rginin CTA leuin CCA prolin CAA glutmin CGA rginin CTG leuin CCG prolin CAG glutmin CGG rginin A ATT isoleuin ACT treonin AAT sprgin AGT serin ATC isoleuin ACC treonin AAC sprgin AGC serin ATA isoleuin ACA treonin AAA lysin AGA rginin ATG metionin ACG treonin AAG lysin AGG rginin G GTT vlin GCT lnin GAT kys. sprgová GGT glyin GTC vlin GCC lnin GAC kys. sprgová GGC glyin GTA vlin GCA lnin GAA kys. glutmová GGA glyin GTG vlin GCG lnin GAG kys. glutmová GGG glyin ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 26/27
Výsledky: Závěr výhled do budoun BIO-FMI: kompresní poměr ž 2,26 %, velmi ryhlé vyhledávání, s rostouí délkou vzorku efektivit klesá KSS: ryhlost vyhledávání neklesá s rostouí délkou vzorku, ztím není prktiká implemente Výhled do budoun: prozkoumt možnosti neurčitýh řetězů přibližného vyhledávání prktiké nszení v používnýh systémeh ENBIK 2014, 10. 5. 2014 J. Holub: Autoindex nd DNA sekvenemi p. 27/27