PODOBNOSTI PRIMÁRNÍ STRUKTURY
|
|
- Ladislava Čechová
- před 7 lety
- Počet zobrazení:
Transkript
1 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS SHLUKOVÁNÍ PROTEINOVÝCH SEKVENCÍ NA ZÁKLADĚ PODOBNOSTI PRIMÁRNÍ STRUKTURY DIPLOMOVÁ PRÁCE MASTER S THESIS AUTOR PRÁCE AUTHOR Bc. PETR JURÁSEK BRNO 2009
2 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS SHLUKOVÁNÍ PROTEINOVÝCH SEKVENCÍ NA ZÁKLADĚ PODOBNOSTI PRIMÁRNÍ STRUKTURY CLUSTERING OF PROTEIN SEQUENCES BASED ON PRIMARY STRUCTURE OF PROTEINS DIPLOMOVÁ PRÁCE MASTER S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR Bc. PETR JURÁSEK Ing. IVANA RUDOLFOVÁ BRNO 2009
3 Vysoké učení technické v Brně - Fakulta informačních technologií Ústav informačních systémů Akademický rok 2008/2009 Zadání diplomového projektu Řešitel: Petr Jurásek Obor: Informační systémy Téma: Shlukování proteinových sekvencí na základě podobnosti primární struktury Kategorie: Databáze Pokyny: 1. Seznamte se s primární strukturou proteinů. 2. Seznamte se s algoritmy pro hodnocení podobnosti proteinových sekvencí. 3. Seznamte se se shlukovací analýzou. 4. Po dohodě s vedoucím navrhněte vhodnou vzdálenostní funkci pro proteinové sekvence. 5. Implementujte zvolenou shlukovací metodu pro shlukování proteinových sekvencí na základě podobnosti primární struktury. Proved te shlukování na vhodném vzorku dat. 6. Zhodnot te dosažené výsledky.
4 Shlukování proteinových sekvencí na základě podobnosti primární struktury Prohlášení Prohlašuji, že jsem tuto diplomovou práci vypracoval samostatně pod vedením paní Ing. Ivany Rudolfové. Uvedl jsem všechny literární prameny a publikace, ze kterých jsem čerpal Petr Jurásek 25. května 2009 c Petr Jurásek, Tato práce vznikla jako školní dílo na Vysokém učení technickém v Brně, Fakultě informačních technologií. Práce je chráněna autorským zákonem a její užití bez udělení oprávnění autorem je nezákonné, s výjimkou zákonem definovaných případů.
5 Abstrakt Diplomová práce je zaměřena na shlukování proteinových sekvencí na základě podobnosti primárních struktur. Seznamuje s daty v podobě aminokyselin, které tvoří primární strukturu proteinů. Představuje základní algoritmy pro porovnávání podobnosti proteinových sekvencí. Popisuje shlukovou analýzu a shlukovací metody. Praktickou část práce představuje návrh vzdálenostní funkce pro proteiny a implementace shlukovacích metod AGNES, k-means, k-medoids v jazyce Python. Klíčová slova Molekulární biologie, DNA, aminokyselina, protein, proteinové sekvence, dynamické programování, Needleman-Wunsch algoritmus, Smith-Waterman algoritmus, substituční matice, PAM, BLOSUM, shlukování, shluková analýza, AGNES, k-means, k-medoids Abstract This master s thesis consider clustering of protein sequences based on primary structure of proteins. Studies the protein sequences from they primary structure. Describes methods for similarities in the amino acid sequences of proteins, cluster analysis and clustering algorithms. This thesis presents concept of distance function based on similarity of protein sequences and implements clustering algorithms ANGES, k-means, k-medoids in Python programming language. Keywords Molecular biology, DNA, amino acid, protein, primary structure of protein, dynamic programing, Needleman-Wunsh algorithm, Smith-Waterman algorithm, scoring matrix, PAM, BLOSUM, clustering, cluster analysis, AGNES, k-means, k-medoids Citace Petr Jurásek: Shlukování proteinových sekvencí na základě podobnosti primární struktury, diplomová práce, Brno, FIT VUT v Brně, 2009
6 Obsah 1 Úvod 3 2 Základy molekulární biologie Genetický materiál Centrální dogma molekulární biologie Proteiny Porovnávání sekvencí Bodový graf Jednoduché zarovnání Mezery Skórovací matice Needleman-Wunsch algoritmus Semiglobální zarovnání Smith-Waterman algoritmus Shrnutí Shlukovací analýza Typy dat Nominální proměnné Rozdělení shlukovacích metod Metody založené na rozdělování Hierarchické metody Metody založené na hustotě Metody založené na mřížce Metody založené na modelech Metody pro vysoce-dimenzionální data Shlukovací metody K-means Aglomerative Nesting Density-based clustering WaveCluster Self Organizing Map Clustering in Quest
7 5 Návrh Aplikace Modul zarovnání Modul shlukování Uživatelské rozhraní Vzdálenostní funkce Vstupní data FASTA formát Skórovací matice Implementace Vzorky Podobnostní matice Shlukování Pomocné skripty Výsledky Průběh shlukování Shrnutí Závěr 32 A Seznam příloh 34 A.1 CD/DVD A.2 Uživatelská příručka A.3 Příručka programátora B Uživatelská příručka 35 B.1 Modul zarovnání B.1.1 Vstupní parametry B.1.2 Použití B.2 Modul shlukování B.2.1 Vstupní parametry B.2.2 Použití B.3 Uživatelské rozhraní C Příručka programátora 38 C.1 Datové typy C.2 Popis funkcí
8 Kapitola 1 Úvod Množství dat, které produkuje výzkum v různých oblastech biologie, v poslední době prudce narůstá, proto je nezbytné tato data někde uchovávat a efektivně je zpracovávat. Souvisí to s 90. léty, kdy vzrostly výrazně schopnosti generovat, sbírat a uchovávat různá data. Počítačové zpracování se postaralo o obrovský nárůst objemu dat, která jsou uchovávána v elektronické podobě. Současně se vyskytl problém přesycení přílišným množstvím informací. Díky dostupnosti obrovského množství dat v elektronické podobě se dostal do popředí zájem o zpracování dat na užitečnou informaci a znalost. Mezi bioinformatická data můžeme zařadit sekvence nukleotidů (DNA, RNA), sekvence aminokyselin, informace o struktuře molekul, údaje o aktivitě genů, údaje o expresi proteinů, mapy interakcí mezi proteiny a DNA, mapy interakce mezi proteiny navzájem. V práci se setkáme s daty v podobě sekvencí aminokyselin, které tvoří primární strukturu proteinů. Hlavním cílem práce je shlukování sekvencí proteinů na základě jejich podobnosti primární struktury (aminokyselin). Vzniká otázka jak správně navrhnout vzdálenostní funkci pro proteiny. Na základě podobnosti mezi jednotlivými aminokyselinami určíme vzdálenost. Kapitola 2 seznamuje se základními pojmy z molekulární biologie, mezi které můžeme zahrnout např. primární strukturu proteinů, kterou představuje sekvence aminokyselin reprezentována řetězcem znaků. Kapitola 3 popisuje algoritmy používané v bioinformatice pro hodnocení podobnosti proteinů na základě jejich primární struktury pro dvě sekvence proteinů. Kapitola 4 popisuje shlukovací analýzu a shlukovací metody, které se používají při dolování dat. Kapitola 5 se zabývá návrhem programu pro určení vzdálenosti mezi sekvencemi proteinů. Vzdálenostní funkce je vstupem pro shlukování. Kapitola 6 se zaměřuje na implementaci vzdálenostní funkce a shlukovacích algoritmů. Kapitola 7 ověřuje implementaci vzdálenostní funkce a shlukovacích algoritmů nad různými vzorky dat. Závěrečná kapitola 8 shrnuje dosažené výsledky, osobní přínos a nástin pokračování vývoje práce v budoucnu. Příloha B popisuje parametry a použití aplikace pro uživatele. Příloha C popisuje použité datové typy a funkce jednotlivých modulů. 3
9 Kapitola 2 Základy molekulární biologie V kapitole 2 se budeme zabývat základnímy pojmy z oblasti molekulární biologie. V bioinformatice se převážně setkáváme s daty, které se týkají DNA a proteinů. Část kapitoly je věnována popisu sekvencí nukleotidů (sekvence v DNA, RNA) a sekvencí aminokyselin. Více podrobnějších informací lze najít v [5, 3, 9]. 2.1 Genetický materiál V DNA (deoxyribonukleové kyselině) jsou zakódovány genetické informace. Tyto informace umožňují organizovat neživé molekuly, tak aby vytvořili živé buňky a organismy, které jsou schopné regulovat svoje vnitřní složení, růst a reprodukci. DNA molekula má podobu dvojité pravotočivé šroubovice. Každé vlákno šroubovice se skládá z posloupnosti nukleotidů. V DNA se vyskytují čtyři základní druhy nukleotidů: guanin (G), adenin (A), thymin (T) a cytosin (C). Pořadí nukleotidů se označuje jako primární struktura DNA. Nukleotidový řetězec má dva konce, které se označují 5 konec a 3 konec. Většina procesů probíhá od 5 konce ke 3 konci. Pořadí nukleotidů na obou vláknech je komplementární. Pro každý výskyt G na jednom vlákně, se bude vyskytovat C na komplementárním vlákně a naopak. Pro každý výskyt A na jednom vlákně, se na komplementárním vlákně bude nacházet T a naopak. Tento vztah mezi A a T nebo G a C je tvořen vodíkovými vazbami. Molekuly adeninu a thyminu mohou vytvořit jen dvě vodíkové vazby, naproti tomu molekuly guaninu a cytosinu vytvoří tři vodíkové vazby. Vlákna molekuly DNA jsou antiparalelní a redundantní. Souvislý úsek molekuly DNA, která obsahuje dědičné vlastnosti se nazývá gen. Soubor všech genů organismu se označuje jako genom. DNA je uložená v jádře buňky a je rozdělená na několik chromozómů. 2.2 Centrální dogma molekulární biologie Proces, při kterém je informace získána z nukleotidové sekvence genu a je použita k vytvoření proteinu, se označuje jako centrální dogma molekulární biologie. Informace uložená v DNA je použita k vytvoření dočasné RNA (ribonukleová kyselina), která je dále použita k výrobě proteinu. Tento proces se skládá ze dvou kroků transkripce a translace. Proces vytváření kopie genu do molekuly RNA za působení enzymu RNA-polymeráza, se nazývá transkripce. Molekula RNA je jednovláknová, kratší než molekula DNA a méně 4
10 Obrázek 2.1: Centrální dogma molekulární biologie. stabilnější než DNA. Místo nukleodtidu thyminu (T) se v RNA vyskytuje nukleotid uracil (U). Hlavní roli při transkripci hraje RNA polymeráza která nasedá na oblast tzv. promotoru - specifická oblast před začátkem genu cca 30 bází. K transkripci dochází pouze za předpokladu, že jsou v oblasti promotoru přítomné i příslušné regulátory - proteiny, které rozhodují zda dojde k transkripci. Negativní regulátor zabraňuje RNA polymeráze spuštění transkripce. Pozitivní regulátor umožňuje RNA polymeráze začít transkripci. Většina genů obsahuje ukončovací sekvence pro transkripci tzv. terminátory. Translace je proces, při kterém se převádí informace ze sekvence nukleotidů RNA do sekvence aminokyselin, která tvoří protein. Během translace se využívá tzv. genetický kód. Tři po sobě následující nukleotidy RNA, tzv. kodón, kódují jednu aminokyselinu. V RNA se vyskytují čtyři nukleotidy (A, C, G a U), tzn. existuje 4 3 = 64 různých kodónů. V přírodě se vyskytuje 20 aminokyselin, které mohou být použity k tvorbě proteinů (tab. 2.1). Jedna aminokyselina může být kódována několika kodóny. Ve skutečnosti pro některé aminokyseliny existuje více kódů než pro jiné. Genetický kód je tedy redundantní. Některé kodóny mají speciální význam např. start kodón (AUG) a tři stop kodóny (UAA, UAG, UGA), které označují začátek a konec řetězce. Sekvence znaků vyskytující se mezi start a stop kodónem se označuje jako čtecí rámec (open reading frame). Tři kodóny genetického kódu jsou vyhrazené jako stop kodóny, a jeden kodón je vždy použit jako počáteční kodón. Kodón AUG je použit pro aminokyselinu methionin stejně jako pro označení začátku translace v molekule RNA (tab. 2.2). Tabulka 2.1: Aminokyseliny, které se vyskytují v proteinech Název Označení Název Označení Alanin ala/a Leucin leu/l Arginin arg/r Lysin lys/k Asparagin asn/n Methionin met/m Kyselina asparagová asp/d Fenylalanin phe/f Cystein cys/c Prolin pro/p Kyselina glutamová glu/e Serin ser/s Glutamin gln/q Threonin thr/t Glycin gly/g Tryptofan trp/w Histidin his/h Tyrozin tyr/y Isoleucin ile/i Valin val/v 5
11 Tabulka 2.2: Kodónová tabulka 5 konec U C A G Prostřední báze U C A G 3 konec phe ser tyr cys U phe ser tyr cys C leu ser termination termination A leu ser termination trp G leu pro his arg U leu pro his arg C leu pro gln arg A leu pro gln arg G ile thr asn ser U ile thr asn ser C ile thr lys arg A met, start thr lys arg G val ala asp gly U val ala asp gly C val ala glu gly A val ala glu gly G 2.3 Proteiny Proteiny představují molekulární aparát, který řídí a vykonává téměř všechny biologické funkce. Stavební proteiny, jako kolagen, podporují a posilují kosti a pojivové tkáně. Další proteiny zvané enzymy fungují jako biologické katalyzátory, např. trávící enzym pepsin podporující trávení a metabolismus. Aminokyseliny tvoří základní stavební bloky proteinů. Proteiny se skládají z 20 aminokyselin, které mají různou velikost, tvar a chemické složení. Všechny amino kyseliny mají společný základ, který tvoří aminoskupina, α-uhlík a karboxylová skupina. Na α-uhlík je navázaný postranní řetězec, označovaný znakem R. Všem aminokyselinám jsou přiděleny tříznakové a jednoznakové kódy (tab. 2.1). Postranní řetězec každé aminokyseliny je různý a určuje jedinečné stereochemické vlastnosti. Podle postranního řetězce se aminokyseliny dělí do tří základních skupin: hydrofobní, polární a s nábojem (kladným, záporným). Hydrofobní aminokyseliny nemohou vytvářet vodíkové vazby s molekulami vody. Polární aminokyseliny jsou hydrofilní, tzn. že mohou vytvářet vodíkové vazby s molekulami vody. Pořadí aminokyselin v proteinu je označováno jako primární struktura proteinu a předurčuje biologickou funkci, tak i sekundární a terciální strukturu proteinu. Schopnost aminokyselin vytvářet různé vazby s jinými aminokyselinami nebo okolními molekulami má vliv na prostorovou strukturu proteinu. Fyzikální a chemické vlastnosti proteinu, jeho biologická funkce a prostorový tvar jsou určeny posloupností aminokyselin, které protein vytváří. Primární struktura proteinů se zapisuje jako řetězec znaků bud jednoznakových nebo tříznakových kódů. Řetězec aminokyselin se nazývá peptid. Delší řetězce se označují jako polypeptidy nebo proteiny. Při spojení dvou aminokyselin dochází ke vzniku dipeptidu, tzn. dvě aminokyseliny 6
12 spojené peptidickou vazbou. U molekul proteinů se rozlišují dva různé konce řetězce: N- konec, tzn. aminokyselina s volnou aminoskupinou, a C-konec, tzn. aminokyselina s volnou karboxylovou skupinou. Posloupnost aminokyselin v řetězci se uvádí od N-konce(amino) směrem k C-konci(karboxylový). 7
13 Kapitola 3 Porovnávání sekvencí Tato kapitola popisuje metody, které porovnávají podobnost mezi dvěma nebo více sekvencemi nukleotidů nebo polypeptidů. Struktura proteinů je dána sekvencí aminokyselin které tvoří protein. Porovnáváním sekvencí proteinů můžeme stanovit předpokládanou strukturu proteinu. Při porovnávání biologických sekvencí nejprve hledáme takové zarovnání sekvencí, pro které je počet pozic se shodnými symboly, tzn. aminokyselinami v proteinech nebo nukleotidy v DNA, RNA, maximální. Porovnávat můžeme dvě biologické sekvence nebo celou skupinu sekvencí. Algoritmy, které se používají pro hledání optimálního zarovnání dvou sekvencí, lze obecně rozšířit pro skupinu sekvencí. V praxi tento přístup nelze použít, protože výpočetní složitost algoritmů pro více sekvencí je příliš vysoká. Pro hledání optimálního zarovnání více sekvencí se využívají různé heuristiky. Biologické sekvence se nejčastěji porovnávají z důvodu hledání sekvencí, které jsou navzájem evolučně blízké. Na jednotlivých pozicích biologických sekvencí může během vývoje docházet k následujícím změnám: mutacím - záměna jednoho symbolu za jiný inserci - vložení jednoho nebo více symbolů deleci - odstranění symbolu z jedné nebo více pozic Mutace se v přírodě vyskytují častěji než inserce nebo delece. Při zarovnání biologických sekvencí někdy uvažujeme mutace a někdy uvažujeme i inzerce a delece. Operace inserce a delece nazýváme dohromady operace indel. Operacím inserce a delece odpovídá vkládání mezer do jedné ze sekvencí. 3.1 Bodový graf Jednou z jednodušších metod pro vyhodnocení podobnosti mezi dvěmi sekvencemi se zobrazením se používá bodový graf. Bodový graf vytvoříme tak, že první sekvenci, která je porovnávána, vyneseme na horizontální osu grafu a druhou sekvenci zakreslíme na vertikální osu. Na příslušnou pozici průsečíku řádku a sloupce vložíme bod, pouze pokud jsou oba znaky shodné. Přilehlé shodné oblasti způsobují v grafu diagonální úsečky. Známe pouze orientační grafickou reprezentaci, ale nevíme jak je výsledná sekvence zarovnána. Navíc v grafu vzniká hodně šumu. 8
14 Bodový graf můžeme vylepšit posuvným okénkem. Velikost posuvného okénka můžeme zvolit např. 7 znaků. Postupně po jedné aminokyselině se posouvá ve směru sloupců tak ve směru řádků. V okénku se porovnává 7 znaků, pokud je jich alespoň 5 shodných, vloží se na začátku okénka bod. Je potřeba vhodně volit velikost posuvného okénka a míru shody. Odstraní šum tak, že si můžeme všimnout větší podobnosti v grafu, která kvůli šumu byla nevýrazná. Nevýhodou tohoto algoritmu je vysoká časová složitost O(n 2 ). Obrázek 3.1: Ukázka bodového grafu, vlevo sekvence proteinu AZIZ2 získaného z myši porovnávaná se sebou, vpravo sekvence proteinu AZIZ2 z myši porovnávaná s proteinem AZIZ2 získaného z orangutana, velikost posuvného okénka w = 15 (zdroj isb-sib.ch/cgi-bin/dotlet). 3.2 Jednoduché zarovnání Jedná se o porovnání spárovaných znaků obou sekvencí. Správné zarovnání nukleotidu nebo aminokyseliny odráží evoluční vztah mezi dvěma nebo více homology, tzn. sekvence které sdílejí společného předka. Uvažujeme pouze mutace, nikoliv vložení/odstranění znaku. Předpokládáme, že kratší řetězec vznikne z delšího vložením mezer, u delšího mezery neuvažujeme. Problém je redukován na výběr první pozice v delší sekvenci, od které začneme obě sekvence porovnávat. Začátek kratšího řetězce se postupně posunuje vzhledem k delšímu řetězci a pro každý posun se vyhodnocuje počet shodujících a neshodujících se znaků. Zvolme např. následující dvě kratší sekvence aminokyselin MEEPQSDP a MEASDP. Tyto dvě sekvence můžeme zarovnat pouze třemi způsoby bez vkládání mezer: MEEPQSDP MEEPQSDP MEEPQSDP MEASDP MEASDP MEASDP Abychom mohli určit, které ze tří zarovnání je optimální, musíme rozhodnout jak ohodnotíme jednotlivá zarovnání. Ohodnocení určíme jako sumu příspěvků pro shodné páry a 9
15 penalizace pro různé páry. Ohodnocení zarovnání je potom dáno: s(u, v) = n { shoda pro ui = v i neshoda pro u i v i i=1 kde n je délka delší sekvence, u a v jsou jednotlivé sekvence. Pro shodu můžeme použít ohodnocení 1 a pro neshodu 0. Výše uvedená zarovnání budou ohodnoceny hodnotami 2, 1 a 3. Toto ohodnocení není ideální a nevystihuje vývoj v přírodě. Některé záměny ovlivní výslednou sekvenci méně než jiné. Používají se tzv. skórovací matice, které obsahují ohodnocení pro všechny dvojice nukleotidů nebo aminokyselin. 3.3 Mezery Pro analýzu reálných sekvencí je nezbytné uvažovat vložení a odstranění znaků. Pokud uvažujeme možnost inserce a delece zvýší se počet možných zarovnání sekvencí. V předchozím příkladě se zvýší počet možných zarovnání na 28, když do kratší sekvence vkládáme mezery. Pouze 5 z 28 možných zarovnání s mezerou: MEEPQSDP MEEPQSDP MEEPQSDP MEEPQSDP MEEPQSDP MEA-SD-P M--EASDP M-EA-SDP M-E-ASDP ME--ASDP Do ohodnocení zarovnání zahrnujeme penalizaci za vložení mezery. Ohodnocení s mezerou může být vypočítáno následovně: n mezera pro u i = nebo v i = s(u, v) = shoda pro u i = v i i=1 neshoda pro u i v i Pokud zvolíme ohodnocení jako v předchozím příkladě, a vložení mezery ohodnotíme hodnotou -1 dostaneme výsledné ohodnocení 1, 2, 3, 3 a 3 (zleva do prava). Je běžné, že dvě a více zarovnání obsahují stejné ohodnocení. Z pohledu evoluce je však potřeba rozlišovat mezi různými typy mezer. Je mnohem pravděpodobnější vznik menšího počtu delších mezer, než vznik většího počtu krátkých mezer. Ze tří zarovnání sekvencí se stejným ohodnocením vybereme nejpravděpodobnější zarovnání: MEEPQSDP ME--ASDP Penalizaci za mezery můžeme rozdělit na dvě části: ρ za započetí mezery a σ za rozšíření mezery. Výpočet pro mezeru délky m vypočteme vzorcem (ρ + (σ m)). Upravená funkce pro výpočet skóre: 1 shoda n 0 neshoda s(u, v) = 1 pokračující mezera i=1 2 počáteční mezera Pro tři výše uvedená stejně ohodnocená zarovnání dostaneme ohodnocení -1, -1 a 1. 10
16 3.4 Skórovací matice Zabývali jsme se rozlišováním různých typů mezer, ale ve skutečnosti je potřeba rozlišovat i záměny mezi různými znaky. U aminokyselin mají změny mezi hydrofobními aminokyselinami daleko menší důsledky na změnu funkce než změny z hydrofobní na aminokyselinu s nábojem. Při sestavování skórovací matice pro aminokyseliny je nezbytné uvažovat podobnost v jejich chemické struktuře(hydrofobii, náboj, elektronegativitu, velikost). Je pravděpodobnější změna mezi dvěma aminokyselinami s podobnou chemickou strukturou, než změnou mezi dvěmi aminokyselinami s rozdílnou strukturou. Velmi často se používá přístup, kdy se hodnoty v maticích určí experimentálně na základě rychlosti substituce mezi sekvencemi, u kterých je znám směr vývoje. PAM(Point Acepted Mutation) matice jsou sestaveny a normalizovány tak, že jejich vynásobením získáme matice pro různě odlišné sekvence. Matice PAM-1 se používá pro velmi blízké sekvence, PAM-1000 je vhodná pro velmi vzdálené sekvence, v praxi se vetšinou volí PAM-250 jako zaběhnutý kompromis. Podobně jsou konstruovány matice BLOSUM-XX, kde XX značí procentuální míru podobnosti sekvencí. Matice BLOSUM-62 se používá pro 62% podobné sekvence, BLOSUM-80 je vhodná pro sekvence podobné si kolem 80%. 3.5 Needleman-Wunsch algoritmus Pro porovnání dvou sekvencí můžeme použít přístup dynamického programování, který spočívá v rozdělení problému na podproblémy. Needleman a Wunsch byli první, kteří aplikovali tento přístup na porovnávání sekvencí. V roce 1970 publikovali svůj přístup v časopise Journal of Molecular Biology [6]. Existují tři možnosti, jak může vypadat zarovnání první pozice: 1. vložíme mezeru do první sekvence a porovnáme ji se znakem z druhé sekvence 2. vložíme mezeru do druhé sekvence a porovnáme ji se znakem z první sekvence 3. nevložíme žádnou mezeru a porovnáme znaky z obou sekvencí Všechny ohodnotíme pomocí skóre s. Jestliže známe skóre pro zarovnání zbývajících částí sekvencí S, můžeme snadno určit skóre celého zarovnání sečtením obou hodnot s + S. Pro optimální zarovnání bude celkové ohodnocení maximální. Needleman-Wunsch algoritmus pro porovnání dvou sekvencí používá tabulku částečného hodnocení (3.1). Záhlaví řádků a sloupců jsou označena posloupností znaků z porovnávaných sekvencí. Cesta z levého horního rohu do pravého dolního rohu tabulky odpovídá jednomu možnému zarovnání. Horizontální pohyb v tabulce znamená vložení mezery do sekvence na vertikální ose. Vertikální pohyb znamená vložení mezery do sekvence na horizontální ose. Pozice(1,1) v tabulce je inicializována hodnotou 0 a první řádek a sloupec obsahují hodnoty odpovídající opakovanému vkládání mezer. V prvním kroku se určí hodnota pozice(2,2). Pozice reprezentuje první sloupec výsledného zarovnání. Existují tři možnosti, jak může být vložena hodnota. Na danou pozici můžeme doplnit tyto hodnoty: 1. Vezmeme hodnotu z levé pozice(2,1) a přidáme postih za vložení mezery, reprezentující mezeru ve vertikální ose. 11
17 Tabulka 3.1: Tabulka částečného hodnocení (vyplňování) M E A S D P M -1 1 E -2 E -3 Q -4 S -5 D -6 P -7 M E A S D P M E E Q S D P Vezmeme hodnotu z horní pozice(1,2) a přidáme postih za vložení mezery, reprezentující mezeru v horizontální ose. 3. Vezmeme hodnotu z diagonály vlevo nahoře(1,1) a přidáme ohodnocení symbolů aminokyselin na osách, reprezentující zarovnání aminokyselin. Doplníme do tabulky hodnotou, která poskytuje největší zisk. Můžeme pokračovat vyplněním zbytku řádku a postupně vyplníme celou tabulku. Pravý dolní roh tabulky bude obsahovat hodnotu optimálního zarovnání. V tabulce nalezneme cestu z levého horního rohu do pravého dolního rohu, která vede k hodnotě v pravém dolním rohu. Zpětně procházíme tabulkou od pravého spodního rohu. Hledáme pozici, která obsahuje hodnotu z níž byla odvozena hodnota pro pravý dolní roh (3.2). Hledání cesty pokračuje stejným způsobem z této pozice. Můžeme pro některé sekvence nalézt více zarovnání, která jsou stejně ohodnocena. Pro uvedené sekvence existují tři výsledná zarovnání (3.3). 3.6 Semiglobální zarovnání Předchozí případ popisoval globální zarovnávání. Porovnával dvě sekvence jako celek, kdy jakýkoliv výskyt mezery byl penalizován. V reálných případech potřebujeme vyhledat výskyt krátké sekvence uvnitř dlouhé sekvence nebo dokonce celého genomu. Potencionálně dlouhé mezery na začátku a na konci kratšího řetězce nechceme penalizovat. Tento přístup je označován jako semiglobální zarovnání. Můžeme upravit algoritmus tak, aby vyhovoval požadavkům pro semiglobální zarovnání. Úpravu provedeme inicializováním prvního řádku a prvního sloupce tabulky na 0, tzn. že povolujeme přidávání mezer na začátku sekvence bez postihu, a nepřičítáme postihy za vkládání mezer v posledním řádku a v posledním sloupci. Zvolme si dvě sekvence aminokyselin MKFLVLLFNILC a VLLF. Zarovnejme je pomocí semiglobálního zarovnání (3.4). Výsledné semiglobální zarovnání je Smith-Waterman algoritmus S malou úpravou, dynamické programovací metody, dosáhneme toho, že můžeme rozpoznat shodné podsekvence pokud ignorujeme neshody a mezery před a za porovnávanou oblastí. Výsledný algoritmus byl poprvé představen Smithem a Watermanem v roce 1981 [8]. 12
18 Tabulka 3.2: V tabulce částečného skóre je vyznačena cesta z dolního pravého rohu do horního levého rohu. Každá cesta reprezentuje jednu ze tří stejně optimálních zarovnání. (a) 5, 1, 1 M E A S D P M E E Q S D P (b) 4, 1, 2 M E A S D P M E E Q S D P (c) 3, 1, 3 M E A S D P M E E Q S D P Algoritmus upravíme následovně první řádek a sloupec jsou inicializovány na nuly. Neshoda je penalizována např. -1, aby při neshodě ohodnocení klesalo. Pokud je v některém místě ohodnocení menší než nula, pak nastav hodnotu místa na nulu. Když je tabulka částečného skóre vyplněná, najdeme maximální výskyty zarovnání. Zpětně procházíme tabulkou dokud se nedostaneme na pozici, kde se nachází hodnota 0. Výsledek lokálního zarovnání reprezentuje nejlepší nalezenou podsekvenci v porovnávaných sekvencích. Nalezených podsekvencích může být několik. Algoritmus. Mějme dvě sekvence A = a 1 a 2... a n a B = b 1 b 2... b m. Podobnost s(a, b) je dána mezi sekvencemi prvků a a b. Vymazání délky k je dáno váhou W k. Pro nalezení dvojic segmentu s největší podobností, nastavíme matici H. Počáteční nastavení H k0 = H 0l = 0 pro 0 k n a 0 l m. Předběžná hodnota matice H vyjadřuje, že H ij je maximální podobnost končící na pozici a i a b j. Tato hodnota se získá následovně: H i 1,j 1 + s(a i, b j ) porovnání H H i,j = max i k,j W k vložení H i,j l W l odstranění 0 konstanta { 1 shoda s(a i, b j ) = 1 neshoda 13
19 Tabulka 3.3: Výsledná globální zarovnání a) M E E Q S D P M - E A S D P b) M E E Q S D P M E - A S D P c) M E E Q S D P M E A - S D P Tabulka 3.4: Semiglobální zarovnání M K F L V L L F N I L C V L L F Hledejme lokální zarovnání řetězce aminokyselin MLITVVS v řetězci MAKITVVN- NQDE. Výsledná tabulka lokálního zarovnání bude vypadat 3.5. Výsledné lokální zarovnání je 4. Tabulka 3.5: Lokální zarovnání M A K I T V V N N Q D E M L I T V V S Shrnutí Při porovnávání biologických sekvencí je nutné brát v úvahu chyby v podobě vložení, odstranění nebo záměny znaku. Kvalita výsledného zarovnání závisí z velké části na vybrané skórovací funkci. Optimální výpočet nabízí algoritmy Needleman-Wunsch(globální zarovnání) a Smith-Waterman(lokální zarovnání). Algoritmy Needleman-Wunsch a Smith- 14
20 Waterman mají kvadratickou časovou složitost O(n 2 ). Jsou vhodné pouze pro detailní analýzu vybraných kandidátních řešení. Nejsou použitelné pro prohledávání rozsáhlých databází, zde přichází v úvahu použití heuristik. 15
21 Kapitola 4 Shlukovací analýza Shlukování neboli shluková analýza (clustering, cluster analysis) je proces rozdělování objektů do skupin (shluků) tak, aby objekty v každém shluku sdílely společné vlastnosti, a byly si co možná nejvíce podobné, a naopak, aby si objekty v různých shlucích byly maximálně nepodobné. U podobnosti objektů se často využívají vzdálenostní funkce. Existuje mnoho prakticky používaných algoritmů pro shlukování, některé si dále popíšeme. Podrobnější informace lze nalézt v [4, 9, 2]. 4.1 Typy dat Při shlukování se nejčastěji setkáme s následujícími dvěma datovými strukturami. Datová matice reprezentuje n objektů pomocí p proměnných. Tato struktura je znázorněna relační tabulkou, nebo maticí n p. A = a 11 a a 1p a 21 a a 2p a n1 a n2... a np Podobnostní matice obsahuje vzdálenosti pro všechny dvojice objektů, reprezentuje se jako tabulka n n. B = 0 d(2, 1) 0 d(3, 1) d(3, 2) d(n, 1) d(n, 2)... d(n, n 1) 0 Funkce d(i, j) je funkce vzdálenosti mezi objekty i a j. Vzdálenostní funkce musí splňovat tyto požadavky: d(i, j) 0 d(i, i) = 0 d(i, j) = d(j, i) 16
22 d(i, j) d(i, h) + d(h, j) Nejběžnější používaná vzdálenostní funkce je Euklidovská vzdálenost, která má tvar: d(i, j) = x i1 x j1 2 + x i2 x j x in x jn 2, kde i = (x i1, x i2... x in ) a j = (x j1, x j2... x jn ). Minkowského vzdálenost je zobecněním Euklidovské vzdálenosti a je definována následovně: kde p je pozitivní celé číslo. d(i, j) = ( x i1 x j1 p + x i2 x j2 p x in x jn p ) 1/p, Nominální proměnné V primární struktuře proteinů se setkáme s aminokyselinami, které můžeme charakterizovat jako nominální proměnné. Nominální proměnné mohou nabývat více hodnot, ale hodnoty jsou předem definovány (názvy aminokyselin) a jejich počet je omezen (celkem 20). Vzdálenost dvou aminokyselin, můžeme určit podle jednoduchého koeficientu shody: d(i, j) = p m, p kde m je počet shod a p je celkový počet proměnných. Koeficient můžeme přizpůsobit přiřazením vah podle významu jednotlivým proměnným. 4.2 Rozdělení shlukovacích metod Není jednoduché rozdělit shlukovací metody do skupin, protože některé mohou využívat více přístupů. Hlavní shlukovací metody můžeme rozdělit do následujících skupin Metody založené na rozdělování Dostanou na začátku shlukování množinu o n objektech, kterou postupně rozdělují do k tříd, kde každá třída reprezentuje shluk a k n. Každá třída musí obsahovat alespoň jeden objekt a každý objekt musí náležet do jedné třídy. Podle parametru k se provede počáteční rozdělení do tříd. Postupným iterováním metody se zpřesňuje rozdělení do tříd, objekty se přesouvají z jedné třídy do jiné. Podobnost prvků uvnitř jedné třídy je maximální a podobnost prvků z různých tříd minimální. Mezi rozdělující metody můžeme zařadit k-means algoritmus, který je reprezentován průměrnou hodnotou shluku, a k-medoids algoritmus, který je založen na reprezentujícím objektu, který se nachází poblíž středu shluku. Dobře naleznou shluky kulovitého tvaru. Nevýhodou je zadávání počtu tříd do kterých chceme objekty rozdělit Hierarchické metody Vytvářejí hierarchický rozklad dané množiny objektů, vzniká strom shluků. Rozlišujeme shlukující a rozdělující hierarchické metody. Shlukující přístup nejprve umístní objekty do jednoobjektových tříd. Slučuje postupně objekty nebo třídy objektů, které jsou si nejblíže 17
23 do nové třídy, dokud nezbude jen jedna třída nebo není splněna ukončující podmínka. Rozdělující přístup začíná se všemi objekty v jednom shluku, a postupně rozděluje na menší shluky dokud není každý objekt v samostatném shluku, nebo není splněna ukončující podmínka. Nevýhodou je, že pokud třídy sloučíme nebo rozdělíme, není možné třídy znovu rozdělit nebo spojit. Hierarchické metody nemusí být dostatečně přesné. Výpočetní složitost je menší než u metod založených na rozdělování Metody založené na hustotě Metody založené na hustotě považují za shluky oblasti s velkou hustotou objektů v prostoru dat, které jsou do sebe oddělené oblastmi s malou hustotou vyskytujících se objektů. Objekty, které se vyskytují v oblastech s malou hustotou, se považují za šum. Shluk roste dokud se v jeho dosahu vykytuje dostatečný počet hodnot tzv. práh. Tyto metody umožňují nacházet shluky různých tvarů a vypořádají se s výskytem šumu a odlehlých hodnot. Nevýhodou těchto metod je zvolení správné hodnoty velikost okolí a prahu. Do této kategorie můžeme zařadit metody DBSCAN a DENCLUE Metody založené na mřížce Metody založené na mřížce využívají víceúrovňovou mřížkovou strukturu. Prostor objektů rozdělují na konečný počet buněk, které tvoří mřížku. Všechny shlukovací operace probíhají nad mřížkou. Hlavní výhodou těchto metod je rychlé zpracování, který je nezávislý na počtu vstupních objektů a závisí jen na počtu buněk mřížkové struktury. Metoda STING je příkladem metody založené na mřížce. WaveCluster aplikuje vlnkovou transformaci na shlukovou analýzu a je založena na principech hustoty a mřížky Metody založené na modelech Metody založené na modelech se snaží optimalizovat shodu mezi datovou množinou a vybraným matematickým modelem. Snaží se nalézt shluky, které by co nejvíce odpovídali zvolenému modelu. Berou v úvahu šum a odlehlé hodnoty. EM algoritmus provádí analýzu očekávaného maxima založenou na statistickém modelování, COBWEB metoda konceptuálního shlukování využívá klasifikační strom, SOM, model neuronových sítí, shlukuje vysoce dimenzionální data do 2D nebo 3D struktury, hodí se pro vizualizaci dat Metody pro vysoce-dimenzionální data Většina shlukovacích metod byla navržena pro shlukování dat s malým počtem dimenzí a potýkají se s řadou problémů při shlukování vysoce dimenzionálních dat. Jak se počet dimenzí zvyšuje data se více rozptýlí a data, která se nacházejí v různých dimenzích mohou být považována za stejně vzdálená. CLIQUE a PROCLUS jsou metody transformace rysů, které hledají shluky v menším podprostoru dat. pcluster shlukuje na základě často se vyskytujícího vzoru vybraných atributů. 18
24 4.3 Shlukovací metody K-means K-means je jeden z nejjednodušších shlukovacích algoritmů. Vstupem je množina objektů, které chceme shlukovat. Na začátku musíme stanovit počet shluků k. Algoritmus lze popsat následovně: 1. Náhodně zvolíme středy shluků, pro každý shluk jeden. Rozmístění ovlivňuje výsledek. Středy je doporučeno volit daleko od sebe. 2. Přiřadíme každý objekt ze vstupní množiny ke shluku, jehož střed je nejbližší, podle vzdálenostní funkce. 3. Přepočítáme středy shluků jako těžiště prvků shluku. 4. Dokud se pohybují středy shluků, pokračujeme bodem 2. Uvedený algoritmus má řadu nevýhod. Musíme předem zadat počet požadovaných shluků. Algoritmus nemusí najít optimální výsledek, ale může uváznout v lokálním extrému. Obtížná je též počáteční volba středů shluků Aglomerative Nesting Metoda AGNES patří mezi hierarchické metody, které vytvářejí rozklad dané množiny objektů, vzniká přitom strom shluků. Tato metoda shlukuje zdola nahoru. Metodu můžeme popsat následovně: 1. Vypočítej matice podobnosti objektů. Počáteční rozklad je tvořen jednoobjektovými shluky. 2. Nalezni nejmenší vzdálenost shluků v aktuální úrovni hierarchie. Pokud jich je více, udělej náhodný výběr. 3. Spoj nejbližší shluky do nového shluku ve vyšší úrovni hierarchie, ostatní shluky se nemění. 4. Vypočti charakteristiky shluků v aktuální hladině rozkladu. 5. Pokud existuje více než jeden shluk nebo se nedosáhlo počtu shluků zadaných uživatelem pokračuj bodem 2. Vzdálenost mezi shluky můžeme vyjádřit pomocí průměrné vzdálenosti: d(c i, C j ) = 1 C i C j p C i,r C j p r, kde p r je vzdálenost mezi objekty p a r, a C i je počet objektů třídy C i. Základní nevýhodou je, že pokud některé třídy sloučíme, není už možné nikdy tyto třídy znovu rozdělit. Výpočetní složitost je menší než u K-means. Můžeme specifikovat počet tříd, do nichž chceme objekty rozdělit. Další nevýhodou je, že není příliš škálovatelná. 19
25 4.3.3 Density-based clustering DENCLUE je metoda založená na využití distribučních funkcí hustoty. Je postavená na následujících myšlenkách: 1. Vliv každého objektu můžeme formálně modelovat pomocí matematické funkce, která zachycuje vliv objektu v jeho okolí. 2. Celkovou funkci hustoty datového prostoru můžeme modelovat analyticky jako součet jednotlivých funkcí vlivu všech bodů(objektů) v prostoru dat. 3. Shluky potom jsou matematicky určeny místy v prostoru, kde se nacházejí lokální maxima celkové funkce hustoty. Jako funkci vlivu můžeme zvolit libovolnou funkci vlivu, která je odvozena od vzdálenosti mezi dvěma objekty např. Euklidovská vzdálenost. Z ní odvodíme obdélníkovou funkci vlivu: { 0 pro d(x, y) > σ f Square (x, y) = 1 pro d(x, y) σ nebo Gaussovou funkcí vlivu: f Gauss (x, y) = e d(x,y)2 2σ 2 Celková funkce hustoty v bodě x v prostoru je součtem funkcí vlivu v bodě x. Jedná se o sumu funkcí vlivu všech ostatních bodů na bod x. Použijeme-li obdélníkovou funkci vlivu a do vzdálenosti σ od bodu x se bude nacházet n objektů, potom celková funkce hustoty v bodě x bude mít hodnotu n. Místa, kde funkce celkové hustoty dosahuje lokálních maxim, představují centra nalezených shluků. Výhoda je, že metoda je postavena na matematickém základě. Umožňuje matematicky popsat shluky libovolného tvaru i pro vysoce-dimenzionální data. Poradí si i s množinami, které obsahují velké množství šumu. Nevýhodou zůstává nastavení parametru σ WaveCluster Metoda WaveCluster popsaná v [7] využívá vlnkové transformace, která transformuje původní prostor dat. Všechny operace shlukování probíhají nad mřížkovou strukturou. Hlavní kroky algoritmu jsou popsány následovně: 1. Rozdělí datový prostor pomocí mřížky a přiřadí objekty do buněk rozděleného prostoru. 2. Aplikuj vlnkovou transformaci na rozdělený prostor mřížky. 3. Najdi připojené komponenty v dílčích pásmech po transformaci prostoru mřížky. 4. Připoj je k buňkám 5. Mapuj objekty do shluků Výpočetní složitost této metody je O(n), kde n je počet objektů v databázi. Metoda je velmi rychlá. Efektivně zpracovává velké množiny dat, umožňuje nalezení shluků libovolného tvaru, vypořádá se s odlehlými hodnotami, nezávislá na pořadí zpracování objektů, nevyžaduje vstupní parametry. 20
26 4.3.5 Self Organizing Map Samoorganizující se mapa je typ neuronové sítě, navržená prof. Kohonenem v roce Jedná se o jednovrstvovou sít, která se učí bez učitele a provádí mapování vysoce dimenzionálních dat do prostoru s nízkou dimenzí. Výsledné shluky mohou být tvořeny jedním i více neurony. Mapuje blízké objekty do topologicky blízkých neuronů v novém nízko dimenzionálním prostoru. Běžné je uspořádání neuronů do obdélníku. Všechny vstupy jsou propojeny se všemi výstupními neurony. Každý neuron má polohu v mřížce určenou souřadnicemi i, j a váhovým vektorem w ij se stejnou dimenzí jakou mají vstupní data x i. Dimenze je často mnohonásobně větší než počet neuronů sítě. Učení neuronové sítě probíhá takto: 1. Náhodně inicializujeme váhové vektory w ij všech neuronů. 2. Náhodně vybereme vektor x i z množiny vstupních dat. 3. Nalezneme vítězný neuron, jehož váhový vektor w ij je nejblíže zvolenému vstupnímu vektoru x i podle zvolené funkce pro výpočet vzdálenosti. 4. Upravíme váhové vektory vítězného neuronu, příp. i okolních neuronů, podle vztahu: w ij (t + 1) = w ij (t) + η ij (t)[x i (t) w ij (t)] 5. Nebylo-li dosaženo zvoleného počtu učících se kroků, pokračujeme bodem 2. Učící se parametr η ij (t) je určen vztahem η ij (t) = α(t) exp( r j r i 2 ). Člen α(t) představuje 2σ 2 (t) učící krok a exponenciální člen tvar okolí. Učící krok může být konstantní a nebo se měnit v čase. V příp. konstantní hodnoty můžeme učit sít nejprve nahrubo s vyšší hodnotou parametru α a nižším počtem kroků a pak na jemno s nižší hodnotou α a vyšším počtem kroků. Běžně se používá Euklidovská vzdálenost. Je možné použít vnitřní součin vektorů, ale nesplňuje definici metriky d = n i=1 x iy i. Proces mapování probíhá tak, že k předloženému vzoru se v naučené síti vyhledá vítězný neuron a vzor je zařazen do shluku Clustering in Quest Algoritmus CLIQUE v roce 1998 navrhli Agrawal a kolektiv v [1] pro numerické proměnné. Tento shlukovací algoritmus využívá principů založených na hustotě, tak i principů založených na mřížce. Identifikuje shluky podle hustoty v podprostoru s nejvyšším počtem dimenzí. Vytvoří shluky popsané pomocí DNF(Disjunktní normální formy) a usiluje o minimální popis obsahu. Metoda se skládá z následujících kroků: 1. Identifikuje podprostory, které obsahují shluky. 2. Identifikuje shluky. 3. Vygeneruje minimální popis pro shluky. 21
27 Začíná se definicí jednotky, kterou představuje buňka obdélníku v podprostoru. Jednotky u kterých hustota překračuje práh τ jsou ponechány. Používá se přístup zdola-nahoru k nalezení těchto jednotek. 1-dimenzionální jednotky jsou nalezeny rozdělením do intervalů, které mají stejnou šířku mřížky. Oba parametry jsou vstupem algoritmu. Rekurzivní krok z q 1 dimenze do q dimenze zahrnuje spojení q 1 jednotek mající základ v q 2 dimenzi. Všechny podprostory jsou seřazeny podle pokrytí a méně pokryté podprostory jsou odstraněny. Bod ořezání je vybrán podle minimální délky popisu (minimum description length). Shluk je definován jako maximální množina spojených jednotek. Je reprezentován disjunktní normální formou, která je spojená s konečnou množinou maximálních segmentů, kde sjednocení je rovno shluku. Metoda splňuje požadavky na nalezení shluku v podprostoru vysoce dimenzionálních dat, škálovatelnosti, podává srozumitelné výsledky pro uživatele, vytváří shluky různého tvaru, není citlivá na pořadí vstupních dat. 22
28 Kapitola 5 Návrh 5.1 Aplikace Aplikace se skládá ze dvou částí: 1. části pro výpočet zarovnání, 2. části pro shlukování. Obě části jsou na sobě nezávislé, lze je použít odděleně. Pro vývoj aplikace byl zvolen programovací jazyk Python verze Použití aplikace je popsáno v příloze uživatelská příručka B. Popis datových typů a funkcí se nachází v programátorské příručce C. Obrázek 5.1: Návrh aplikace Modul zarovnání Modul zarovnání provede sestavení výsledné matice podobnosti pro shlukování. Matice podobnosti představuje vzdálenost mezi jednotlivými proteiny. Matice podobnosti se sestaví: 1. Vypočítej ohodnocení všech dvojic proteinů 2. Normalizuj ohodnocení vypočítané dvojice 3. Hodnoty ulož do trojúhelníkové matice Modul shlukování Modul shlukování bere ze vstupu matici podobnosti a provádí samotné shlukování. Výstupem shlukování je soubor s nalezenými shluky. 23
29 5.1.3 Uživatelské rozhraní Uživatelské rozhraní aplikace je z příkazového řádku. K dispozici jsou příkazy pro zarovnání sekvencí a shlukování. 5.2 Vzdálenostní funkce Vzdálenostní funkce mezi dvěma objekty i a j se určí pomocí zarovnání. Výsledné zarovnání udává vzdálenost mezi dvěma objekty i a j. d(i, j) = a(i, j), (5.1) kde d(i, j) je vzdálenostní funkce a a(i, j) je funkce zarovnání. Normalizace dat v matici podobnosti mezi jednotlivými objekty i a j, se provede následovně: d(i, j) n(i, j) =, (5.2) l ij M max kde n(i, j) je normalizovaná hodnota, l ij je počet možných shodných znaků objektů i a j, M max je nejlepší možné ohodnocení mezi dvěma znaky z použité skórovací matice. Interval do, kterého se hodnoty normalizují závisí na zvoleném zarovnání. Hodnoty z lokálního a semiglobálního zarovnání se normalizují do intervalu (0, 1), protože neumožňují a hodnoty získané z globálního zarovnání se normalizují do intervalu ( 1, 1). Pro globální zarovnání provedeme navíc normalizaci z intervalu (-1,1) do intervalu (0,1) podle vztahu min-max normalizace: v n = v min (max(n) min(n)) + min(n) (5.3) max min kde min, max jsou minimální a maximální hodnoty transformovaného zarovnání, min(n), max(n) jsou hodnoty požadovaného rozsahu. Do vztahu dosadíme hodnoty za (min, max) = ( 1, 1) a (min(n), max(n)) = (0, 1): 5.3 Vstupní data v n = v ( 1) (1 0) ( 1) (5.4) v n = v (5.5) Pro vstupní sekvence proteinů jsou použita data ve formátu FASTA převzatá z databáze SWISS-PROT k datu Pro modul zarovnání jsou dalším vstupem skórovací matice PAM a BLOSUM. Skórovací matice PAM byly získány z adresy nl/tools/pam.html a matice BLOSUM z matrices/ FASTA formát FASTA formát je nejběžnější a nejjednodušší formát ve kterém se sekvence distribuují a uchovávají se. Je stejný pro DNA i proteiny. Formát je textově založený pro reprezentaci sekvence proteinu, kde aminokyseliny jsou zaznamenány jedno písmenným kódem. Z jednou z výhod tohoto formátu je velikost. Je kompaktní a obsahuje minimum dodatečných 24
30 informací. Jednoduchost formátu ho činí jednoduše použitelným skriptovacími jazyky jako jsou např. Python a Perl. Sekvence uložená ve FASTA formátu začíná jedním popisným řádkem, následována řádky obsahující vlastní sekvenci. Popisný řádek začíná znakem >, který ho odlišuje od vlastní sekvence proteinu. Za tímto znakem následuje stručný popis sekvence. Jednoduchý příklad sekvence ve FASTA formátu: >sp Q9BIW5 LIMC_DICDI LIM domain-containing protein C OS=Dictyostelium discoideum MSSICPTCTKRVYAAEAVKACEKQYHKLCLQCFHCHKILQLGQYSERDGQPYCKTDYDRL FRQAGYRGGGVVADSFEPAPKVETTTPVEPTPPPTFLTPTEEVKVQLFPTNCPKCGKKAY FNELKVYNSRDWHKTCFACFSCNKNLVSGQYSEKEGLIYCPRCYQSKFGPSGYTNTGALV LH Skórovací matice Skórovací matice PAM a BLOSUM jsou uloženy v jednoduchém textovém formátu. Struktura textového formátu je tvořena řádky s komentáři, které začínají znakem # a dále samotnou skórovací maticí. Způsob uložení matice je vhodný ke zpracování skriptovacími jazyky. Ukázka uložení části matice BLOSUM-62: # Entropy = , Expected = A~R N D C Q E G H I~L K~M F P S~T W Y V~B Z~X * A~ R
31 Kapitola 6 Implementace Kapitola popisuje implementaci shlukování proteinů. Aplikaci jsem nazval CLUSTOOL (CLUStering TOOL). CLUSTOOL je orientován na příkazový řádek a skládá se z několika částí. Každá z částí se nachází v jednom souboru. V hlavním adresáři se kromě hlavních souborů nachází pomocné skripty. Jsou zde také uloženy výstupní soubory *.dat z prováděných testů. V adresáři matrix/ jsou uloženy substituční matice PAM a BLOSUM. V adresáři data/ jsou uloženy vstupní soubory se sekvencemi proteinů. Modul slicer.py slouží k získání n vzorků sekvencí ze souboru uniprot sprot.fasta. Modul alignments.py vytvoří podobnostní matici a modul clustering.py provádí shlukování. 6.1 Vzorky Modul slicer.py očekává na vstupu soubor ve formátu fasta, a požadovaný počet proteinových sekvencí. Na výstup vytiskne požadovaný počet proteinových sekvencí. Modul slicer.py pracuje: 1. Zpracuje vstupní argumenty. 2. Zavolá funkci pro čtení souboru a přečte n proteinových sekvencí 3. Proběhne tisk n sekvencí 6.2 Podobnostní matice Modul alignments.py očekává na vstupu vzorek dat ve formátu fasta, metodu zarovnání a substituční matici. Výstupem je normalizovaná matice podobnosti. Modul implementuje dynamické programování pro algoritmy Needleman-Wunsh, Smith- Waterman a semiglobální zarovnání. Modul alignments.py pracuje: 1. Modul zpracuje vstupní argumenty 2. Přečte soubor se vstupními sekvencemi 3. Protein se uloží do datového typu Protein, proteiny jsou uloženy v seznamu Proteiny 26
32 class Protein: def init (self, name, seq): self.name = name self.sequence = seq 4. Přečte se soubor se vstupní maticí a hodnoty se uloží do proměnné ScoringMatrix, která je datového typu slovník. 5. Provede se výpočet podobnostní matice. Pro každou dvojici sekvencí se provede pomocí dynamického programování výpočet tabulky částečného skóre ScoreTable. 6. Výsledné zarovnání ScoreTable[i][j] je normalizováno a uloženo do podobnostní matice DissimilarityMatrix[i, j], která je datového typu slovník. 7. V posledním kroku vytiskne podobnostní matici. 6.3 Shlukování Modul clustering.py očekává na vstupu podobnostní matici, shlukovací metodu, a počet cílových shluků. Výstupem je výsledné rozdělení vstupních dat do shluků. V modulu jsou implementovány shlukovací metody založené na rozdělování k-means, k- medoids a metoda založená na hierarchickém rozdělování AGNES. Modul clustering.py pracuje: 1. Zpracuje vstupní argumenty. 2. Přečte matici podobnosti a uloží ji do proměnné smatrix, která je typu seznam. 3. Vytvoří se počáteční rozložení do shluků v proměnné Clusters, která je datového typu seznam. 4. V každé iteraci se zpřesňuje rozložení do shluků a tiskne se proměnná Clusters. 5. Dokud není splněna podmínka pro ukončení, probíhá shlukování. 6.4 Pomocné skripty Skripty slouží k zautomatizování spouštění modulů. V adresáři se nacházejí soubory skriptů s příponami *.sh pro Linux a *.bat pro Windows. Ukázka pomocného skriptu kmeans.sh: #!/usr/local/bin/bash for j in do for i in do time./clustering.py -c kmeans -s align00$j.dat -k 3 > k$j-00$i.dat done done 27
33 Kapitola 7 Výsledky Kapitola popisuje provedené experimenty s daty nad metodami zarovnání a metodami shlukování. K vizualizaci dat byl použit program GNU plot. Experiment začíná výběrem vzorku dat, vhodným typem zarovnání a skórovací maticí. Pokud si k zarovnání vybereme algoritmus Needleman-Wunsh, dostaneme charakteristiku tabulky částečného skóre podobnou, jak je znázorněno na obrázku 7.1. Na obrázku jsou dvě sekvence o délce 60 znaků. Hodnoty se pohybují v rozmezí od -60 do 153. Můžeme si všimnout, že na diagonále je rostoucí tendence, naopak na okrajích je klesající, jde o postih za vložení mezery. Na obrázku 7.2 je znázorněna charakteristika zarovnání algoritmem Smith-Waterman. Sekvence v grafu jsou délky 60 znaků. Hodnoty v grafu se pohybují v rozmezí od 0 do 80. Můžeme si všimnout tří větších lokálních zarovnání, která se nacházejí na ose diagonály. Nejvýraznější lokální zarovnání je ze začátku sekvencí. Obrázek 7.1: Vizualizace globálního zarovnání 28
34 Obrázek 7.2: Vizualizace lokálního zarovnání 7.1 Průběh shlukování První experiment se shlukováním jsem prováděl nad vzorkem dat o 10 proteinech. Ze vstupního souboru sample010.fasta pomocí globálního zarovnání dostaneme na výstupu normalizovanou podobnostní matici 7.1. Pro shlukování byla zvolena metoda k-means s rozložením do3 shluků. Ke shlukování byla použita níže uvedená podobnostní matice. Experiment s touto maticí proběhl celkem 11-krát. Náhodně vždy byly vybrány středy shluků. Výsledky shlukování jsou shrnuty v tabulce 7.2, kde N je pořadí spuštěného shlukování, t značí počet proběhlých iterací. Ve výsledcích je zahrnuto počáteční rozložení do shluků. Počáteční rozložení se navzájem liší. Protein je reprezentován svým indexem i. Indexy proteinů začínají od 0. Přestože počáteční rozložení do shluků je rozdílné výsledné shluky jsou si velmi podobné. V osmi případech bylo rozdělení do shluků s 1 = (0, 1, 2, 5, 7), s 2 = (6), a s 3 = (3, 4, 8, 9), tyto shluky se nacházeli v různých pořadích. Ve dvou případech se objevilo rozložení do shluků s 1 = (0, 2, 3, 4, 5, 7, 8, 9), s 2 = (1), s 3 = (6). V jednom případu se našlo rozložení do shluků s 1 = (0, 3, 4, 5, 7, 8, 9), s 2 = (1, 2), s 3 = (6). P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 P 9 P P P P P P P P P Tabulka 7.1: Normalizovaná podobnostní matice, n = 10 Metoda AGNES najde pro vybranou podobnostní matici shluky s 1 = (1, 7, 0), s 2 = 29
35 N t Počáteční rozdělení Výsledek 1 4 [0, 5], [1, 2, 6, 7], [3, 4, 8, 9] [0, 1, 2, 5, 7], [6], [3, 4, 8, 9] 2 6 [9], [0, 1, 2, 3, 4, 5, 6, 7], [8] [3, 4, 8, 9], [6], [0, 1, 2, 5, 7] 3 3 [1, 6], [0, 3, 4, 5, 7, 8, 9], [2] [6], [3, 4, 8, 9], [0, 1, 2, 5, 7] 4 3 [3, 4, 8, 9], [0, 2, 5, 7], [1, 6] [3, 4, 8, 9], [0, 1, 2, 5, 7], [6] 5 3 [1, 6], [0, 2, 5, 7], [3, 4, 8, 9] [6], [0, 1, 2, 5, 7], [3, 4, 8, 9] 6 4 [3, 4, 8, 9], [1, 2, 6], [0, 5, 7] [3, 4, 8, 9], [6], [0, 1, 2, 5, 7] 7 5 [3, 4], [0, 1, 2, 5, 6, 7], [8, 9] [0, 1, 2, 5, 7], [6], [3, 4, 8, 9] 8 2 [0, 2, 3, 4, 5, 7, 8, 9], [6], [1] [0, 2, 3, 4, 5, 7, 8, 9], [6], [1] 9 4 [1, 2, 6], [0, 5, 7], [3, 4, 8, 9] [6], [0, 1, 2, 5, 7], [3, 4, 8, 9] 10 2 [1], [0, 2, 3, 4, 5, 7, 8, 9], [6] [1], [0, 2, 3, 4, 5, 7, 8, 9], [6] 11 2 [1, 2], [6], [0, 3, 4, 5, 7, 8, 9] [1, 2], [6], [0, 3, 4, 5, 7, 8, 9] Tabulka 7.2: Shlukování k-means, k = 3, n = 10 (5, 9, 8, 4, 3), s 3 = (6). Na výstupu můžeme vidět jednotlivé kroky hierarchického shlukování metodou ANGES. Během sedmi iterací metoda najde výsledné shluky. #./clustering.py -c agnes -s out -k 3 {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: [9, 8]} {0: 0, 1: 1, 2: 2, 3: [4, 3], 4: 5, 5: 6, 6: 7, 7: [9, 8]} {0: [7, 0], 1: 1, 2: 2, 3: [4, 3], 4: 5, 5: 6, 6: [9, 8]} {0: [7, 0], 1: 1, 2: 2, 3: [[9, 8], [4, 3]], 4: 5, 5: 6} {0: [7, 0], 1: 1, 2: 2, 3: [5, [[9, 8], [4, 3]]], 4: 6} {0: [1, [7, 0]], 1: 2, 2: [5, [[9, 8], [4, 3]]], 3: 6} {0: [1, [7, 0]], 1: [[5, [[9, 8], [4, 3]]], 2], 2: 6} Metoda k-medoids byla pro danou podobnostní matici spuštěna pro k = 3. Jednotlivé běhy se liší v pořadí v jakém našli stejné výsledné shluky. N t Počáteční rozdělení Výsledek 1 4 [3, 4, 8], [9], [0, 1, 2, 5, 6, 7] [0, 1, 2, 3, 4, 5, 7, 8], [9], [6] 2 4 [1, 2, 6], [0, 3, 4, 8, 9], [5, 7] [6], [3, 4, 8, 9], [0, 1, 2, 5, 7] 3 2 [0, 1, 2, 5, 6, 7], [3, 4, 8], [9] [0, 1, 2, 5, 6, 7], [3, 4, 8], [9] 4 2 [0, 2, 3, 4, 5, 7, 8, 9], [1], [6] [0, 2, 3, 4, 5, 7, 8, 9], [1], [6] 5 3 [8, 9], [0, 1, 2, 5, 6, 7], [3, 4] [9], [0, 1, 2, 5, 6, 7], [3, 4, 8] 6 3 [0, 2, 3, 4, 5, 7, 8], [9], [1, 6] [0, 1, 2, 5, 7], [3, 4, 8, 9], [6] 7 2 [3, 4, 8, 9], [6], [0, 1, 2, 5, 7] [3, 4, 8, 9], [6], [0, 1, 2, 5, 7] 8 2 [0, 1, 2, 5, 7], [6], [3, 4, 8, 9] [0, 1, 2, 5, 7], [6], [3, 4, 8, 9] 9 4 [0, 1, 2, 5, 6, 7], [9], [3, 4, 8] [6], [3, 4, 8, 9], [0, 1, 2, 5, 7] 10 2 [0, 2, 3, 4, 5, 7, 8, 9], [6], [1] [0, 2, 3, 4, 5, 7, 8, 9], [6], [1] Tabulka 7.3: Shlukování k-medoids, k = 3, n = 10 Nejčetnější rozdělení do shluků je s 1 = (0, 1, 2, 5, 7), s 2 = (3, 4, 8, 9), s 3 = (6) s četností 0,5. Druhým nejčastějším rozdělení do shluků je s 1 = (0, 1, 2, 5, 6, 7), s 2 = (3, 4, 8), s 3 = (9) 30
36 a rozdělení s 1 = (0, 2, 3, 4, 5, 7, 8, 9), s 2 = (1), s 3 = (6), obě s četností 0,2. Poslední nalezené rozdělení do shluků je s 1 = (0, 1, 2, 3, 4, 5, 7, 8), s 2 = (9), s 3 = (6) s četností 0, Shrnutí Tabulka 7.4 udává přehled o trvání jednotlivých procesů, N v tabulce značí počet sekvencí. Výpočetně nejnáročnější je porovnání všech dvojic a sestavení tabulky podobnosti, které trvá mnohem déle než samotný proces shlukování. Sestavení matice pro 300 sekvencí délky n vypočteme podle vzorce: k (k 1) a = n 2 2 (7.1) a = n 2 2 (7.2) kde k udává počet sekvencí, n je délka sekvencí, a = Časová složitost je potom O(44850 n 2 ). Pro sestavení tabulky podobnosti není potřeba znát přesné zarovnání, stačí hodnota ukazující míru podobnosti. Můžeme zvolit méně náročnou metodu výpočtu zarovnání. Optimalizace může být realizována např. metodou počítáním k-tic. Výpočetní složitost algoritmu k-means je O(nkt), kde n je počet sekvencí, k počet shluků, t počet iterací algoritmu. Časová složitost pro algoritmus k-medoids je pro každou iteraci O(k(n k)2 ). Pro velké hodnoty k a n se stává výpočet náročným. Složitost metody ANES je O(n 2 ) a je nejpomalejší porovnávanou shlukovací metodou podle tabulky 7.4 N Zarovnání Kmeans Kmedoids AGNES 10 4s 0,47s 0,46s 0,55s 20 2m52s 0,47s 0,47s 0,55s 50 14m23s 0,54s 0,53s 1,95s m18s 0,96s 0,95s 12,60s 300 9h55m55s 12,63s 12,60s 5m42,64s Tabulka 7.4: Porovnání procesů 31
37 Kapitola 8 Závěr Práce seznamuje s primární strukturou proteinů, používanými algoritmy pro hodnocení podobností proteinových sekvencí a také se shlukovací analýzou a shlukovacími metodami, které se používají pro dolování dat. Shlukovací metody byly implementovány v programovacím jazyce Python. Ze shlukovacích metod jsou implementovány metody založené na rozdělování k-means, k-medoids, a metoda založená na hierarchickém shlukování AGNES. Určení vzdálenosti mezi proteiny je dáno normalizovanou podobnostní maticí. Vzorky dat pro shlukování byly převzaty z databáze proteinů SWISS-PROT. Převzaté vzorky dat obsahovaly sekvence libovolné délky a libovolného počtu. K hodnocení podobností sekvencí jsou použity algoritmy Needlenam-Wunsh, Smith-Waterman a algoritmus pro semiglobální zarovnání. K dispozici jsou různé skórovací matice typu PAM nebo BLOSUM. Provedl jsem shlukování nad vzorky dat o velikostech 10, 20, 50, 100 a 300 proteinových sekvencí. Porovnal jsem časovou složitost algoritmů AGNES, k-means a k-medoids. Budoucí směr vývoje aplikace by mohl směřovat k jednoduchému grafickému uživatelskému rozhraní, které by uživateli zjednodušilo práci a umožnilo mu snadně zadat parametry pro shlukovací metody. Uživatelské rozhraní je zatím realizováno dynamickou stránkou, kterou generuje Python. V úvahu dále přichází optimalizace výpočtu podobnostní matice, a s tím související experimenty s větším množstvím proteinů např a více, rozšíření shlukovacích metod např. DENCLUE, WaveCluster, které se dokáží vypořádat s odlehlými hodnotami, a vizualizace vzniklých shluků. 32
38 Literatura [1] R. AGRAWAL and et al. Automatic subspace clustering of high dimensional data for data mining applications. In Proceedings of the ACM SIGMOD Conference, pages , Seatle, WA. [2] P. BERKHIN. Survey of clustering data mining techniques. Springer, [3] Jean-Michel CLAVERIE and Cedric NOTREDAME. Bioinformatics for Dummies. 2nd edition, Wiley, ISBN [4] Jiawei HAN and Micheline KAMBER. Data Mining: Concepts and Techniques. Academic Press, ISBN [5] D. E. KRANE and M. L. RAYMER. Fundamental Concepts of Bioinformatics. Benjamin Cummings, ISBN [6] Saul B. NEEDLEMAN and Christian D. WUNSH. A general method applicable to the search for similarities in the amino acid sequence of two proteins. Journal of Molecular Biology, 48(3): , [7] G. SHEIKHOLESLAMI, S. CHATTERJEE, and A. ZHANG. Wavecluster: A multi-resolution clustering approach for very large spatial databases. In Proceedings of the 24th Conference on VLDB, pages , New York, NY. [8] T. F. SMITH and M. S. WATERMAN. Identification of common molecular subsequences. Journal of Molecular Biology, 147(1): , [9] Jaroslav ZENDULKA and et al. Získávání znalostí z databází: studijní opora. Brno, VUT,
39 Příloha A Seznam příloh A.1 CD/DVD A.2 Uživatelská příručka A.3 Příručka programátora 34
40 Příloha B Uživatelská příručka Kapitola popisuje používání aplikace pro shlukování proteinů. Aplikace je orientována na příkazový řádek. Členění struktury aplikace je následovné: 1. V hlavním adresáři se nachází samotné moduly. 2. V adresáři data/ jsou uloženy soubory se vstupními sekvencemi. 3. V adresáři matrix/ jsou uloženy substituční matice. B.1 Modul zarovnání Modul se nachází v souboru alignment.py. Modul ze vstupních sekvencí proteinů vytvoří pro každou dvojici sekvencí zarovnání. Zarovnání dvou sekvencí je normalizováno do intervalu (0, 1) a uloží se do matice podobnosti, která je výstupem tohoto modulu. B.1.1 Vstupní parametry Vstupními parametry pro zarovnání jsou: -a alignment Typ zarovnání, které bude použito při zarovnávání sekvencí. Volby pro tuto hodnotu jsou global, pro algoritmus Needleman-Wunsh, lokal, pro Smith-Waterman, a semiglobal, pro semiglobální zarovnání. -f data Textový soubor, ze kterého se na se načítají vstupní sekvence proteinů. Tento soubor musí být ve formátu FASTA. -m scoring matrix Vybraná vstupní substituční matice typu BLOSUM nebo PAM, která se použije při výpočtu tabulky částečného skóre. -h,-help Tiskne nápovědu. B.1.2 Použití Použití modulu je následovné, pokud chceme použít globální zarovnání, substituční matici PAM-40 a vstupní soubor se sekvencemi sample002.fasta: #./alignment.py -a global -f sample002.fasta -m pam040.txt 35
41 Příklad vytiskne na obrazovku normalizovanou matici podobnosti. Podobnostní matici si můžeme uložit do souboru podobnost.dat pomocí přesměrování výstupu: #./alignment.py -a global -f sample002.fasta -m pam040.txt > podobnost.dat Pozn. soubory sample002.fasta a pam040.txt se musí nacházet v adresářích data/ a matrix/. B.2 Modul shlukování Modul shlukování ze vstupní normalizované matice podobností vytvoří shluky podle zvolené shlukovací metody. Modul je uložen v souboru clustering.py. B.2.1 Vstupní parametry Vstupními parametry pro shlukování jsou: -c clustering method Volba shlukovací metody, která se použije při shlukování. Hodnoty pro tuto volbu jsou agnes, pro hierarchické shlukování, kmeans, kmedoids pro metody založené rozdělování. -s dissimilarity matrix Soubor s normalizovanou podobnostní maticí, která byla vytvořena a předcházejícím kroku zarovnání. -k number Parametr musí být typu celé číslo (integer). Udává počet shluků, které se vytvoří během shlukování. -h, -help Parametr tiskne nápovědu. B.2.2 Použití Chceme například použít podobnostní matici podobnost.dat z předchozího příkladu s metodou k-means, a k nastavíme na 3 shluky: #./clustering.py -c kmeans -s podobnost.dat -k 3 Příklad vytiskne na obrazovku tři shluky. Celý proces si můžeme z automatizovat pomocí skriptů v BASHi, skript.sh: #!/bin/bash python alignment.py -a global -f sample002.fasta -m pam040.txt > podobnost.dat python clustering.py -c kmeans -s podobnost.dat -k 3 B.3 Uživatelské rozhraní V tomto případě se jedná o jednoduché webové rozhraní, kde se dají snadno zadat parametry. Rozhraní tvoří vstupní formuláře obsluhované cgi skripty. Nebyl zde kladen velký důraz na grafické uživatelské rozhraní. 36
42 Obrázek B.1: Vstupní formulář modulu zarovnání Obrázek B.2: Vstupní formulář shlukovacího modulu 37
43 Příloha C Příručka programátora Kapitola popisuje aplikaci z hlediska programátora. Jsou zde popsány datové typy a funkce. C.1 Datové typy Datová třída protein obsahuje datové proměnné name a sequence, které jsou typu řetězec(string). Třída protein slouží k uložení údajů o proteinu a to zejména jména a sekvence aminokyselin. Instance třídy protein jsou, pak uloženy v datovém typu seznam, který obsahuje všechny načtené proteiny. Obrázek C.1: UML diagram třídy proteinů Substituční matice se ukládá do datového typu slovník. Klíč do slovníku představuje dvojice aminokyselin, např. (A,L). Matice podobnosti se také ukládá do datového typu slovník. Klíčem do slovníku matice podobnosti je pořadové číslo proteinu, např. (3,4) pro 4. a 5. protein. Tabulka částečného skóre a shluky se ukládají do dvojrozměrného seznamu. Přístup probíhá přes indexy i, j např. do tabulky částečného skóre scoretable[i][j]. C.2 Popis funkcí Společné funkce pro oba moduly aligment.py a clustering.py: 38
Studijní materiály pro bioinformatickou část ViBuChu. úloha II. Jan Komárek, Gabriel Demo
Studijní materiály pro bioinformatickou část ViBuChu úloha II Jan Komárek, Gabriel Demo Adenin Struktura DNA Thymin 5 konec 3 konec DNA tvořena dvěmi řetězci orientovanými antiparalelně (liší se orientací
Genomické databáze. Shlukování proteinových sekvencí. Ivana Rudolfová. školitel: doc. Ing. Jaroslav Zendulka, CSc.
Genomické databáze Shlukování proteinových sekvencí Ivana Rudolfová školitel: doc. Ing. Jaroslav Zendulka, CSc. Obsah Proteiny Zdroje dat Predikce struktury proteinů Cíle disertační práce Vstupní data
Proteiny Genová exprese. 2013 Doc. MVDr. Eva Bártová, Ph.D.
Proteiny Genová exprese 2013 Doc. MVDr. Eva Bártová, Ph.D. Bílkoviny (proteiny), 15% 1g = 17 kj Monomer = aminokyseliny aminová skupina karboxylová skupina α -uhlík postranní řetězec Znát obecný vzorec
Inovace studia molekulární a buněčné biologie
Inovace studia molekulární a buněčné biologie Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. MBIO1/Molekulární biologie 1 Tento projekt je spolufinancován
b) Jak se změní sekvence aminokyselin v polypeptidu, pokud dojde v pozici 23 k záměně bázového páru GC za TA (bodová mutace) a s jakými následky?
1.1: Gén pro polypeptid, který je součástí peroxidázy buku lesního, má sekvenci 3'...TTTACAGTCCATTCGACTTAGGGGCTAAGGTACCTGGAGCCCACGTTTGGGTCATCCAG...5' 5'...AAATGTCAGGTAAGCTGAATCCCCGATTCCATGGACCTCGGGTGCAAACCCAGTAGGTC...3'
Struktura proteinů. - testík na procvičení. Vladimíra Kvasnicová
Struktura proteinů - testík na procvičení Vladimíra Kvasnicová Mezi proteinogenní aminokyseliny patří a) kyselina asparagová b) kyselina glutarová c) kyselina acetoctová d) kyselina glutamová Mezi proteinogenní
Aminokyseliny. Gymnázium a Jazyková škola s právem státní jazykové zkoušky Zlín. Tematická oblast Datum vytvoření Ročník Stručný obsah Způsob využití
Aminokyseliny Tematická oblast Datum vytvoření Ročník Stručný obsah Způsob využití Autor Kód Chemie přírodních látek proteiny 18.7.2012 3. ročník čtyřletého G Určování postranních řetězců aminokyselin
Hemoglobin a jemu podobní... Studijní materiál. Jan Komárek
Hemoglobin a jemu podobní... Studijní materiál Jan Komárek Bioinformatika Bioinformatika je vědní disciplína, která se zabývá metodami pro shromážďování, analýzu a vizualizaci rozsáhlých souborů biologických
Státnice odborné č. 20
Státnice odborné č. 20 Shlukování dat Shlukování dat. Metoda k-středů, hierarchické (aglomerativní) shlukování, Kohonenova mapa SOM Shlukování dat Shluková analýza je snaha o seskupení objektů do skupin
Genetický kód. Jakmile vznikne funkční mrna, informace v ní obsažená může být ihned použita pro syntézu proteinu.
Genetický kód Jakmile vznikne funkční, informace v ní obsažená může být ihned použita pro syntézu proteinu. Pravidla, kterými se řídí prostřednictvím přenos z nukleotidové sekvence DNA do aminokyselinové
Molekulární základy dědičnosti. Ústřední dogma molekulární biologie Struktura DNA a RNA
Molekulární základy dědičnosti Ústřední dogma molekulární biologie Struktura DNA a RNA Ústřední dogma molekulární genetiky - vztah mezi nukleovými kyselinami a proteiny proteosyntéza replikace DNA RNA
Aminokyseliny příručka pro učitele. Obecné informace: Téma otevírá kapitolu Bílkoviny, která svým rozsahem překračuje rámec jedné vyučovací hodiny.
Obecné informace: Aminokyseliny příručka pro učitele Téma otevírá kapitolu Bílkoviny, která svým rozsahem překračuje rámec jedné vyučovací hodiny. Navazující učivo Před probráním tématu Aminokyseliny probereme
Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto
Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto SUBSTITUČNÍ DERIVÁTY KARBOXYLOVÝCH O KYSELIN R C O X karboxylových kyselin - substituce na vedlejším uhlovodíkovém řetězci aminokyseliny - hydroxykyseliny
Translace (druhý krok genové exprese)
Translace (druhý krok genové exprese) Od RN k proteinu Milada Roštejnská Helena Klímová 1 enetický kód trn minoacyl-trn-synthetasa Translace probíhá na ribosomech Iniciace translace Elongace translace
Algoritmy pro shlukování prostorových dat
Algoritmy pro shlukování prostorových dat Marta Žambochová Katedra matematiky a informatiky Fakulta sociálně ekonomická Univerzita J. E. Purkyně v Ústí nad Labem ROBUST 21. 26. leden 2018 Rybník - Hostouň
Exprese genetické informace
Exprese genetické informace Tok genetické informace DNA RNA Protein (výjimečně RNA DNA) DNA RNA : transkripce RNA protein : translace Gen jednotka dědičnosti sekvence DNA nutná k produkci funkčního produktu
Fakulta chemicko-technologická Katedra analytické chemie. 3.2 Metody s latentními proměnnými a klasifikační metody
Fakulta chemicko-technologická Katedra analytické chemie 3.2 Metody s latentními proměnnými a klasifikační metody Vypracoval: Ing. Tomáš Nekola Studium: licenční Datum: 21. 1. 2008 Otázka 1. Vypočtěte
VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ
VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ Michal Kořenář 1 Abstrakt Rozvoj výpočetní techniky v poslední době umožnil také rozvoj výpočetních metod, které nejsou založeny na bázi
Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace
Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi
Tomáš Oberhuber. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
Tomáš Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague Buňka buňka je základní stavební prvek všech živých organismů byla objevena Robertem Hookem roku 1665 jednodušší
Exprese genetického kódu Centrální dogma molekulární biologie DNA RNA proteinu transkripce DNA mrna translace proteosyntéza
Exprese genetického kódu Centrální dogma molekulární biologie - genetická informace v DNA -> RNA -> primárního řetězce proteinu 1) transkripce - přepis z DNA do mrna 2) translace - přeložení z kódu nukleových
Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
Dynamické programování Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Rozděl a panuj (divide-and-conquer) Rozděl (Divide): Rozděl problém na několik podproblémů tak, aby tyto podproblémy odpovídaly původnímu
VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY
VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY Jan Krejčí 31. srpna 2006 jkrejci@physics.ujep.cz http://physics.ujep.cz/~jkrejci Obsah 1 Přímé metody řešení soustav lineárních rovnic 3 1.1 Gaussova eliminace...............................
Využití metod strojového učení v bioinformatice David Hoksza
Využití metod strojového učení v bioinformatice David Hoksza SIRET Research Group Katedra softwarového inženýrství, Matematicko-fyzikální fakulta Karlova Univerzita v Praze Bioinformatika Biologické inspirace
0.1 Úvod do lineární algebry
Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Lineární rovnice o 2 neznámých Definice 011 Lineární rovnice o dvou neznámých x, y je rovnice, která může být vyjádřena ve tvaru ax + by = c, kde
Moderní systémy pro získávání znalostí z informací a dat
Moderní systémy pro získávání znalostí z informací a dat Jan Žižka IBA Institut biostatistiky a analýz PřF & LF, Masarykova universita Kamenice 126/3, 625 00 Brno Email: zizka@iba.muni.cz Bioinformatika:
Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic
Přednáška třetí (a pravděpodobně i čtvrtá) aneb Úvod do lineární algebry Matice a soustavy rovnic Lineární rovnice o 2 neznámých Lineární rovnice o 2 neznámých Lineární rovnice o dvou neznámých x, y je
NUKLEOVÉ KYSELINY. Základ života
NUKLEOVÉ KYSELINY Základ života HISTORIE 1. H. Braconnot (30. léta 19. století) - Strassburg vinné kvasinky izolace matiére animale. 2. J.F. Meischer - experimenty z hnisem štěpení trypsinem odstředěním
Přednáška 13 Redukce dimenzionality
Vytěžování Dat Přednáška 13 Redukce dimenzionality Miroslav Čepek Fakulta Elektrotechnická, ČVUT Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti ČVUT (FEL) Redukce dimenzionality 1 /
Dynamic programming. Historie. Dynamické programování je obsaženo v těchto programech: Příklad: chceme optimálně přiložit dvě sekvence
Dynamic programming Dynamické programování je obsaženo v těchto programech: BLS FS lustalw HMMER enscan MFold Phylip Historie 9s matematik Richard Bellman při optimalizaci rozhodovacích procesů chtěl zmást
1. Náhodný vektor (X, Y ) má diskrétní rozdělení s pravděpodobnostní funkcí p, kde. p(x, y) = a(x + y + 1), x, y {0, 1, 2}.
VIII. Náhodný vektor. Náhodný vektor (X, Y má diskrétní rozdělení s pravděpodobnostní funkcí p, kde p(x, y a(x + y +, x, y {,, }. a Určete číslo a a napište tabulku pravděpodobnostní funkce p. Řešení:
Metabolismus bílkovin. Václav Pelouch
ZÁKLADY OBECNÉ A KLINICKÉ BIOCHEMIE 2004 Metabolismus bílkovin Václav Pelouch kapitola ve skriptech - 3.2 Výživa Vyvážená strava člověka musí obsahovat: cukry (50 55 %) tuky (30 %) bílkoviny (15 20 %)
0.1 Úvod do lineární algebry
Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Vektory Definice 011 Vektorem aritmetického prostorur n budeme rozumět uspořádanou n-tici reálných čísel x 1, x 2,, x n Definice 012 Definice sčítání
Základy algoritmizace. Pattern matching
Základy algoritmizace Pattern matching 1 Pattern matching Úloha nalézt v nějakém textu výskyty zadaných textových vzorků patří v počítačové praxi k nejfrekventovanějším. Algoritmy, které ji řeší se používají
Molekulárn. rní. biologie Struktura DNA a RNA
Molekulárn rní základy dědičnosti Ústřední dogma molekulárn rní biologie Struktura DNA a RNA Ústřední dogma molekulárn rní genetiky - vztah mezi nukleovými kyselinami a proteiny proteosyntéza replikace
Bílkoviny - proteiny
Bílkoviny - proteiny Proteiny jsou složeny z 20 kódovaných aminokyselin L-enantiomery Chemická struktura aminokyselin R představuje jeden z 20 různých typů postranních řetězců R Hlavní řetězec je neměnný
Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
1 / 23 Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 2 / 23 biologové často potřebují najít často se opakující sekvence DNA tyto sekvence bývají relativně krátké,
Struktura nukleových kyselin Vlastnosti genetického materiálu
Struktura nukleových kyselin Vlastnosti genetického materiálu V předcházejících kapitolách bylo konstatováno, že geny jsou uloženy na chromozomech a kontrolují fenotypové vlastnosti a že chromozomy se
5 Orientované grafy, Toky v sítích
Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost
Matematické modelování dopravního proudu
Matematické modelování dopravního proudu Ondřej Lanč, Alena Girglová, Kateřina Papežová, Lucie Obšilová Gymnázium Otokara Březiny a SOŠ Telč lancondrej@centrum.cz Abstrakt: Cílem projektu bylo seznámení
4EK213 LINEÁRNÍ MODELY
4EK213 LINEÁRNÍ MODELY Úterý 11:00 12:30 hod. učebna SB 324 3. přednáška SIMPLEXOVÁ METODA I. OSNOVA PŘEDNÁŠKY Standardní tvar MM Základní věta LP Princip simplexové metody Výchozí řešení SM Zlepšení řešení
Datové struktury 2: Rozptylovací tabulky
Datové struktury 2: Rozptylovací tabulky prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy
TRANSLACE - SYNTÉZA BÍLKOVIN
TRANSLACE - SYNTÉZA BÍLKOVIN Translace - překlad genetické informace z jazyka nukleotidů do jazyka aminokyselin podle pravidel genetického kódu. Genetický kód - způsob zápisu genetické informace Kód Morseovy
Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze
Dobývání znalostí Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Pravděpodobnost a učení Doc. RNDr. Iveta Mrázová,
e-mail: RadkaZahradnikova@seznam.cz 1. července 2010
Optimální výrobní program Radka Zahradníková e-mail: RadkaZahradnikova@seznam.cz 1. července 2010 Obsah 1 Lineární programování 2 Simplexová metoda 3 Grafická metoda 4 Optimální výrobní program Řešení
Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.
Algoritmizace diskrétních simulačních modelů Ing. Michal Dorda, Ph.D. 1 Úvodní poznámky Při programování simulačních modelů lze hlavní dílčí problémy shrnout do následujících bodů: 1) Zachycení statických
Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy
Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Lukáš Havrlant Univerzita Palackého 10. ledna 2014 Primární zdroj Jiří Adámek: Foundations of Coding. Strany 137 160. Na webu ke stažení, heslo:
6 Ordinální informace o kritériích
6 Ordinální informace o kritériích Ordinální informací o kritériích se rozumí jejich uspořádání podle důležitosti. Předpokládejme dále standardní značení jako v předchozích cvičeních. Existují tři základní
Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání
Čtvrtek 3. listopadu Makra v Excelu Obecná definice makra: Podle definice je makro strukturovanou definicí jedné nebo několika akcí, které chceme, aby MS Excel vykonal jako odezvu na nějakou námi definovanou
METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1
METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 DOLOVÁNÍ V DATECH (DATA MINING) OBJEVUJE SE JIŽ OD 60. LET 20. ST. S ROZVOJEM POČÍTAČOVÉ TECHNIKY DEFINICE PROCES VÝBĚRU, PROHLEDÁVÁNÍ A MODELOVÁNÍ
7. Funkce jedné reálné proměnné, základní pojmy
, základní pojmy POJEM FUNKCE JEDNÉ PROMĚNNÉ Reálná funkce f jedné reálné proměnné je funkce (zobrazení) f: X Y, kde X, Y R. Jde o zvláštní případ obecného pojmu funkce definovaného v přednášce. Poznámka:
Aplikovaná numerická matematika
Aplikovaná numerická matematika 6. Metoda nejmenších čtverců doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních
PROTEINY. Biochemický ústav LF MU (H.P.)
PROTEINY Biochemický ústav LF MU 2013 - (H.P.) 1 proteiny peptidy aminokyseliny 2 Aminokyseliny 3 Charakteristika základní stavební jednotky proteinů geneticky kódované 20 základních aminokyselin 4 a-aminokyselina
Popisná statistika kvantitativní veličiny
StatSoft Popisná statistika kvantitativní veličiny Protože nám surová data obvykle žádnou smysluplnou informaci neposkytnou, je žádoucí vyjádřit tyto ve zhuštěnější formě. V předchozím dílu jsme začali
Algoritmus pro hledání nejkratší cesty orientovaným grafem
1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval
Zpracování náhodného výběru. Ing. Michal Dorda, Ph.D.
Zpracování náhodného výběru popisná statistika Ing. Michal Dorda, Ph.D. Základní pojmy Úkolem statistiky je na základě vlastností výběrového souboru usuzovat o vlastnostech celé populace. Populace(základní
9. T r a n s f o r m a c e n á h o d n é v e l i č i n y
9. T r a n s f o r m a c e n á h o d n é v e l i č i n y Při popisu procesů zpracováváme vstupní údaj, hodnotu x tak, že výstupní hodnota y závisí nějakým způsobem na vstupní, je její funkcí y = f(x).
1. Průběh funkce. 1. Nejjednodušší řešení
1. Průběh funkce K zobrazení průběhu analytické funkce jedné proměnné potřebujeme sloupec dat nezávisle proměnné x (argumentu) a sloupec dat s funkcí argumentu y = f(x) vytvořený obvykle pomocí vzorce.
1 Projekce a projektory
Cvičení 3 - zadání a řešení úloh Základy numerické matematiky - NMNM20 Verze z 5. října 208 Projekce a projektory Opakování ortogonální projekce Definice (Ortogonální projekce). Uvažujme V vektorový prostor
19. Druhý rozklad lineární transformace
Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA II, letní semestr 2000/2001 Michal Marvan Úmluva. Všude P = C. Vpřednášce o vlastních vektorech jsme se seznámili s diagonalizovatelnými
Dynamické programování
Dynamické programování prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)
1 Linearní prostory nad komplexními čísly
1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)
Extrémy funkce dvou proměnných
Extrémy funkce dvou proměnných 1. Stanovte rozměry pravoúhlé vodní nádrže o objemu 32 m 3 tak, aby dno a stěny měly nejmenší povrch. Označme rozměry pravoúhlé nádrže x, y, z (viz obr.). ak objem této nádrže
VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE. Optimalizace trasy při revizích elektrospotřebičů
VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE FAKULTA INFORMATIKY A STATISTIKY Hlavní specializace: Ekonometrie a operační výzkum Název diplomové práce Optimalizace trasy při revizích elektrospotřebičů Diplomant: Vedoucí
Aminokyseliny, proteiny, enzymy Základy lékařské chemie a biochemie 2014/2015 Ing. Jarmila Krotká Metabolismus základní projev života látková přeměna souhrn veškerých dějů, které probíhají uvnitř organismu
Základy genomiky. I. Úvod do bioinformatiky. Jan Hejátko
Základy genomiky I. Úvod do bioinformatiky Jan Hejátko Masarykova univerzita, Oddělení funkční genomiky a proteomiky Laboratoř molekulární fyziologie rostlin Základy genomiky I. Zdrojová literatura ke
STATISTICKÉ ODHADY Odhady populačních charakteristik
STATISTICKÉ ODHADY Odhady populačních charakteristik Jak stanovit charakteristiky rozložení sledované veličiny v základní populaci? Populaci většinou nemáme celou k dispozici, musíme se spokojit jen s
Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů)
Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů) Autor: Vladimir Vapnik Vapnik, V. The Nature of Statistical Learning Theory.
GIS Geografické informační systémy
GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu
7. Rozdělení pravděpodobnosti ve statistice
7. Rozdělení pravděpodobnosti ve statistice Statistika nuda je, má však cenné údaje, neklesejte na mysli, ona nám to vyčíslí Jednou z úloh statistiky je odhad (výpočet) hodnot statistického znaku x i,
"Učení nás bude více bavit aneb moderní výuka oboru lesnictví prostřednictvím ICT ". Molekulární základy genetiky
"Učení nás bude více bavit aneb moderní výuka oboru lesnictví prostřednictvím ICT ". Molekulární základy genetiky 1/76 GENY Označení GEN se používá ve dvou základních významech: 1. Jako synonymum pro vlohu
Struktura a funkce nukleových kyselin
Struktura a funkce nukleových kyselin ukleové kyseliny Deoxyribonukleová kyselina - DA - uchovává genetickou informaci Ribonukleová kyselina RA - genová exprese a biosyntéza proteinů Složení A stavební
Tabulkový procesor. Základní rysy
Tabulkový procesor Tabulkový procesor je počítačový program zpracovávající data uložená v buňkách tabulky. Program umožňuje použití vzorců pro práci s daty a zobrazuje výsledné hodnoty podle vstupních
AVDAT Mnohorozměrné metody, metody klasifikace Shluková analýza
AVDAT Mnohorozměrné metody, metody klasifikace Shluková analýza Josef Tvrdík Katedra informatiky Přírodovědecká fakulta Ostravská univerzita Shluková analýza Cílem shlukové analýzy je nalézt v datech podmnožiny
U Úvod do modelování a simulace systémů
U Úvod do modelování a simulace systémů Vyšetřování rozsáhlých soustav mnohdy nelze provádět analytickým výpočtem.často je nutné zkoumat chování zařízení v mezních situacích, do kterých se skutečné zařízení
5. Lokální, vázané a globální extrémy
5 Lokální, vázané a globální extrémy Studijní text Lokální extrémy 5 Lokální, vázané a globální extrémy Definice 51 Řekneme, že f : R n R má v bodě a Df: 1 lokální maximum, když Ka, δ Df tak, že x Ka,
Algoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Grafové úlohy Daniela Szturcová Tento
Výukový materiál zpracován v rámci projektu EU peníze školám Registrační číslo projektu: CZ.1.07/1.5.00/34.0996
Výukový materiál zpracován v rámci projektu EU peníze školám Registrační číslo projektu: CZ.1.07/1.5.00/34.0996 Šablona: III/2 č. materiálu: VY_32_INOVACE_CHE_413 Jméno autora: Mgr. Alena Krejčíková Třída/ročník:
Genetika zvířat - MENDELU
Genetika zvířat DNA - primární struktura Několik experimentů ve 40. a 50. letech 20. století poskytla důkaz, že genetický materiál je tvořen jedním ze dvou typů nukleových kyselin: DNA nebo RNA. DNA je
Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.
Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky
TÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti URČOVÁNÍ PRIMÁRNÍ STRUKTURY BÍLKOVIN
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti URČOVÁNÍ PRIMÁRNÍ STRUKTURY BÍLKOVIN Primární struktura primární struktura bílkoviny je dána pořadím AK jejích polypeptidových řetězců
ANALÝZA A KLASIFIKACE BIOMEDICÍNSKÝCH DAT. Institut biostatistiky a analýz
ANALÝZA A KLASIFIKACE BIOMEDICÍNSKÝCH DAT prof. Ing. Jiří Holčík,, CSc. NEURONOVÉ SÍTĚ otázky a odpovědi 1 AKD_predn4, slide 8: Hodnota výstupu závisí na znaménku funkce net i, tedy na tom, zda bude suma
Metody analýzy dat I. Míry a metriky - pokračování
Metody analýzy dat I Míry a metriky - pokračování Literatura Newman, M. (2010). Networks: an introduction. Oxford University Press. [168-193] Zaki, M. J., Meira Jr, W. (2014). Data Mining and Analysis:
II. Úlohy na vložené cykly a podprogramy
II. Úlohy na vložené cykly a podprogramy Společné zadání pro příklady 1. - 10. začíná jednou ze dvou možností popisu vstupních dat. Je dána posloupnost (neboli řada) N reálných (resp. celočíselných) hodnot.
Projekt SIPVZ č.0636p2006 Buňka interaktivní výuková aplikace
Nukleové kyseliny Úvod Makromolekulární látky, které uchovávají a přenášejí informaci. Jsou to makromolekulární látky uspořádané do dlouhých. Řadí se mezi tzv.. Jsou přítomny ve buňkách a virech. Poprvé
Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)
Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného) 1 Obecný popis metody Particle Image Velocimetry, nebo-li zkráceně PIV, je měřící
Parametrické programování
Parametrické programování Příklad 1 Parametrické pravé strany Firma vyrábí tři výrobky. K jejich výrobě potřebuje jednak surovinu a jednak stroje, na kterých dochází ke zpracování. Na první výrobek jsou
Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:
3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...
Aplikovaná numerická matematika - ANM
Aplikovaná numerická matematika - ANM 3 Řešení soustav lineárních rovnic iterační metody doc Ing Róbert Lórencz, CSc České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových
Zobrazte si svazy a uspořádané množiny! Jan Outrata
LatVis Zobrazte si svazy a uspořádané množiny! Jan Outrata Motivace potřeba visualizovat matematické (algebraické) struktury rychle, přehledně a automaticky počítačovými prostředky ruční kreslení je zdlouhavé
GeoGebra známá i neznámá
GeoGebra známá i neznámá MODAM 2018 Z. Morávková, P. Schreiberová, J. Volná, P. Volný MODAM 2018 GeoGebra známá i neznámá Příklad 1: Nejmenší společný násobek Zadání: Vytvoříme aplikaci, ve které se vygenerují
stránkách přednášejícího.
Předmět: MA 4 Dnešní látka Iterační metoda Jacobiova iterační metoda Gaussova-Seidelova iterační metoda Superrelaxační metoda (metoda SOR) Metoda sdružených gradientů Četba: Text o lineární algebře v Příručce
Školení obsluhy PC stručný manuál obsluhy pro používání PC
Školení obsluhy PC stručný manuál obsluhy pro používání PC tabulkový procesor MS EXCEL Zpracoval: mgr. Ježek Vl. Str. 1 MS EXCEL - základy tabulkového procesoru Tyto programy jsou specielně navrženy na
Exprese genetické informace
Exprese genetické informace Stavební kameny nukleových kyselin Nukleotidy = báze + cukr + fosfát BÁZE FOSFÁT Nukleosid = báze + cukr CUKR Báze Cyklické sloučeniny obsahující dusík puriny nebo pyrimidiny
Nukleové kyseliny příručka pro učitele. Obecné informace:
Obecné informace: Nukleové kyseliny příručka pro učitele Téma Nukleové kyseliny je završením základních kapitol z popisné chemie a je tedy zařazeno až na její závěr. Probírá se v rámci jedné, eventuálně
MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]
MATICE Matice typu m/n nad tělesem T je soubor m n prvků z tělesa T uspořádaných do m řádků a n sloupců: a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] a m1 a m2 a mn Prvek a i,j je prvek matice A na místě
2. úkol MI-PAA. Jan Jůna (junajan) 3.11.2013
2. úkol MI-PAA Jan Jůna (junajan) 3.11.2013 Specifikaci úlohy Problém batohu je jedním z nejjednodušších NP-těžkých problémů. V literatuře najdeme množství jeho variant, které mají obecně různé nároky
Křivky a plochy technické praxe
Kapitola 7 Křivky a plochy technické praxe V technické praxi se setkáváme s tím, že potřebujeme křivky a plochy, které se dají libovolně upravovat a zároveň je jejich matematické vyjádření jednoduché.