VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ



Podobné dokumenty
Autoindex nad DNA sekvencemi

Automaty a gramatiky(bi-aag)

Datamining a AA (Above Average) kvantifikátor

SCIENTIFIC REFLECTION OF NEW TRENDS IN MANAGEMENT

Definice. Necht M = (Q, T, δ, q 0, F ) je konečný automat. Dvojici (q, w) Q T nazveme konfigurací konečného automatu M.

10. Suffixové stromy

APLIKACE METODY RIPRAN V SOFTWAROVÉM INŽENÝRSTVÍ

SYLABUS MODULU UPLATNĚNÍ NA TRHU PRÁCE DÍLČÍ ČÁST II BAKALÁŘSKÝ SEMINÁŘ + PŘÍPRAVA NA PRAXI. František Prášek

Formální jazyky. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 6. března / 48

Souhrn základních výpočetních postupů v Excelu probíraných v AVT listopad r r. . b = A

Základy teorie matic

Zavedení a vlastnosti reálných čísel PŘIROZENÁ, CELÁ A RACIONÁLNÍ ČÍSLA

METODICKÉ LISTY Z MATEMATIKY pro gymnázia a základní vzdělávání

Vícebytová celočíselná aritmetika

Teorie jazyků a automatů

P2 Číselné soustavy, jejich převody a operace v čís. soustavách

Základy algoritmizace. Pattern matching

1 i= VLIV ZMĚN FYZIKÁLNÍCH PARAMETRŮ FLUIDNÍCH VRSTEV NA CHARAKTERISTIKY TLAKOVÝCH FLUKTUACÍ. OTAKAR TRNKA a MILOSLAV HARTMAN. i M

4. přednáška 22. října Úplné metrické prostory. Metrický prostor (M, d) je úplný, když každá cauchyovská posloupnost bodů v M konverguje.

2.3. DETERMINANTY MATIC

Matice. a B =...,...,...,...,..., prvků z tělesa T (tímto. Definice: Soubor A = ( a. ...,..., ra

Automaty a gramatiky

Obecně: K dané funkci f hledáme funkci ϕ z dané množiny funkcí M, pro kterou v daných bodech x 0 < x 1 <... < x n. (δ ij... Kroneckerovo delta) (4)

( a, { } Intervaly. Předpoklady: , , , Problém zapíšeme snadno i výčtem: { 2;3; 4;5}?

Návrh základních kombinačních obvodů: dekodér, enkodér, multiplexor, demultiplexor

Psychologická metodologie. NMgr. obor Psychologie

a i,n+1 Maticový počet základní pojmy Matice je obdélníkové schéma tvaru a 11

Je regulární? Pokud ne, na regulární ji upravte. V původní a nové gramatice odvod te řetěz 1111.

Automaty a gramatiky. Úvod do formáln. lních gramatik. Roman Barták, KTIML. Příklady gramatik

Příručka k portálu. Katalog sociálních služeb v Ústeckém kraji. socialnisluzby.kr-ustecky.cz

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Automaty a gramatiky. Organizační záležitosti. Přednáška: na webu ( Proč chodit na přednášku?

LINEÁRNÍ DIFERENCIÁLNÍ ROVNICE 2.ŘÁDU

Svazy. Def Svaz je algebra S ( M ;, ) = se dvěma binárními operacemi taková, že pro libovolné prvky c M platí následující podmínky axiomy svazu:

NAŘÍZENÍ KOMISE V PŘENESENÉ PRAVOMOCI (EU) č. /.. ze dne ,

Z anglického slova market neboli trh a koncovky -ing, která v angličtině vyjadřuje děj, pohyb, akci.

Formální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 7. března / 46

OBECNÝ URČITÝ INTEGRÁL

2. Funkční řady Studijní text. V předcházející kapitole jsme uvažovali řady, jejichž členy byla reálná čísla. Nyní se budeme zabývat studiem

Petriho sítě PES 2007/2008. Doc. Ing. Tomáš Vojnar, Ph.D.

Až dosud jsme se zabývali většinou reálnými posloupnostmi, tedy zobrazeními s definičním

Nařízení Evropského parlamentu a Rady (ES) č. 1935/2004

DERIVACE A INTEGRÁLY VE FYZICE

6. Zobrazení δ: (a) δ(q 0, x) obsahuje x i, x i Z. (b) δ(x i, y) obsahuje y j, x i y j P 7. Množina F je množinou koncových stavů.

Virtuální svět genetiky 1

SEMINÁŘ I Teorie absolutních a komparativních výhod

5.1.5 Základní vztahy mezi body přímkami a rovinami

Křivkový integrál funkce

Minimalizace automatů. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 28. března / 31

8 Mongeovo promítání

2002 Katedra obecné elektrotechniky FEI VŠB-TU Ostrava Ing.Stanislav Kocman

Dobývání znalostí z databází (MI-KDD) Přednáška číslo 4 Asociační pravidla

Datové struktury 2: Rozptylovací tabulky

2.5.4 Věta. Každý jazyk reprezentovaný regulárním výrazem je regulárním jazykem.

ZÁKLADY. y 1 + y 2 dx a. kde y je hledanou funkcí proměnné x.

( a) Okolí bodu

V předchozích kapitolách byla popsána inverzní operace k derivování. Zatím nebylo jasné, k čemu tento nástroj slouží.

MINISTERSTVO PRO MÍSTNÍ ROZVOJ Národní orgán pro koordinaci POKYN PRO TVORBU A OBSAH ZPRÁVY O REALIZACI OPERAČNÍHO PROGRAMU PRO MONITOROVACÍ VÝBOR

( t) ( t) ( t) Nerovnice pro polorovinu. Předpoklady: 7306

13. Exponenciální a logaritmická funkce

Přednáška 9: Limita a spojitost

1.1 Numerické integrování

AUTOMATY VE VYHLEDÁVÁNI cvičeni

Jak již bylo uvedeno v předcházející kapitole, můžeme při výpočtu určitých integrálů ze složitějších funkcí postupovat v zásadě dvěma způsoby:

NEWTONŮV INTEGRÁL. V předchozích kapitolách byla popsána inverzní operace k derivování. Zatím nebylo jasné, k čemu tento nástroj slouží.

jsou všechna reálná čísla x, pro která platí: + x 6

STATISTICKÝCH METOD PRO SLEDOVÁNÍ JAKOSTNÍHO PROFILU KOMERČNÍ PŠENICE. IVAN ŠVEC a, MARIE HRUŠKOVÁ a a ONDŘEJ JIRSA b. Experimentální část

SLEDOVÁNÍ VLIVU KONCENTRACE ALKOHOLŮ NA ODEZVU MĚŘENOU METODOU PLASMONOVÉ REZONANCE

Hlavní body - magnetismus

M - Příprava na 3. zápočtový test pro třídu 2D

3. ROVNICE A NEROVNICE Lineární rovnice Kvadratické rovnice Rovnice s absolutní hodnotou Iracionální rovnice 90

GENEROVÁNÍ VÍCEKANÁLOVÉHO DITHERU

Suffixové stromy. Osnova:

Vysoká škola báňská Technická univerzita Ostrava TEORIE SYSTÉMŮ. učební text. Zora Jančíková

Diferenciální počet. Spojitost funkce

INTEGRACE KOMPLEXNÍ FUNKCE KŘIVKOVÝ INTEGRÁL

Vyhledávání v textu. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

(Text s významem pro EHP)

LDF MENDELU. Simona Fišnarová (MENDELU) Určitý integrál ZVMT lesnictví 1 / 26

Asociační pravidla. Úloha hledání souvislostí mezi hodnotami atributů. {párky, hořčice} {rohlíky} Ant Suc,

APLIKACE DLOUHODOBÉHO SLEDOVÁNÍ STAVEB PŘI OCEŇOVÁNÍ NEMOVITOSTÍ

Rentgenová strukturní analýza

Smart Factory and Industrial IoT Solutions Firemní profil

Studijní informační systém. Elektronický zápis předmětů a rozvrhu. I. Postup zápisu předmětů a rozvrhu

Obr. 1: Optická lavice s příslušenstvím při měření přímou metodou. 2. Určení ohniskové vzdálenosti spojky Besselovou metodou

3 Algebraické výrazy. 3.1 Mnohočleny Mnohočleny jsou zvláštním případem výrazů. Mnohočlen (polynom) proměnné je výraz tvaru

PRAVDĚPODOBNOST A STATISTIKA. Náhodná proměnná Vybraná spojitá rozdělení

teorie elektronických obvodů Jiří Petržela zpětná vazba, stabilita a oscilace

Seznámíte se s další aplikací určitého integrálu výpočtem obsahu pláště rotačního tělesa.

Grant Výzkum e-learningu - učitelé

JAN VÁLEK, PETR SLÁDEK Katedra fyziky, chemie a odborného vzdělávání, Pedagogická fakulta, Masarykova univerzita, Poříčí 7, Brno

Metodický koncept k efektivní podpoře klíčových odborných kompetencí s využitím cizího jazyka ATCZ62 - CLIL jako výuková strategie na vysoké škole

STANOVENÍ POMĚRNÉ PLOŠNÉ DRSNOSTI POVRCHU

Ohýbaný nosník - napětí

RYCHLÉ ELEKTROFORETICKÉ STANOVENÍ MOČOVÉ KYSELINY V ALANTOICKÉ TEKUTINĚ S DÁVKOVÁNÍM Z KRÁTKÉHO KONCE KAPILÁRY. PETR TŮMA a EVA SAMCOVÁ.

Úvod do Teoretické Informatiky ( UTI)

Dodatek ŠVP č. j. ZŠMA/471/16/Po-2 platný od Zeměpis

Lineární nerovnice a jejich soustavy

integrovat. Obecně lze ale říct, že pokud existuje určitý integrál funkce podle různých definic, má pro všechny takové definice stejnou hodnotu.

1. LINEÁRNÍ ALGEBRA 1.1. Matice

Transkript:

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fkult informčních technologií doc. Ing. Jn Holub, Ph.D. Stringologie, komprese dt biologie Stringology, dt compression nd biology TEZE PŘEDNÁŠKY K PROFESORSKÉMU JMENOVACÍMU ŘÍZENÍ V OBORU Výpočetní technik informtik Brno 2014

KLÍČOVÁ SLOVA Komprese dt, stringologie, vyhledávání, úplný index, utoindex, DNA, minokyselin, bioinformtik. KEYWORDS Dt compression, stringology, pttern mtching, fulltext index, self-index, DNA, minocid, bioinformtics. Jn Holub, 2014 ISBN 978-80-214-4917-6 ISSN 1213-418X

Obsh Předstvení utor 4 1 Úvod 5 2 Stringologie 7 2.1 Přesné vyhledávání............................... 7 2.2 Úplný index................................... 9 2.3 Přibližné vyhledávání.............................. 10 2.4 Autoindex.................................... 11 2.5 Dlší problémy stringologie.......................... 12 2.6 Problémy stringologie řešené utorem jeho týmem.............. 13 2.6.1 Algoritmy přesného vyhledávání.................... 13 2.6.2 Simulce NKA pro přibližné vyhledávání............... 13 2.6.3 Neurčité řetězce............................ 13 2.6.4 Implementce kompktního sufixového utomtu........... 13 3 Komprese dt 14 3.1 Sttistické metody................................ 14 3.2 Slovníkové metody............................... 15 3.3 Kontextové metody............................... 15 3.4 Problémy komprese dt řešené utorem jeho týmem............. 16 3.4.1 Komprese přirozeného textu...................... 16 3.4.2 Porovnání kompresních metod..................... 17 4 Biologie 18 4.1 Sekvenování genomů.............................. 18 4.2 Komprese podobných sekvencí......................... 19 4.3 Problémy bioinformtiky řešené utorem jeho týmem............ 19 4.3.1 Vyhledávání v genomech........................ 19 4.3.2 Komprese podobných sekvencí.................... 20 5 Závěr 22 Litertur 23 Abstrkt 31 Abstrct 31 3

Předstvení utor Jn Holub (nrozen 26. 9. 1971 v Prze) vystudovl Fkultu elektrotechnickou (FEL) ČVUT v Prze, obor Výpočetní technik (1990 1996). Poté pokrčovl v interní formě doktorského studi n téže fkultě v roce 2000 získl titul Ph.D. v oboru Informtik výpočetní technik. V roce 1999 nstoupil n ktedru počítčů ČVUT FEL jko odborný sistent. V roce 2008 se hbilitovl n ČVUT FEL v oboru Výpočetní technik informtik. V roce 2009, součsně se vznikem Fkulty informčních technologií (FIT) ČVUT v Prze, byl jmenován vedoucím ktedry teoretické informtiky (2009 2012) zároveň i proděknem pro vnější vzthy (2009 2012) n nově vzniklé fkultě. Absolvovl několik odborných stáží v zhrničí. Jednlo se zejmén o dvě stáže celkem n 3 měsíce n Université de Mrne-l-Vllée, Frncie, v letech 1998 1999, dvoutýdenní stáž n School of Computing, Curtin University, Perth, Austrálie, v roce 1999, roční postdoktorskou stáž n McMster University, Hmilton, Ontrio, Knd, v letech 2002 2003 měsíční stáž n McMster University, Hmilton, Ontrio, Knd, v roce 2007. Odbornými zájmy jsou teorie konečných utomtů, stringologie komprese dt. Jn Holub je utorem nebo spoluutorem více než 28 recenzovných konferenčních článků, více než 10 článků v čsopisech jedné kpitoly v knize. Jeho práce mjí více než 100 citcí (bez utocitcí) ve Web of Science společnosti Thomson Reuters dlších 43 ve Scopusu. Byl 4 krát zvným řečníkem n konferencích workshopech. Ztím působil 15 krát jko editor sborníku mezinárodní konference, 9 krát jko editor speciálního čísl zhrničního čsopisu (v 7 přípdech impktovného). Vedl jednu bklářskou 20 diplomových prcí, z nichž 6 získlo cenu děkn z vynikjící diplomovou práci. Jn Holub vede vědeckouvýzkumnou skupinu Prgue Stringology Club n FIT ČVUT v Prze. Recenzovl mnoho článků pro mezinárodní čsopisy konference le tké řdu projektů českých i zhrničních grntových gentur. Sám získl 4 národní (FRVŠ, GAČR) jeden zhrniční grnt (NSERC, Knd). Po dvě funkční období (2009 2011, 2011 2013) působil v hodnotícím pnelu P202 Informtik Grntové gentury ČR. Jn Holub kždoročně od jejího vzniku v roce 1996 spolupořádá mezinárodní konferenci Prgue Stringology Conference (od roku 2006 jko předsed progrmového výboru), která je indexován ve Scopusu Web of Science společnosti Thomson Reuters. Dále byl členem 17 progrmových výborů dlších mezinárodních konferencí (npř. CIAA, CPM, FSMNLP, IWOCA, SPIRE), z toho jednou jko předsed (CIAA). V letech 2010 2012 působil jko člen poroty v letech 2013 2014 jko předsed soutěže Czech ACM Chpter & Slovki ACM Chpter Student Project of the Yer (ACM SPY). Jn Holub je v součsné době grntem oboru Systémové progrmování v mgisterském studijním progrmu Informtik n FIT ČVUT v Prze, přednášejícím dvou bklářských, dvou mgisterských jednoho doktorndského předmětu. Jn Holub je společně s doc. Dnem Svozilem z VŠCHT v Prze tvůrcem meziuniverzitního bklářského i mgisterského studijního oboru Bioinformtik, který byl kreditován v září 2013 bude vyučován ve spolupráci VŠCHT, FIT ČVUT v Prze AV ČR. Dále je členem Vědecké rdy FIT ČVUT v Prze, místopředsedou Oborové rdy doktorského studijního progrmu n FIT ČVUT v Prze člen Rdy doktorského studijního oboru 4I2 Softwrové systémy n MFF UK v Prze, členem Etické komise ČVUT v Prze. 4

1 Úvod Stringologie je počítčová věd o zprcování řetězců posloupností symbolů. Ačkoliv první problémy v této oblsti zčly být řešeny v sedmdesátých letech dvcátého století, pojem stringologie zvedl Zvi Glil ž v roce 1984 n workshopu NATO Advnced Reserch Workshop on Combintoril Algorithms on Word [41]. První řešené úlohy se týkly nlezení vzorku v textu. V textech se objevují tké chyby, tkže dlší plikcí bylo přibližné vyhledávání, kdy se hledjí výskyty vzorku s chybou. Stringologie se pk vyvíjel směrem k úplným indexům, různým definicím chyb vyhledávání prvidelností v textech. Komprese dt je počítčová věd o úsporném ukládání dt. První metod se objevil už v roce 1949, většího rozmchu se všk dočkl ž v sedmdesátých letech dvcátého století. První metody (sttistické) uvžovly pouze sttistické rozdělení jednotlivých symbolů. Nejčstějším symbolům byly přidělovány nejkrtší kódy. Dlší metody (slovníkové) využívly opkování částí textu. Opkující se části textu nhrzovly ukzteli n předchozí výskyty. Kontextové metody využívjí kontextu k předvídání následujícího symbolu. Nvíc umožnily i fultextové vyhledávání v komprimovných dtech. Stringologie Komprese dt přesné vyhledávání přibližné vyhledávání indexování neurčité řetězce sttistické metody slovníkové metody kontextové metody komprese přirozeného jzyk Biologie sekvence genomu sestvení genomu Bioinformtik ukládání genomů vyhledávání v genomech fylogenetická nlýz Obrázek 1: Vzájemný vzth Stringologie, Komprese dt Biologie Biologie je věd zkoumjící veškeré orgnismy od úrovně subcelulární ž po úroveň populcí, společenstev ekosystémů. Aplikcí informtiky v molekulární biologii se zbývá bioinformtik. Pojem bioinformtik byl zveden již v polovině osmdesátých let dvcátého století. Tehdy všk byl definice tohoto pojmu velmi obecná. Jedním z hlvních úkolů bio- 5

informtiky je zprcování nlýz DNA. Toto tém je rozděleno n dvě hlvní části [90]: 1. funkční genomik, která se zbývá určením role sekvence v životě buňky; 2. komprtivní genomik, ve které jsou sekvence různých orgnismů, le i jednotlivců jednoho druhu, porovnávány k určení původů korelcí nemocí. Oblsti stringologie, komprese dt biologie se vyvíjely poměrně nezávisle. Postupem čsu se zčly k sobě přibližovt oblst stringologie s hlvním úkolem vyhledávt komprese dt s hlvním úkolem dt komprimovt, efektivně ukládt. Dále úkoly ze stringologie ncházely upltnění v bioinformtice nebo nopk bioinformtik vytvářel úkoly pro stringologii. Poslední vývoj v oblsti biologie, kde nové technologie produkují obrovská množství dt, ve kterých je potřeb vyhledávt, volá po společné plikci stringologie komprese dt v oblsti bioinformtiky. Získná dt je nutné především efektivně uložit vyhledávt v nich. Vzby mezi těmito obory jsou znázorněny n obrázku 1. Tento text obshuje stručný přehled zákldních lgoritmů dtových struktur v oblsti stringologie (v kpitole 2) komprese dt (v kpitole 3). Aplikci stringologie komprese dt v biologii pk popisuje kpitol 4. 6

2 Stringologie Cílem této kpitoly je předstvit typické úlohy stringologie, jko je přesné přibližné vyhledávání, vytváření úplného indexu, komprimovného úplného indexu, či práce s neurčitými řetězci. Sekce 2.6 pk shrnuje práci v oblsti stringologie s účstí utor tohoto textu. 2.1 Přesné vyhledávání První úlohou stringologie bylo nlezení výskytu vzorku p = p[1..m] délky m v textu t = t[1..n] délky n, kde p i t jsou řetězce nd becedouσ(znčíme p, t Σ ). Problém je možné řešit pomocí mnoh lgoritmů., g, t c c c 0 c c c g, t 1 2 3 g, t, g, t 4 5 g, t, g, t Obrázek 2: Deterministický konečný utomt pro vyhledání vzorku p = cc, Σ = {,c,g,t} Jedním z prvních řešení bylo použití deterministického konečného utomtu [3] (DKA, viz obrázek 2), který je definován jko uspořádná pětice M= (Q,Σ,δ, q 0, F), kde Q je konečná množin stvů,σje konečná vstupní beced,δ je přechodová funkce Q Σ Q, q 0 Q je počáteční stv F Q je množin koncových stvů. Tento utomt zprcovává vstupní text přechodem do koncového stvu hlásí jednotlivé výskyty vzorku p v textu t., g, t c c 0 1 2 3 4 5 Obrázek 3: KMP utomt pro vyhledání vzorku p=cc,σ={,c,g,t} (fil funkce f zobrzen tečkovnou čárou) Dlším velmi známý řešením je lgoritmus Knuth-Morris-Prtt [63] (KMP, viz obrázek 3). Tento utomt má nvíc definovnou tzv. fil funkci f, která se upltní v situci, kdy pro dný vstupní symbol není definován přechod v přechodové funkci δ. Výhodou utomtu KMP je, že má obě přechodové funkce δ i f prostorově nenáročné, potřebují pmět o velikosti jen O(m). DKA přitom vyžduje pro uložení přechodové funkce δ pmět o velikosti O(m Σ ). 7

Ob dv výše uvedené lgoritmy prcují v čseo(n), čili lineárním s délkou textu t. V průměru sublineárního čsu Ω(n/m) doshuje lgoritmus Boyer-Moore [18], prcující n principu protisměrného vyhledávání, kdy se vzorek k textu přikládá zlev doprv, le vzorek se s ním porovnává zprv dolev. V přípdě nlezení neshody mezi vzorkem textem, se vzorek posune doprv. Pro posun se využívjí funkce bd-chrcter shift good-suffix shift. Funkce bd-chrcter shift posouvá vzorek tk, by proti ktuálnímu symbolu v textu ležel nejprvější výskyt tohoto symbolu ve vzorku. Funkce good-suffix shift zse využívá informci o již porovnné příponě u vzorku posouvá vzorek tk, by výskyt u v textu ležel proti druhému výskytu u zprv ve vzorku. Algoritmus Boyer-Moore dl vzniknout celé tzv. rodině Boyer-Mooreových lgoritmů, npříkld [55, 102, 97, 59]. Dále byly tyto lgoritmy rozšířeny o možnost vyhledávt několik vzorků njednou. Rozšířením lgoritmu KMP vznikl lgoritmus Aho-Corsick [2] pro sousměrné vyhledávání více vzorků rozšířením lgoritmu Boyer-Moore vznikl lgoritmus Commentz-Wlter [28] pro protisměrné vyhledávání více vzorků. Výše uvedené lgoritmy si předzprcovly vzorek poté procházely textem. Nivní lgoritmus vzorek nepředzprcovává. Pouze přikládá vzorek k textu porovnává s textem. Při neshodě posune vzorek o jednu pozici znovu porovnává. Tento lgoritmus prcuje v čse O(nm), což je v podsttě chování lgoritmu Boyer-Moore v nejhorším přípdě pro ptologický vzorek text. sufixový strom c minimlizce c c c zhutnění sufixový utomt kompktní sufixový strom c c c c c c c kompktní sufixový utomt zhutnění c, c minimlizce c c Obrázek 4: Vzthy mezi sufixovým stromem, kompktním sufixovým stromem, sufixovým utomtem kompktním sufixovým utomtem ( p = cc) 8

2.2 Úplný index Dlším přístupem k přesnému vyhledávání v textu je předzprcování smotného textu, kdy se nd textem t vytvoří úplný index vzorek plze pk vyhledt v čseo(m), čili nezávisle n délce textu t. Pro tyto účely byl zkonstruován sufixový strom [40] (nglicky suffix trie). Sufixový strom (viz obrázek 4) je deterministický konečný utomt, který přijímá všechny přípony (sufixy) dného textu. Nvíc dokáže rozpoznt i všechny podřetězce dného textu. Pokud pro řetězec u existuje cest z počátečního stvu do nějkého stvu v sufixovém utomtu, pk je u podřetězcem textu t. Jestliže tto cest končí v koncovém stvu, pk je u nvíc i příponou textu t. Pokud sufixový strom zminimlizujeme 1, získáme sufixový utomt [16, 15, 29, 12] (nglicky suffix utomton nebo DAWG 2 ; viz obrázek 4), což je minimální deterministický utomt přijímjící všechny přípony textu t. Pokud n druhou strnu tzv. zhutníme sufixový strom, získáme kompktní sufixový strom [100, 73, 99] (nglicky suffix tree; viz obrázek 4), ve kterém jsou přechody ohodnoceny řetězci místo symbolů. Při procesu zhutnění (nglicky compction) se kždá posloupnost přechodů, která se nevětví neobshuje koncové stvy, nhrdí jedním přechodem ohodnoceným řetězcem složeným ze symbolů ohodnocující původní posloupnost přechodů. Procesem minimlizce sufixového utomtu nebo procesem zhutnění kompktního sufixového stromu získáme kompktní sufixový utomt [17, 31, 61, 50] (nglicky compct suffix utomton nebo CDAWG 3 ; viz obrázek 4). c c 0 1 2 3 4 c 5 Obrázek 5: Fktorový orcle pro text t = cc Pokud bychom v sufixovém utomtu oznčili všechny stvy jko koncové eliminovli všechny stvy mimo tzv. páteř (nejdelší posloupnost přechodů), získáme fktorový orcle [4] (nglicky fctor orcle; viz obrázek 5). Jelikož tento utomt má méně stvů než minimální deterministický utomt přijímjící všechny podřetězce (neboli fktory) textu t, něco ztrácíme. Tím je odpověd p je podřetězec textu t. Fktorový orcle přijímá všechny podřetězce textu t, le tké dlší řetězce, jejichž množin nštěstí není velká. Pokud fktorový orcle odpoví p není podřetězec textu t, můžeme se n tuto odpověd spolehnout. Pokud nám odpoví p prvděpodobně je podřetězec textu t, musíme tuto hypotézu ověřit. Fktorový orcle lze tedy použít jko filtr, který nám propustí mlé procento flešných 1 2 3 4 5 6 t c c $ SA 6 5 2 3 4 1 $ c c $ c c $ $ c $ $ Tbulk 1: Sufixové pole pro text t=cc výskytů. Toto je trend v nejnovějších metodách pro přesné vyhledávání, kdy je n celý text použit velmi jednoduchý rychlý stroj, jehož výsledky je potřeb ověřit. 1 Jedná se o stndrdní minimlizci deterministického konečného utomtu. 2 DAWG znmená Directed Acyclic Word Grph. 3 CDAWG znmená Compct Directed Acyclic Word Grph. 9

Sufixové pole [71] (nglicky suffix rry; viz řádek SA v tbulce 1) pro text t je pole indexů identifikujících všechny přípony textu t seřzené lexikogrficky. Sufixové pole lze sice vytvořit v čse O(n), všk podle [89] je v prxi nejrychlejším lgoritmem [72] běžícím v čse O(n 2 log n). Indexovcí utomty hrjí svoji roli i ve vyhledávání, kdy předzprcujeme text t. V lgoritmu BDM (Bckwrd DAWG Mtching) [30] je vytvořen sufixový utomt pro reverzovný vzorek p. Tento utomt je použit místo porovnávání vzorku textu v lgoritmu Boyer-Moore. Dokáže njít předponu textu tím identifikovt mximální možný posun vzorku textem. Metod BNDM (Bckwrd Nondeterministic DAWG Mtching) [81] používá nedeterministickou verzi sufixového utomtu jeho simulci pomocí bitového prlelismu [34, 10, 47]. Metod BOM (Bckwrd Orcle Mtching) [4] pk využívá fktorový orcle. Metody zložené n protisměrném vyhledávání jsou nejrychlejšími metodmi [35] pro přesné vyhledávání. čs vyhledání čs konstrukce mx. velikost sufixový strom O(m) O(n 2 ) n 2 (kompktní) sufixový strom O(m) O(n log Σ ) 2n sufixový utomt O(m) O(n log Σ ) 2n 1 (kompktní) sufixový utomt O(m) O(n log Σ ) n + 1 fktorový orcle O(m) O(n log Σ ) n + 1 sufixové pole O(m + log n) O(n 2 log n) n Tbulk 2: Zákldní chrkteristiky indexovcích struktur Tbulk 2 ukzuje přehled indexovcích struktur s čsy vyhledávání, konstrukce mximální velikostí, která udává mximální počet stvů utomtu nebo mximální velikost sufixového pole. 2.3 Přibližné vyhledávání Protikldem k přesnému vyhledávání je přibližné vyhledávání, kdy nlezené výskyty vzorku p v textu t mohou obshovt nějkou chybu. Odlišnost od vzorku je dán editční vzdáleností, která je pro dv řetězce u, v Σ definován jko minimální počet editčních opercí, které jsou zpotřebí pro převedení řetězce u n řetězec v. Hmmingov vzdálenost [46] zná jen jednu operci, kterou je substituce, čili nhrzení symbolu jiným. Levenshteinov vzdálenost [69] nvíc uvžuje i operce vložení symbolu odstrnění symbolu. Dmeruov vzdálenost [32] k výše uvedeným opercím přidává operci trnspozice, při které jsou dv sousední symboly prohozeny přičemž kždý symbol se může zúčstnit mximálně jedné operce trnspozice. Vzdálenost indel (z nglického insert delete) povoluje pouze operce vložení symbolu odstrnění symbolu. Při přibližném vyhledávání je pro dný vzorek p vytvořen vyhledávcí utomt [75, 76], který reprezentuje všechny řetězce v povolené vzdálenosti od vzorku p. Tento utomt dostne jko vstup text t nlezne v něm všechny přibližné výskyty vzorku p. Jelikož je tento utomt nedeterministický determinizce by vedl n příliš velký deterministický konečný utomt, používjí se simulční metody nzvné bitový prlelismus [34, 10, 47] dynmické progrmování [94, 98, 48]. 10

vzorek není předzprcován je předzprcován text není předzprcován je předzprcován nivní lgoritmus (kompktní) sufixový strom, (kompktní) sufixový utomt, fktorový orcle, sufixové pole DKA, KMP, BM,... utomt průniku Tbulk 3: Zákldní klsifikce lgoritmů podle předzprcování vzorku /nebo textu Pokud chceme zkrátit čs vyhledávání, který je dán délkou textu t, můžeme jko v přípdě přesného vyhledávání předzprcovt text t, čili vytvořit indexovcí utomt pro text t. Avšk místo předložení vzorku p tomuto utomtu, což by vedlo k nlezení jen přesných výskytů vzorku p, použijeme vyhledávcí utomt vytvořený pro vzorek p reprezentující množinu řetězců v povolené vzdálenosti od vzorku p. Z těchto dvou utomtů vytvoříme utomt průniku [51], který přijímá průnik jzyků původních utomtů tím získáme všechny přibližné výskyty vzorku p v textu t. V tbulce 3 je uveden souhrn popisovných metod podle toho, zd předzprcovávjí vzorek /nebo text. 2.4 Autoindex V posledních letech je snh zkonstruovt pro text t dtovou strukturu pro indexování, která by byl prostorově méně náročná než předchozí struktury. Byl zveden pojem zhuštěný index [80] (nglicky succinct index), který je co do velikosti úměrný délce textu t (do délky 2n). Dále byl zveden pojem utoindex [80] (nglicky self-index), což je zhuštěný index schopný nhrdit původní text t. Kromě schopnosti vyhledávt totiž umožňuje efektivně zobrzit libovolný podřetězec textu t. Prvním utoindexem byl FM-Index [37], jehož zákldem je Burrows-Wheelerov trnsformce [22]. Tto trnsformce využívá sufixové pole umožňuje vyhledávt vzorek p v textu t zprv dolev. Dlším utoindexem je komprimovné sufixové pole [43, 93] (nglicky compressed suffix rry), které je komprimovnou formou sufixového pole [71]. Princip použití tohoto pole je stejný, jen přístup do pole je pomlejší. Autoindexy jsou postveny n implementcích opercí rnk select [62, 78, 25] prcujících v konstntním čse nd bitovým vektorem B. Výsledkem operce rnk b (B, i) je počet bitů b v bitovém vektoru B do pozice i. Výsledkem operce select b (B, i) je nopk pozice i-tého bitu b v bitovém vektoru B. Pokud chceme podobně prcovt s řetězcem vytvořeném nd větší než binární becedou, využíváme struktury zvné vlnkový strom [42] (nglicky wvelet tree; viz obrázek 6). Vlnkový strom má v kořeni celý text t, z nějž vytvoří řetězeccc obshující symboly z první poloviny becedy ({, c}) řetězec tgttt obshující symboly z druhé poloviny becedy ({g, t}). Celý proces pk pokrčuje rekurzivně dále směrem k listům, které odpovídjí jednotlivým symbolům becedy. Ve stromu jsou uloženy pouze bitové vektory indikující, do které poloviny becedy příslušný symbol řetězce ptří. Operce rnk select pk 11

c t g c t t t 0 0 1 1 0 0 1 0 0 1 1 {,c} {g,t} c c t g t t t 0 1 0 1 0 0 1 0 1 1 1 {} {c} {g} {t} c g t Obrázek 6: Vlnkový strom pro text t = ctgcttt prcují nd řetězci s becedou Σ, Σ > 2, v čse O(log Σ ), který je dán mximální hloubkou vlnkového stromu. 2.5 Dlší problémy stringologie Ve všech výše uvedených úlohách je vzorek i text jsně dán. Stringologie všk řeší i problémy, kdy vzorek je popsán svými vlstnostmi. Vzorek může být npříkld specifikován jko řetězec, který se v textu opkuje minimálně n krát. Vyhledávání opkujících se vzorků v textu je velmi důležité pro oblst komprese dt. Úloh tké může znít jko nlezení všech řetězců, které se ve stejném pořdí vyskytují ve všech textech z dné množiny [7]. Dlší dimenzí problémů je práce s řetězci, ve kterých jsou speciální symboly. Tk zvný neurčitý symbol [53] (nglicky indeterminte, degenerte nebo generlized) je symbol, který zstupuje více než jeden symbol zákldní becedy. Neurčitý symbol je zobecněním don t cre symbolu [39, 60], který zstupuje libovolný symbol becedy. Máme-li npř. zákldní becedu Σ={,c,g,t}, pk rozšířená becedσ = 2 Σ \{ } obshuje i neurčité symboly, reprezentující více než jednoprvkovou podmnožinu zákldní becedy Σ. Jedním tkovým symbolem může být symbol b={,c}, který reprezentuje dv symboly ze zákldní becedy. Důvodem může být, že při čtení (npříkld při OCR 4 ) textu není jsné, jestli dný symbol n dné pozici v řetězci bylneboc, nebo že pro ob symboly mjí v dné plikci stejný význm. Zjímvým problémem je i vyhledávání prmetrizovných řetězců [11, 6] (nglicky prmetrized string mtching). Mějme dvě disjunktní množiny Σ Π, které reprezentují becedu konstntních symbolů becedu prmetrových symbolů. Řetězec u (Π Σ) vytvořený nd těmito becedmi nzveme prmetrizovný řetězec neboli p-řetězec. Pro dv stejně dlouhé p-řetězce u v říkáme, že prmetrizovně souhlsí, pokud existuje bijektivní zobrzení f :Π Π, které převede u n v. Necht Σ={A,B,C,D},Π={e,g,h}, u= AegeeBChggDe v=aghggbcehhdg, pk u v prmetrizovně souhlsí ( f (e)=g, f (g)=h, f (h)=e ). Tento problém nchází upltnění v oblstech jko udržování zdrojových kódů detekce plgiátů. 4 Opticl chrcter recognition 12

2.6 Problémy stringologie řešené utorem jeho týmem 2.6.1 Algoritmy přesného vyhledávání V sekci 2.2 byly zmíněny nejrychlejší metody pro přesné vyhledávání, které jsou zloženy n sufixovém utomtu. Autor tohoto textu se podílel n vývoji dlších metod pro přesné vyhledávání [35]: Byl nvržen nová metod FNDM (Forwrd Nondeterministic DAWG Mtching), která kombinuje sufixový utomt pro dopředné vyhledávání bd-chrcter shift. Metod BNDMq vylepšuje metodu BNDM [81]. Metod SBNDMq vylepšuje metodu SBNDM [83]. Metod FNDMq vylepšuje metodu FNDM. Vylepšení spočívá v použití q-grmů, čili řetězců o délce q, místo jednotlivých symbolů. 2.6.2 Simulce NKA pro přibližné vyhledávání V oblsti přibližného vyhledávání (sekce 2.3) utor tohoto textu ukázl [47, 48], že existující lgoritmy pro přibližné vyhledávání bitový prlelismus [34, 10] dynmické progrmování [94, 98] simulují běh nedeterministického konečného utomtu pro přibližné vyhledávání. Dále ukázl zákldní simulční metodu, ze které obě výše zmíněné metody vycházejí. Způsob simulce NKA pomocí bitového prlelismu dynmického progrmování umožňuje rychlé nlezení řešení pro příbuzné problémy, jko přípdě Dmeruovy vzdálenosti. 2.6.3 Neurčité řetězce V oblsti neurčitých řetězců (sekce 2.5) utor tohoto textu určil zákldní vlstnosti neurčitých řetězců [53] nvrhl lgoritmus n výpočet border rry, což je zákldní struktur použitá v lgoritmech vyhledávání jko je KMP [63] BM [18]. Dále pk nvrhl efektivní lgoritmus [54] pro vyhledávání v neurčitých řetězcích. 2.6.4 Implementce kompktního sufixového utomtu V oblsti úplného indexu (sekce 2.2) utor vytvořil velmi efektivní implementci kompktního sufixového utomtu [50]. Zde byly stvy utomtu rozděleny n 4 třídy podle mximální délky ohodnocení odchozího přechodu. Kždá tková tříd byl zkódován speciálním způsobem, čímž vznikl pmět ově velmi efektivní implementce ve formě bitového proudu. Ztímco předchozí známá implementce potřebovl cc 10 15 bytů n jeden znk vstupního textu, tto implementce potřebuje jen 1,5 3,02 bytů n jeden znk vstupního textu. U DNA sekvencí to bylo snížení z 23,55 n 5,24 bytů n jeden znk vstupního textu. 13

3 Komprese dt Zákldem komprese je odstrnění redundnce (ndbytečnosti) z dt. Existuje mnoho způsobů, jk toho dosáhnout. Sttistické metody uvžují pouze frekvence symbolů v textu. Slovníkové metody nhrzují celé řetězce ukzteli do slovníku vytvořeného z již zkomprimovné části textu. Kontextové metody využívjí znlosti kontextu k predikci následujícího symbolu. U metod komprese dt se v posledních letech přidává podpor opercí vyhledávání v komprimovných dtech. Ztímco u sttistických metod se jedná jen o lineární procházení zkomprimovného textu, u slovníkových hlvně u kontextových metod se jedná o tvorbu úplného indexu. Cílem této kpitoly je uvést typické lgoritmy komprese v sekci 3.4 pk předstvit práci utor v oblsti komprese dt. 3.1 Sttistické metody 1 0 2 0 1 4 1 0 2 0 1 0 10 13 1 0 1 6 0 1 1 1 1 3 3 3 3 7 23 1 6 0 1 frekvence: symbol: 1 1 1 1 3 3 3 3 7 l d h n i o t e Obrázek 7: Huffmnův kódovcí strom První metody komprese dt, Shnnon-Fnovo kódování [36] Huffmnovo kódování [58] využívjí pouze znlosti frekvence symbolů v textu. Nejčstější symboly jsou kódovány krtšími kódy než méně čsté symboly. N obrázku 7 je vidět Huffmnův kódovcí strom zkonstruovný pro symbolyσ={,d,e,h,i,l,n,o,t} podle jejich frekvencí. Cest z kořene stromu k listu udává kód symbolu v listu. Nejčstějším symbolem je symbol e má tké nejkrtší kód 11. N druhou strnu jedním z nejméně čstých symbolů je symbold, který má kód 0001. Vzth mezi minimální délkou kódových slov jednotlivých symbolů jejich prvděpodobností je dán Krft-McMillnovou nerovností [64, 74]. Pokud je porušen, výsledný kód není jednoznčný. Huffmnovo kódování se používá v mnoh kompresních formátech (npř. gzip, pkzip, bzip2) pro kompresi některých dílčích částí. Ještě lepších výsledků doshuje Aritmetické kódování [1, 91, 82], které nepřiřzuje kódové slovo kždému symbolu, le bitový řetězec je přiřzen celému komprimovnému textu. Nevzniká tm tedy ztrát kompresního poměru při zokrouhlování n celé bity při tvorbě kódových slov pro jednotlivé symboly. 14

3.2 Slovníkové metody Lepšího kompresního poměru dokáží dosáhnout slovníkové metody, které si tvoří slovník z již zkomprimovných dt. Komprimovná dt se pk sestávjí z odkzů do tohoto slovníku. s i r s i d e s t m n e s i l y zkomprimovná část nezkomprimovná část Obrázek 8: Posuvné okno metody LZ77 Metod LZ77 [103] (neboli metod posuvného okn) posouvá textem okno, které má zkomprimovnou nezkomprimovnou část (viz obrázek 8). Řetězec v nezkomprimovné části okn je zkomprimován odkzem do zkomprimovné části okn. Npříkld řetězec esi n obrázku 8 se komprimuje jko (8, 3,i): od pozice 8 zkopíruj 3 symboly připoj symbol 0 i. Poté se okno posune o 4 symboly doprv. Vrint metody c b LZ77 zvná deflte od P. Ktze je použit npříkld v kompresním 1 4 8 progrmech zip, gzip. b Metod LZ78 [104] (neboli metod rostoucího slovníku) vytváří 2 3 slovník ze zkomprimovných dt tk, že stávjící frázi ve slovníku rozšíří o jeden symbol. Dt se pk komprimují číslem použité fráze následujícím symbolem. Máme-li npříkld b 7 5 slovník n obrázku 9, pk řetězec bb se zkomprimuje jko (7,b), čili jko fráze číslo 7 rozšířená o symbol b. Následně se 6 do slovníku vloží fráze bb, jkožto fráze číslo 9 rozšiřující frázi číslo 7 o symbol b. Velmi používnou vrintou této metody je metod LZW [101], která byl použit npříkld v kompresním Obrázek 9: Slovník metody LZ78 progrmu compress, winzip nebo formátech GIF, TIFF, PDF. Ptent, který vypršel v roce 2004, omezil větší rozšíření této metody. 3.3 Kontextové metody Kontextové metody využívjí kontextu ktuálního symbolu k dosžení efektivnější komprese. V ngličtině se npříkld po symbolu q v 99.99 % vyskytuje symbol u. Metod PPM [27, 77] (Prediction with Prtil Mtching) je metod, která si ství sufixový strom s omezenou hloubkou k. V tomto stromu má uloženy všechny kontexty délky k 1 v nich se vyskytující symboly. Aktuální symbol je zkódován vzhledem k rozložení prvděpodobností jednotlivých symbolů v dném kontextu. V přípdě, že se symbol v dném kontextu ještě nevyskytovl, je kontext zkrácen. K zkódování ktuálního symbolu v dném kontextu se pk používá ritmetické kódování. Metod BW [22] (Burrows-Wheeler) používá Burrows-Wheelerovu trnsformci (BWT), která vytvoří všechny cyklické rotce textu t lexikogrficky je seřdí. Výsledkem trnsformce je pk poslední sloupec L, viz obrázek 10. V metodě BW pk z trnsformcí následuje metod Move-to-Front [14] Huffmnovo kódování. BWT lze vypočítt pomocí sufixového 15

0 1 2 3 4 5 6 7 8 9 t s w i s s m i s s SA 5 2 7 6 4 3 8 9 0 1 BWT 4 1 6 5 3 2 7 8 9 0 SA F L 5: missswiss 2: iss misssw 7: issswiss m 6: missswiss 4: s missswis 3: ss missswi 8: ssswiss mi 9: sswiss mis 0: swiss miss 1: wiss misss Obrázek 10: Burrows-Wheelerov trnsformce pole. Oproti metodě PPM, kde je kontext kždého symbolu vlevo, v této metodě je díky cyklické rotci kontext vprvo od ktuálního symbolu. To tké určuje směr vyhledávání v metodě FM-Index [37], která je postven nd Burrows-Wheelerovu trnsformcí. Metod FM-Index si uloží sloupec L pomocí vlnkového stromu. Tím umožní rychlé nlezení pozice i-tého symbolu c v řetězci L (operce select c (L, i)), nebo nopk zjištění, kolik symbolů c se vyskytuje do pozice j v řetězci L (operce rnk c (L, j)). Pro sloupec F si stčí pro kždý symbol becedy zpmtovt jeho počáteční pozici v řetězci. Vyhledávání vzorku p pk probíhá od posledního symbolu. Nlezneme pozici prvního (sp) posledního (ep) výskytu symbolu p[m] v řetězci F. V řetězci L pk nlezneme symboly L[sp] L[ep], vyskytující se před těmito symboly v původním textu. Nyní pomocí opercí rnk select nlezneme pozici prvního (sp ) posledního (ep ) výskytu symbolu p[m 1] v podřetězci L[sp..ep]. Poté nlezneme ekvivlentní pozice v řetězci F celý proces pokrčuje. 3.4 Problémy komprese dt řešené utorem jeho týmem Pod vedením utor byl prováděn výzkum oblsti hustých kódů, vytvoření testovcícho korpusu Prgue Corpus vytvoření knihovny implementcí kompresních lgoritmů ExCom. Při vytváření této knihovy byly využity poslední pozntky z oblsti stringologie, tkže vznikl vylepšení vybrných metod [38]. 3.4.1 Komprese přirozeného textu V oblsti komprese přirozených textů se prosdil tzv. slovní komprese (nglicky word-bsed compression). V ní jsou z zdrojové jednotky brán celá slov místo jednotlivých symbolů. Vznikly tké metody jko slovní Hufmnnovo kódování [56] slovní LZW [56]. Dlším přístupem ke slovní kompresi jsou husté kódy [21, 19, 20, 84, 85, 87] (nglicky dense codes). V těchto metodách se slovům z komprimovných textů přiřdí jedno- nebo více-bjtové kódy. Výhodou slovní komprese je její mlý kompresní poměr. Práce s bjty místo bity velmi zrychlí kompresi dekompresi, všk nezhorší o tolik kompresní poměr. V této oblsti jsme nvrhli rámec pro popis všech hustých kódů nzvný Open Dense Code (ODC) [84, 87]. Dále jsme nvrhli kód Two Byte Dense Code (TBDC) [84, 87], který omezuje 16

kódová slov n mximálně dv bjty. To je pro obyčejné texty dostčující. Pro mlé soubory jsme dosáhli nejlepšího kompresního poměru ze všech hustých kódů. Semidptivní vrint Semi-dptive Two Byte Dense Code (STBDC) [85] zse doshuje nejlepšího kompresního poměru pro vícejzyčné texty. Pokud máme mnoho reltivně krátkých textů, můžeme je zkomprimovt pomocí kombince globálního slovníku, který obshuje slov společná všem souborům, lokálního slovníku, který obshuje slov speciální pro ten který soubor [86]. V tkovém systému pk lze efektivně vyhledávt [86] vzorek s využitím znlostí dt v jednotlivých slovnících. Vznikl tk vlstně utoindex postvený n hustých kódech. 3.4.2 Porovnání kompresních metod Pokud chceme porovnávt různé kompresní lgoritmy, je potřeb získt implementce porovnávných lgoritmů nebo testy spustit n stejných dtech. Z toho důvodu vznikly různé korpusy jko npříkld Clgry Coprus [13], Cnterbury Corpus [9], Silesi [33] Prgue Corpus [52]. Nové metody jsou otestovány n stejných dtech, proto je možné porovnt tyto metody bez nutnosti získání té které implementce. Tímto způsobem se djí ovšem porovnt jen kompresní poměry. U kompresní lgoritmů je ovšem důležité porovnt i čs komprese dekomprese. V tkovém přípdě je již nutné získt implementce všech porovnávných metod. Ne vždy se le podří získt zdrojové kódy od utorů implementcí. I když se to podří, je nutné implementce ještě uprvit popř. převést do jiného progrmovcího jzyk. To bylo motivcí pro vytvoření veřejně přístupné knihovny zdrojových kódů implementcí kompresních metod ExCom 5 [52] (Extendible Compression librry). Cílem knihovny je nejen poskytnout zdrojové kódy pro účely porovnání kompresních metod, le nvíc i testovcí prostředí. Dále má knihovn sloužit progrmátorům plikcí, by nemuseli implementovt již implementovné lgoritmy, le mohli přímo použít tuto knihovnu. Nevíme o žádné jiné knihovně, která by obshovl tkové množství implementcí kompresních lgoritmů. 5 http://www.stringology.org/projects/excom 17

4 Biologie Cílem této kpitoly je ukázt ktuální problém v biologii, kterým je obrovské množství dt, které je potřeb zprcovt. Sekce 4.1 zběžně předstvuje motivci k problému sekce 4.2 pk ukzuje řešení, n nichž se podílel utor tohoto textu. 4.1 Sekvenování genomů Genetická informce je v orgnismech uchováván v DNA, neboli deoxyribonukleové kyselině. DNA má formu dvojšroubovice (viz obrázek 11 6.) skládá se ze čtyř nukleových bází: denin (), gunin (g), cytosin (c) thymin (t). Můžeme se tedy n DNA dívt jko n řetězec nd becedouσ={,c,g,t}. DNA sekvence obshuje geny nekódující sekvence. Veškerou genetickou informci obsženou v DNA konkrétního orgnismu pk nzýváme genomem. Lidský genom má 3,3 milirdy symbolů. Poprvé byl sekvenován (přečten) před 15 lety. Trvlo to celkem 13 let cen byl 3,3 milirdy dolrů. Dnes to trvá se sekvenátory nové generce (viz obrázek 12 7 ) jen dv dny cen je 8 000 dolrů. Sekvenátory nové generce produkují ž 60 GB denně [70]. Sekvenční centr mjí tkových strojů stovky, produkují tedy ž terbjty dt denně. Obrázek 11: DNA Obrázek 12: Illumin HiSeq 2500 sekvenátor nové generce Tkové množství dt je důležité velmi efektivně uložit přitom umožnit rychlé vyhledávání. Tím se dostáváme k využití jk oblsti stringologie tk oblsti komprese dt v biologii. Genom se v rámci jednoho druhu jen velmi málo liší. Npříkld u lidí se genomy dvou jedinců liší 6 Převzto zhttp://www.strochem.org. 7 Převzto zhttp://www.illumin.com. 18

v 0,1 % symbolech [95]. Tuto vlstnost všk běžné kompresní metody neumí využít, je nutné použít specilizovné metody. Čstější změnou mezi dvěm genomy je změn typu SNP [95] (nglicky Single-nucleotide polymorphism) neboli jedno-nukleotidový polymorfismus. Je to v podsttě náhrd jednoho nukleotidu jiným, řečí stringologie je to editční operce substituce. Méně čstými změnmi jsou pk vložení odstrnění. 4.2 Komprese podobných sekvencí Předpokládejme, že máme r řetězců t 0, t 1,...,t r 1 Σ,Σ = {,c,g,t}, obshujících DNA sekvence různých jedinců stejného druhu. Úkolem je vytvořit nd touto sdou sekvencí utoindex umožňující v nich efektivně vyhledávt. Při kompresi DNA sekvencí vidíme dv hlvní přístupy, jk se postvit ke změnám typu SNP indel. První zhrnuje nlezení využití opkování části referenční sekvence v komprimovné sekvenci. Druhý nopk zznmenává změny oproti referenční sekvenci. Algoritmy z první skupiny jsou obvykle zloženy n LZ fktorizci [103] sekvencí. Jedním z prvních lgoritmů zložených n LZ kompresi byl Biocompress [44]. Biocompress byl prvním lgoritmem, který význmně překonl obecné kompresní lgoritmy při kompresi DNA sekvencí. Inspirovl podobně změřené lgoritmy pro kompresi DNA jko npříkld Cfct [92] Off-line [8]. Nicméně výpočet LZ fktorizce je čsově velmi náročný může být překážkou nszení v prxi. Proto utoři [67] přišli s myšlenkou reltivní fktorizce (RLZ), která je zložen n odkzech do referenční sekvence. Dlším velmi důležitým reprezentntem LZ fktorizce je LZ77 self-index [65], který kombinuje kompresi indexování podobných DNA sekvencí. Dlším typem kompresních lgoritmů, které využívjí opkování biologických sekvencí, jsou lgoritmy zložené n grmtikách. Tyto metody obvykle nhrzují nejčstější bigrmy (dvoupísmenné řetězce) neterminálním symbolem tyto substituce pk formují prvidl grmtiky. Jednou z nejúspěšnějších kompresních metod je Comrd [66], která je zložen n lgoritmu Ry [23]. Dlší velmi slibnou metodou speciálně pro sekvence s vysokou podobností pro hledání krátkých sekvencí je Grmmr-compressed self-index [26] zložená n lgoritmu RePir [68]. První metodou druhého přístupu, čili zznmenávání změn, je metod Christie kol. [24], kde je dosženo komprese ukládáním změn komprimovné sekvence oproti referenční sekvenci. Dlší metodou je Generlized compressed suffix rry (GCSA) [96], která je zložen n principu ukládání sekvencí jko konečného utomtu, který je pk zindexován pomocí komprimovného sufixového pole. Dlší metod byl nvržen v [57]. Používá Burrows- Wheelerovu trnsformci [22] n shodné segmenty sufixové pole n změnové segmenty, by mohl detekovt všechny výskyty hledného vzorku. 4.3 Problémy bioinformtiky řešené utorem jeho týmem 4.3.1 Vyhledávání v genomech Pro vyhledávání v genomech se djí využít techniky pro přesné vyhledávání (viz sekce 2.1 2.2) i pro přibližné vyhledávání (viz sekce 2.3). Ve vyhledávání se využívjí i neurčité řetězce. Npříkld minokyselin isoleucin je kódován jko th, kde H zstupuje symboly, c t. Podrobněji o tomto témtu pojednává kpitol v knize [49]. 19

4.3.2 Komprese podobných sekvencí t 0 $... t vlnkový strom 100110101001 BWT(t 0 ) 000110 110110 isloc loc 0 0 0 0 1 0... 0 1110 $ c g t Obrázek 13: FM-index I 0 vytvořený pro referenční sekvenci t 0 t 0 t i...... c...... smplestrt $ #... # t vlnkový strom 100110101001 2 lc 1 d # c #...... BWT(d) 000110 010110 + isloc loc 0 0 0 0 1 0... 0 1110 $ # 101 c g t Index + BsePos Offset Op Obrázek 14: FM-index I d vytvořený pro zřetězení záznmů změn d Metod BIO-FMI [88] využívá metody FM-index [37]. Touto metodou vytvoří index I 0 (viz obrázek 13) nd referenční sekvencí t 0 oddělený index I d (viz obrázek 14) nd řetězci reprezentujícími změny jednotlivých sekvencí t i, 0<i < r, oproti referenční sekvenci t 0. Prmetrem této metody je délk l c, n kterou je hledný vzorek p rozdělen. Jednotlivé části vzorku p jsou pk vyhledávány jk v I 0 tk v I d. Z nlezených výskytů jsou nkonec poskládány všechny výskyty vzorku p ve všech sekvencích t i. Z experimentálních výsledků uvedených v tbulce 4 vyplývá, že pro mlé velikosti délky l c doshuje tto metod nejlepšího kompresního poměru (ž 2,26 %) nejrychlejšího čsu vyhledávání. N stroji s procesorem Intel R Core TM 2 Duo CPU T6600 2, 20 GHz s 4 GB RAM je rychlost vyhledávání pro nejmenší vzorky (5 znků) 2, 56 µs. Jiný přístup byl zvolen u metody [79], kde se vytváří kompktní sufixový strom. Máme-li dv řetězce t 0 = bbbb# t 1 = bbbbb$. Ob tyto řetězce mohu zpst jko řetězec s vricemi t 0+1 = b(bb/bbb)b#. Metod [79] vytváří kompktní sufixový strom pro řetězec t 0+1 (viz obrázek 15). Výsledný strom se pk dá použít stejně jko stndrdní kompktní sufixový strom. N rozdíl od zobecněného kompktního sufixového stromu (nglicky generlized suffix tree) [5, 45], který ství kompktní sufixový 20

File s001 s005 m 5 10 20 5 10 20 l c 5 5 10 10 20 5 5 10 10 20 BIO-FMI 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 RLCSA 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 LZ77 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 LZ-End 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 Tbulk 4: Kompresní poměr čsy nlezení pro soubory s001 s005 (prvděpodobnost změny mezi t i t 0 je 0, 1 % respektive 0, 5 %). strom pro zřetězení obou řetězců má pmět ovou náročnost dnou součtem obou řetězců, má metod [79] složitost dánu jkoo(n + l d + l 1 ), kde l d je součet délek odlišných segmentů l 1 je součet některých společných segmentů. b # b b b b (bb/bbb)b# bb# bbb# b bbb# # bb# b# b b# bbb# b bbb# bb# # b# b# Obrázek 15: Kompktní sufixový strom pro řetězec s vricemi 21

5 Závěr V textu byly předstveny vybrné problémy z oblsti stringologie komprese dt jejich řešení. Tyto obory spojily své úsilí, které vedlo ke vzniku zhuštěných indexů utoindexů poskytujích plnou funkcionlitu úplného indexu zároveň úsporně ukládjích vstupní text. Nástup nových technologií v biologii, které generují obrovská množství dt, přináší nové výzvy pro kompresi dt v podobě nutnosti úsporného ukládání. Nvíc nd tkto zkomprimovnými dty je potřeb provádět vyhledávání, což je výzv pro stringologii. Úspěšné zvládnutí prvního problému znmená, že sekvenční centr nebudou muset získná dt po prohledání mzt, le budou je moci uchovávt pro dlší použití. Úspěšné zvládnutí druhého problému pk znmená vyhledávání v dtech bez jejich dekomprese, což podsttně urychlí proces vyhledávání. Ob dv tyto problémy řeší metod BIO-FMI [88], což bylo podpořeno provedenými experimenty ukzujícími kompresní poměr ž 2,26 %. Dlší řešení pomocí kompktního sufixového stromu pro řetězce s vricemi [79] n své experimentální vyhodnocení teprve čeká. Obě metody využívjí vysoké podobnosti komprimovných dt, která v přípdě lidských genomů různých jedinců činí 99,9 %. Autor tohoto textu se podílel n určení zákldních vlstností neurčitých řetězců [53], které se djí použít npříkld pro popis vyhledávání minokyselin. Dále se podílel n návrhu prvního efektivního lgoritmu [54] pro vyhledávání v neurčitých řetězcích, Mezi dlší práce utor ptří efektivní implementce indexovcí struktury zvné kompktní sufixový utomt, kde dosáhl význmného zlepšení pmět ové složitosti (cc 5 krát), čímž se tento utomt stl prkticky použitelný. Dále utor dosáhl význmných výsledků v oblsti komprese přirozeného jzyk pomocí hustých kódů [84, 85, 87] v oblsti testování výkonnosti kompresních metod (knihovn efektivních implementcí kompresních metod ExCom [52] testovcí sd souborů Prgue Corpus [52]). V oblsti stringologie pk ukázl, že metody používné pro přibližné vyhledávání simulují práci nedeterministického konečného utomtu pro přibližné vyhledávání [47, 48]. O oblst komprese dt je velký zájem. Dtová centr při použití efektivních lgoritmů n kompresi dt šetří nákldy n energie z servery jejich chlzení. Komprese dt urychluje přenos dt. Biologie bez efektivní komprese dt nemůže uchovávt získná dt. Spojení oblstí stringologie komprese dt umožňuje vyhledávání nd rozsáhlými biologickými dty, což je velmi důležité pro identifikci příčin nemocí nlezení efektivní léčby. 22

Použitá litertur [1] N. Abrmson. Informtion Theory nd Coding. McGrw-Hill, New York, 1963. [2] A. V. Aho nd M. J. Corsick. Efficient string mtching: n id to bibliogrphic serch. Commun. ACM, 18(6):333 340, 1975. [3] A. V. Aho, J. E. Hopcroft, nd J. D. Ullmn. The design nd nlysis of computer lgorithms. Addison-Wesley, Reding, MA, 1974. [4] C. Alluzen, M. Crochemore, nd M. Rffinot. Fctor orcle: A new structure for pttern mtching. In J. Pvelk, G. Tel, nd M. Brtošek, editors, SOFSEM 99, Theory nd Prctice of Informtics, number 1725 in Lecture Notes in Computer Science, pges 295 310, Milovy, Czech Republic, 1999. Springer-Verlg, Berlin. [5] A. Amir, M. Frch, Z. Glil, R. Gincrlo, nd K. Prk. Dynmic dictionry mtching. J. Comput. Syst. Sci., 49(2):208 222, 1994. [6] A. Amir, M. Frch, nd S. Muthukrishnn. Alphbet dependence in prmeterized mtching. Inf. Process. Lett., 49(3):111 115, 1994. [7] P. Antoniou, J. Holub, C. S. Iliopoulos, B. Melichr, nd P. Peterlongo. Finding common motifs with gps using finite utomt. In O. H. Ibrr nd H.-C. Yen, editors, Implementtion nd Appliction of Automt, number 4094 in Lecture Notes in Computer Science, pges 69 77. Springer-Verlg, Heidelberg, 2006. [8] A. Apostolico nd S. Lonrdi. Compression of biologicl sequences by greedy off-line textul substitution. In J. A. Storer nd M. Cohn, editors, Proceedings Dt Compression Conference, pges 143 152, Snowbird, UT, 2000. IEEE Computer Society Press. [9] R. Arnold nd T. C. Bell. A corpus for the evlution of lossless compression lgorithms. In Dt Compression Conference, pges 201 210, 1997. [10] R. A. Bez-Ytes nd G. H. Gonnet. A new pproch to text serching. Commun. ACM, 35(10):74 82, 1992. [11] B. S. Bker. A theory of prmeterized pttern mtching: lgorithms nd pplictions. In Proceedings of the 25th ACM Symposium on the Theory of Computing, pges 71 80, Sn Diego, CA, 1993. ACM Press. [12] M. Blík. DAWG versus suffix rry. In J.-M. Chmprnud nd D. Murel, editors, Implementtion nd Appliction of Automt, number 2608 in Lecture Notes in Computer Science, pges 233 238. Springer-Verlg, Heidelberg, 2003. [13] T. C. Bell, I. H. Witten, nd J. G. Clery. Modeling for text compression. ACM Comput. Surv., 21(4):557 591, 1989. [14] J. L. Bentley, D. D. Sletor, R. E. Trjn, nd V. H. Wei. A loclly dptive dt compression scheme. Commun. ACM, 29(4):320 330, April 1986. 23

[15] A. Blumer, J. Blumer, A. Ehrenfeucht, D. Hussler, M. T. Chen, nd J. Seifers. The smllest utomton recognizing the subwords of text. Theor. Comput. Sci., 40(1):31 55, 1985. [16] A. Blumer, J. Blumer, A. Ehrenfeucht, D. Hussler, nd R. McConnel. Liner size finite utomt for the set of ll subwords of word: n outline of results. Bull. Eur. Assoc. Theor. Comput. Sci., 21:12 20, 1983. [17] A. Blumer, A. Ehrenfeucht, nd D. Hussler. Averge size of suffix trees nd DAWGS. Discret. Appl. Mth., 24:37 45, 1989. [18] R. S. Boyer nd J. S. Moore. A fst string serching lgorithm. Commun. ACM, 20(10):762 772, 1977. [19] N. R. Brisbo, A. Friñ, G. Nvrro, nd M. F. Esteller. (S, C)-dense coding: An optimized compression code for nturl lnguge text dtbses. In M. A. Nscimento, E. S. de Mour, nd A. L. Oliveir, editors, Proceedings of String Processing nd Informtion Retrievl, volume 2857 of Lecture Notes in Computer Science, pges 122 136. Springer-Verlg, Berlin, 2003. [20] N. R. Brisbo, A. Friñ, G. Nvrro, nd J. R. Prmá. Lightweight nturl lnguge text compression. Inf. Retr., 10(1):1 33, Jnury 2007. [21] N. R. Brisbo, E. L. Iglesis, G. Nvrro, nd J. R. Prm. An efficient compression code for text dtbses. In F. Sebstini, editor, Advnces in Informtion Retrievl, volume 2633 of Lecture Notes in Computer Science, pges 468 481. Springer-Verlg, Berlin, 2003. [22] M. Burrows nd D. J. Wheeler. A block-sorting lossless dt compression lgorithm. SRC Reserch Report 124, Digitl Equipment Corportion, 1994. [23] A. Cnnne nd H. E. Willims. Generl-purpose compression for efficient retrievl. J. Am. Soc. Inf. Sci. Technol, 52(5):430 437, 2001. [24] S. Christley, Y. Lu, C. Li, nd X. Xie. Humn genomes s emil ttchments. Bioinformtics, 25(2):274 275, 2009. [25] D. R. Clrk. Compct pt trees. PhD thesis, University of Wterloo, Wterloo, Ont., Cnd, Cnd, 1996. [26] F. Clude, A. Friñ, M. A. Mrtinez-Prieto, nd G. Nvrro. Compressed q-grm indexing for highly repetitive biologicl sequences. In BioInformtics nd BioEngineering, pges 86 91. IEEE Computer Society, 2010. [27] J. G. Clery nd I. H. Witten. Dt compression using dptive coding nd prtil string mtching. IEEE Trns. Comput., 32:396 402, 1984. [28] B. Commentz-Wlter. A string mtching lgorithm fst on the verge. In H. A. Murer, editor, Proceedings of the 6th Interntionl Colloquium on Automt, Lnguges nd Progrmming, number 71 in Lecture Notes in Computer Science, pges 118 132, Grz, Austri, 1979. Springer-Verlg, Berlin. 24

[29] M. Crochemore. Trnsducers nd repetitions. Theor. Comput. Sci., 45(1):63 86, 1986. [30] M. Crochemore nd W. Rytter. Text lgorithms. Oxford University Press, 1994. [31] M. Crochemore nd R. Vérin. Direct construction of compct directed cyclic word grphs. In A. Apostolico nd J. Hein, editors, Proceedings of the 8th Annul Symposium on Combintoril Pttern Mtching, number 1264 in Lecture Notes in Computer Science, pges 116 129, Arhus, Denmrk, 1997. Springer-Verlg, Berlin. [32] F. Dmeru. A technique for computer detection nd correction of spelling errors. Commun. ACM, 7(3):171 176, 1964. [33] S. Deorowicz. Silesi Corpus. PhD thesis, Silesin University of Technology, Polnd, 2003. [34] B. Dömölki. An lgorithm for syntcticl nlysis. Computtionl Linguistics, 3:29 46, 1964. Hungrin Acdemy of Science, Budpest. [35] B. Ďurin, J. Holub, H. Peltol, nd J. Trhio. Improving prcticl exct string mtching. Inf. Process. Lett., 110(4):148 152, 2010. [36] R. Fno. The trnsmission of informtion. Technicl Report 65, Reserch Lbortory of Electronics, MIT, 1949. [37] P. Ferrgin nd G. Mnzini. Opportunistic dt structures with pplictions. In FOCS 2000: Proceedings of the 41st Annul Symposium on Foundtions of Computer Science, pges 390 398, Wshington, DC, USA, 2000. IEEE Computer Society. [38] M. Fil nd J. Holub. Dc using suffix rrys. In J. A. Storer nd M. W. Mrcellin, editors, Dt Compression Conference, pge 516. IEEE Computer Society, 2008. [39] M. J. Fischer nd M. Pterson. String mtching nd other products. In R. M. Krp, editor, Proceedings SIAM-AMS Complexity of Computtion, pges 113 125, Providence, RI, 1974. [40] E. Fredkin. Trie memory. Commun. ACM, 3(9):490 499, 1960. [41] Z. Glil. Open problems in stringology. In A. Apostolico nd Z. Glil, editors, Combintoril Algorithms on Words, volume 12 of NATO ASI Series F, pges 1 8. Springer- Verlg, Berlin, 1985. [42] R. Grossi, A. Gupt, nd J. Vitter. High-order entropy-compressed text indexes. In Proc. 14th Annul ACM-SIAM Symp. on Discrete Algorithms (SODA 03), pges 841 850, 2003. [43] R. Grossi nd J. S. Vitter. Compressed suffix rrys nd suffix trees with pplictions to text indexing nd string mtching. In Proceedings ACM Symposium on the Theory of Computing, pges 397 406, Portlnd, Oregon, 2000. ACM Press. [44] S. Grumbch nd F. Thi. Compression of dn sequences. In J. A. Storer nd M. Cohn, editors, Dt Compression Conference, pges 340 350. IEEE Computer Society, 1993. 25

[45] D. Gusfield. Algorithms on strings, trees nd sequences: computer science nd computtionl biology. Cmbridge University Press, Cmbridge, 1997. [46] R. W. Hmming. Error detecting nd error correcting codes. The Bell System Technicl Journl, 29(2):147 160, 1950. [47] J. Holub. Bit prllelism NFA simultion. In B.W. Wtson nd D. Wood, editors, Implementtion nd Appliction of Automt, number 2494 in Lecture Notes in Computer Science, pges 149 160. Springer-Verlg, Heidelberg, 2002. [48] J. Holub. Dynmic progrmming NFA simultion. In J.-M. Chmprnud nd D. Murel, editors, Proceedings of the 7th Conference on Implementtions nd Applictions of Automt, pges 287 292, University of Tours, Tours, Frnce, 2002. [49] J. Holub. Finite utomt in pttern mtching. In M. Elloumi nd A. Y. Zomy, editors, Algorithms in Computtionl Moleculr Biology: Techniques, Approches nd Applictions, pges 51 71. John Wiley & Sons, 2011. [50] J. Holub nd M. Crochemore. On the implementtion of compct DAWG s. In J.-M. Chmprnud nd D. Murel, editors, Implementtion nd Appliction of Automt, number 2608 in Lecture Notes in Computer Science, pges 289 294. Springer-Verlg, Heidelberg, 2003. [51] J. Holub nd B. Melichr. Approximte string mtching using fctor utomt. Theor. Comput. Sci., 249(2):305 311, 2000. [52] J. Holub, J. Řezníček, nd F. Šimek. Lossless dt compression testbed: ExCom nd Prgue Corpus. In J. A. Storer nd M. W. Mrcellin, editors, Dt Compression Conference, pge 457. IEEE Computer Society, 2011. [53] J. Holub nd W. F. Smyth. Algorithms on indeterminte strings. In M. Miller nd K. Prk, editors, Proceedings of the 14th Austrlsin Workshop On Combintoril Algorithms, pges 36 45. Seoul Ntionl University, Seoul, Kore, 2003. [54] J. Holub, W. F. Smyth, nd S. Wng. Fst pttern-mtching on indeterminte strings. J. Discret. Algorithms, 6(1):37 50, 2008. [55] R. N. Horspool. Prcticl fst serching in strings. Softw. Prct. Exp., 10(6):501 506, 1980. [56] R.N. Horspool nd G.V. Cormck. Constructing word-bsed text compression lgorithms. In J.A. Storer nd M. Cohn, editors, Dt Compression Conference, pges 62 81, Snowbird, Uth, Mrch 1992. IEEE Computer Society Press, Los Almitos, Cliforni. [57] S. Hung, T. W. Lm, W.-K. Sung, S.-L. Tm, nd S.-M. Yiu. Indexing similr dn sequences. In B. Chen, editor, Algorithmic Aspects in Informtion nd Mngement, volume 6124 of Lecture Notes in Computer Science, pges 180 190. Springer, 2010. [58] D. A. Huffmn. A method for the construction of minimum-redundncy codes. Proceedings of the Institute of Rdio Engineers, 40(9):1098 1101, September 1952. 26