Masarykova univerzita Fakulta informatiky Blokování tunelů v molekulách proteinů Diplomová práce Jan Sonnek Brno, Podzim 2008 Prohlášení Prohlašuji, že tato diplomová práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Vedoucí práce: RNDr. Petr Medek 11 Poděkování Děkuji vedoucímu své práce RNDr. Petru Medkovi za připomínky a pomoc při vytváření mé práce. Dále bych chtěl touto cestou poděkovat své přítelkyni a rodičům za psychickou a materiální podporu. 111 Shrnutí Cílem mé diplomové práce bylo vytvoření algoritmu pro chemicky správné vyhodnocení nalezených tunelů v molekulách proteinů. K přesnému určení tunelů byla provedena podrobná analýza výsledků blokování molekul a na základě měření bylo blokování přizpůsobováno a upravováno. Dále byla vytvořena testovací aplikace, která skupiny dosažených tunelů porovnávala s publikovanými a ověřenými tunely. Všechny dosažené výsledky práce byly konzultovány s odborníky na biochemii. IV Klíčová slova Java, PyMol, Python, blokování tunelů, proteiny Obsah 1 Úvod............................................. 1 1.1 Předmět diplomové práce.............................. 2 2 Molekulární biochemie.................................. 3 3 Algoritmy pro hledání tunelů .............................. 5 3.1 Dříve použitá řešení................................. 5 3.2 Voroného diagram .................................. 3.3 Dualita Voroného diagramu a Delaunayho triangulace............. 8 3.4 Popis struktury tunelu................................ 9 3.5 Výpočet tunelů.................................... 9 4 Úvod do tunelů a blockerů................................ 12 4.1 Simple blocker - základní blokování........................ 13 4.2 Decreasing blocker - postupné blokování..................... 14 4.3 Branching blocker - blokování větví........................ 15 4.4 Narrowest blocker - blokování nejužšího místa.................. 16 5 Rozpoznávání a vyhodnocení duplicitních tunelů .................. 18 5.1 Vizualizace výsledku programem PyMOL..................... 19 5.2 Vizuální porovnání tunelů.............................. 20 5.3 Automatické rozpoznání tunelů a jejich klasifikace................ 20 6 Statistiky blokování.................................... 22 6.1 Blokování metodou Simple blocker......................... 22 6.2 Blokování metodou Decreasing blocker...................... 23 6.3 Blokování metodou Branching blocker....................... 24 6.4 Blokování metodou Narrowest blocker ...................... 25 6.5 Vyhodnocení použitých metod........................... 25 6.6 Souhrn a hodnocení blokovacích metod...................... 28 7 Závěr............................................. 30 Literatura............................................. 32 A Porovnání blokovacích metod.............................. 33 B Demonstrace různých duplicit a nechtěných tunelů ................. 35 C Grafy statistik blokování................................. 36 D Aktivní místa testovaných molekul........................... 38 E Instalace pluginů pro testování.............................. 39 F Obsah CD.......................................... 40 VI Kapitola 1 Úvod Do výzkumu medicíny a léčiv je investováno stále větší úsilí a s ním spojené finanční prostředky. Důkazem toho jsou americké biofarmaceutické firmy, které oproti předchozímu roku zdvojnásobily investice do vědy a rozvoje [19]. Pro výzkum léčiv je zásadní znalost a zkoumání proteinů. Neodmyslitelnou pomocí v dnešní technické době je průzkum proteinů, otvorů a trhlin v nich, pomocí matematických modelů a reálných počítačových simulací. Tyto simulace dovolují 3D zobrazení a interakci pomocí nejmodernějších stereo zařízení v kombinaci s polohovatelnými zařízeními. Jedním z takových programů, který simuluje chování proteinů a hledá v nich dutiny, které dále budeme pro jednoduchost nazývat tunely, je program AnBeKoM. Tato aplikace byla od svého počátku vytvářena za účelem urychlit zkoumání proteinů a především tunelů v nich na půdě Masarykovy University. Právě výpočet tunelů je jednou ze stěžejních částí tohoto programu, který se stále vyvíjí pro reálné použití k odhalování správných tunelů i v neprozkoumaných proteinech. Program AnBeKoM se odlišuje od všech dříve vytvořených aplikací a je unikátní právě velkou interakcí jeho tvůrců se skupinou odborníků na biochemii a problematiku proteinů. Používá zcela nové metody hledání a vyhodnocování výsledků. Vypočtená data pak vždy zkoumají odborníci na biochemii. Velké množství proteinů je stále neprozkoumané a pouze u některých proteinů se lze opřít o publikovaná fakta a zveřejněné výsledky správných tunelů. Tudíž všechny výpočty a jejich správnost se opírají o nejpravděpodobnější a nejčastější výsledky, které ověřila skupina chemiků. Takzvané tunely v proteinech dovolují cizí molekule, nazývané substrát, pronikat do nitra molekuly proteinu a způsobovat zde chemické reakce a nové sloučeniny. Tento průnik lze i různě urychlovat či upravovat. Důležitým faktorem je existence tunelů, jejich správná šířka a pozice, proto je potřeba tunely nalézat, zkoumat a vyhodnocovat. Působení vnějších a vnitřních sil na molekulu proteinu způsobuje pohyby a kmitání jejich atomů, a tím otevírání a zavírání cest, kudy by substrát mohl pronikat. Tento jev velice znesnadňuje zachycení tohoto problému algoritmem, který by vypočtené tunely přesně vyhodnotil. Přispívá k tomu také různorodost molekul a fakt, že žádné dvě molekuly neobsahují stejné tunely. Spíše je pravidlem, že dvě molekuly s podobnou strukturou mají naprosto odlišné pozice a rozložení tunelů. Hlavní přínos této práce spočívá v porovnání několika desítek známých molekul a nalezení metody, která bude co nejspolehlivěji určovat nejpravděpodobnější tunely. Algoritmus, který ve volném prostoru mezi atomy hledá tunely, nalezne tunel s největším poloměrem v nejužším místě tunelu. Aby bylo možné najít další tunel, je nutné část molekuly ucpat 1 1.1. PŘEDMĚT DIPLOMOVÉ PRÁCE a znovu spustit vyhledávání. Ucpání zásadně ovlivní výslednou polohu ostatních tunelů. Je potřeba nastavit blokování již spočtených tunelů molekuly tak, aby nebyly vypočítány další biochemicky stejné nebo duplicitní tunely. Dále také bude provedena analýza chování nových a neověřených tunelů tak, aby tato práce poskytla uživatelům programu AnBeKom pravidla, jak se určité skupiny proteinů chovají a jaké blokovací metody je nutné použít. Právě na blokovací metody bude zaměřena velká pozornost. Správná blokovací technika již vypočítaných tunelů je zvláště důležitá pro tunelovou dynamiku, při které se vytváří počítačové animace. Druhá kapitola bude úvodem do molekulární chemie. Seznámí čtenáře s důležitými pojmy, chováním molekul a chemickými předpoklady pro práci s proteiny. Následující kapitola poskytne podrobný popis struktury tunelu a upraveného Dijkstrova algoritmu, který jej vyhledává. Bude zde také zahrnut přehled dříve použitých řešení. Čtvrtá kapitola podrobně rozebere konstrukci a strukturu čtyř experimentálně navržených blokovacích technik. Pátá část se zaměří na duplicitní tunely a jejich vyhodnocení. Budou rozebrány způsoby pro porovnávání stejných tunelů, které umožní zautomatizovat proces vyhodnocení blokovacích metod. Závěrečná kapitola rozebere postupy blokování tunelů v 1CIJ proteinu a zhodnotí silná a slabá místa jednotlivých technik v případě této molekuly. Velká část kapitoly bude věnována vyhodnocení použitých přístupů pro blokování. Také bude obsahovat podrobné statistiky a výsledky na testované skupině proteinů. 1.1 Předmět diplomové práce Práce má poskytnout přehled základních pravidel pro výpočet tunelů v proteinech pomocí programu AnBeKoM. Tato pravidla budou sloužit jako návod k co „nejširšímu" prozkoumání neznámých molekul. Dále se bude zabývat analýzou geometricky vypočtených tunelů a návrhem blokování molekuly v místech, kudy vedl tunel, který byl vyhodnocen jako stejný nebo biochemicky ekvivalentní poslednímu vypočtenému tunelu. Zvolená blokovací metoda a její správné určení zásadně ovlivní výsledný počet tunelů. Většina tunelů je ověřena pouze experimentálně a tudíž určování správnosti tunelů je velice obtížné. Práce bude vycházet z tunelů ověřených biochemiky. Ověřená data budou porovnávána testovací aplikací s nově vypočtenými tunely v molekulách a bude určováno, která z navržených blokovacích metod je pro blokování nejvhodnější. Výsledek práce bude dále zúročen v tunelové dynamice molekul, která využije nejvhodnější blokovací metodu. 2 Kapitola 2 Molekulární biochemie Proteiny jsou struktury nacházející se ve všech živých organismech a jsou neodmyslitelnou součástí chemických reakcí. Jejich produktem mohou být různé látky, především ty, které mohou tvořit základ nových léčiv Právě pro oblast medicíny, analýzy DNA atd., jsou vědecké studie proteinů a jejich poznání zásadní. Celý protein se neustále pohybuje vlivem působení vnitřních a vnějších sil, které rozkmitávají atomy kolem svých stabilních poloh. Pokud se působení těchto sil sníží na svou minimální hodnotu, atomy zůstanou na své jedinečné pozici v molekule. Místo uvnitř molekuly, kde mohou vzniknout chemické reakce, se nazývá aktivní místo a je představováno otvorem neboli dutinu uvnitř molekuly. Aby mohlo dojít k očekávané chemické reakci, je potřeba chemickým procesem dopravit substrát právě k tomuto aktivnímu místu. Substrát, je molekula různých velikostí a k jejímu dopravení do nitra molekuly musí existovat v proteinu dostatečný otvor, kterým projde k místu možné reakce. Obrázek 2.1: Ukázka zobrazení proteinu 1B6G, zdroj [9] Toto místo existuje v každém proteinu a je umístěno v různé hloubce pod povrchem. Ve většině zkoumaných proteinů se nachází nepříliš hluboko pod povrchem molekuly, a proto bylo nutné se zaměřit na kratší tunely a do pozadí zájmu byly přesunuty dlouhé tunely, 3 2. Molekulární biochemie které vedly napříč celou molekulou. Otvory mezi atomy projde molekula substrátu k aktivnímu místu a způsobí chemickou reakci, která vyvolává vznik nových látek. Pokud jsou taková volná místa v molekule, kudy by se dal substrát dopravit, je primární požadavek je najít. Volná místa neboli tunely vedoucí k aktivnímu místu, hledáme pomocí upraveného Dijkstrova algoritmu, který bude podrobněji rozebrán v následující kapitole. Pokud jsme tunely schopni najít, což bylo náplní předchozí práce mých kolegů, kteří vytvořili program AnBeKoM, nastává zásadní problém a tím je nalezené tunely rozpoznat. Dále je nutné tunely ohodnotit a stejné nebo nepotřebné tunely odfiltrovat. Výstupem všech doposud známých programů byla sada tunelů, ze kterých si biochemici vybírají ten správný. Proteiny jsou stále velice neprozkoumaná oblast a spousta z nich je dosud nezdokumentována. V současnosti existuje jen několik dobře zmapovaných a zdokumentovaných proteinů a jejich tunelů. Vytvoření spolehlivé blokovací metody může být pro výzkum v hledání tunelů velice přínosné a mohlo by způsobit urychlení rozpoznávání nových neznámých tunelů. Blokování bude testováno na vzorku čtyřiceti ověřených molekul. Chemici tyto molekuly znají a přesně ví, které tunely obsahují. Díky tomuto je možné blokování upravit a nastavit tak, aby námi nalezené tunely byly co nejvíce podobné těm známým a ověřeným. Blokovací metody odfiltrují duplicitní a nechtěné tunely. U všech ostatních řešení, které se zabývají výpočtem tunelů, je použito pouze základní blokování a vyhodnocení tunelů je zcela ponecháváno chemikům. Ti pak musí ručně filtrovat a vizuálně vyhodnocovat duplicity. 4 Kapitola 3 Algoritmy pro hledání tunelů 3.1 Dříve použitá řešení K vizualizaci molekul existuje celá řada více či méně úspěšných aplikací. Nejznámější a hojně využívaná je aplikace PyMol [22], dále pak například JMol [23]. Tyto aplikace ovšem nenabízí prostředky pro počítání tunelů v molekulách. Pro tento účel byly vyvinuty programy, z nichž mezi nejvýznamnější patří MolAxis, Mole nebo CAVER. Program CAVER je postaven na algoritmu, který rozděluje protein na diskrétní 3D mřížku a všechny vypočtené uzly této mřížky jsou rozděleny do dvou tříd. Body, které se nacházejí uvnitř atomů, jsou v jedné skupině a do druhé skupiny jsou zařazeny body ležící vně atomů. Právě v bodech vně atomů je možné počítat tunely. Tyto body jsou ohodnocené podle toho, kolik volného místa se v jejich okolí nachází. Funkce, která body ohodnotí, je definována takto: Cí>)=---------------------? Obrázek 3.1: Výpočet ohodnocení bodů v programu Caver, převzato z [5] Parametr rmax(x) udává maximální poloměr koule, která nesdílí průnik s žádným atomem. Tyto uzly vytvářejí tunel neboli cestu P, která je v každém svém vrcholu ohodnocena funkcí: n xeN(P) Obrázek 3.2: Ohodnocení vrcholu grafu, převzato z [5] Program využil volně dostupnou implementaci qhull algoritmu k zjištění konvexního obalu molekuly a body vně tohoto obalu jsou odfiltrovány. Výpočet pouze v konvexním obalu přispívá k urychlení hledání tunelů. Nároky na paměť a doba výpočtu však stále zůstávají kritickým faktorem tohoto řešení. Dalším nedostatkem jsou chyby vzniklé extrapolací mřížky. 5 3.1. DŘÍVE POUŽITÁ ŘEŠENÍ Obrázek 3.3: Voroného diagram a ohodnocení hran, převzato z [13] Z těchto důvodů se aplikace již příliš nepoužívá a její tvůrci ve své další práci pokračují na projektu nazvaném Mole. Tento program přebírá vlastnosti CAVERu, ovšem je stejně jako AnBeKoM postaven na Voroného diagramech, nad kterými provádí výpočet tunelů. Na obrázku 3.3 je Voroného graf a ohodnocení jeho hran programem Mole. Tlustou čárou je vyznačen tunel, který prochází uzly s nejnižším ohodnocením. Nabízí se také otázka srovnání s tunely vypočtenými programem Mole. Jelikož program částečně přebírá princip výpočtu programu AnBeKoM založeného na Voroného diagramech, jsou výsledky podobné. Obrázek 3.4: Program MolAxis (a), AnBeKoM (b), Mole (c) Další z programů s názvem MolAxis stejně jako předchozí řešení Mole zkonstruuje Voroného diagram, ve kterém jsou hledány tunely. Na stránkách projektu [15] jeho tvůrci vyzdvihují jako velkou přednost odstranění všech duplicitních tunelů a vyhledání pouze známých a ověřených tunelů. Jak bylo možno se přesvědčit on-line verze tohoto programu vyhledala některé tunely vícekrát. Obrázek 3.4 dokazuje, že výsledky aplikací, které konstruují Voroného diagram, jsou podobné. Významné je především umístění a rozložení tunelů 6 3.2. VORONÉHO DIAGRAM v molekule, které je podobné. Na obrázku 3.4 jsou ukázky tunelů v molekule 1B6G. V případě (a) byla použita on-line verze programu MolAxis, v případě (b) aplikace AnBeKoM a v případě (c) program Mole. Neznámé a příliš dlouhé tunely nejsou v grafu zobrazeny. Vi-zualizováno bylo programem JMol (a, c) a PyMol (b). V případě (b) byly vypočteny 4 tunely programem AnBeKoM a ověřeny chemiky. Program MolAxis z celkového počtu tunelů nalezl pouze dva a ostatní byly duplicitní. Při shodném natočení molekuly jak je možné vidět na případu (c) nalezl program Mole pouze jeden tunel, ostatní neznámé a duplicitní tunely byly pro větší přehlednost skryté. Pokud by mělo smysl program AnBeKoM srovnávat s jinou aplikací, muselo by se jednat o řešení založené na zcela jiném principu výpočtu tunelů. 3.2 Voroného diagram Molekula proteinu může být chápána jako množina koulí v prostoru a k jejímu rozdělení lze použít Voroného diagram. Toto rozdělení není příliš náročné na paměť počítače a umožní tak výpočet tunelů díky rychlému počítání vzdáleností mezi atomy, které jsou umístěny v buňkách Voroného diagramu. Bylo přistoupeno ještě k dalšímu zjednodušení a tím je nastavení poloměru všem atomům na hodnotu největšího atomu molekuly. Toto je však upraveno při procesu ohodnocení hran grafu podle toho u kolika atomů odpovídá jejich poloměr největšímu atomu. Voroného diagram, slouží k rozdělení plochy na konvexní polygony, přičemž každý z nich obsahuje právě jeden bod. Ostatní body, které se nacházejí v polygonu, jsou mu blíže než všechny ostatní. Tento algoritmus poprvé použil více než před sto lety německý matematik Dirichlet. O několik let později v roce 1907 jej Ukrajinec Georgy Voronoi rozšířil do vyšších dimenzí [4]. Algoritmus našel uplatnění v mnoha dalších oblastech jako je robo-tika, astronomie atd. Obrázek 3.5: (a) Rozdělení roviny na poloroviny, (b) Voroného diagram složený z konvexních buněk Euklidovskou vzdálenost mezi dvěma body p, q definujme jako funkci dist(p, q). Dále v rovině platí dist(p, q) = «} je množina různých bodů v rovině. Definujme Voroného diagram z množiny P jako rozdělení roviny na n buněk, kde každá buňka obsahuje jeden bod. 7 3.3. DUALITA VORONÉHO DIAGRAMU A DELAUNAYHO TRIANGULACE Bod g leží v buňce korespondující bodu pi právě tehdy, když platí: dist(q, pí) -< dist(q, pj). Dále pro dva body p, q definujeme bisektor, který rozděluje rovinu na dvě poloroviny. Otevřenou polorovinu, která obsahuje bod p, určíme výrazem h(p, q) a další polorovinu, která obsahuje bod g pomocí h(q, p). Pokud existuje bod r, pro něhož platí: r G h(p, q) právě tehdy když platí dist(r,p) -< dist(r, q). Pro 3D prostor je tato definice rozšířená o další dimenzi a postup je analogický. Voroného diagram se skládá z Voroného buněk, které vytváří v prostoru konvexní mnohostěny a v rovině konvexní mnohoúhelníky, dále také z Voroného hran, které ohraničují buňky. Poslední částí jsou Voroného vrcholy ležící v průniku Voroného buněk. 3.3 Dualita Voroného diagramu a Delaunayho triangulace Díky dualitě a možnosti jednoduchého převodu mezi Voroného diagramem a Delaunayo-vou triangulací bylo v algoritmu použito výpočtu Delaunayovy triangulace, která byla následně převedena na Voroného diagram. Nad vytvořeným grafem se dále provádějí výpočty tunelů. • Delaurmy Voroného duaiita Deiaunay triangulace diagram a voroného Obrázek 3.6: Dualita Voroného diagramu a Delaunayovy triangulace K převodu mezi triangulací a Voroného diagramem dochází při výpočtu tunelů, a tudíž není nutné triangulovat celou molekulu. Pro výpočet Delaunayovy triangulace byl vybrán algoritmus Lifting map a inkrementální algoritmus ([20], [21]), který je méně náročný na implementaci ve srovnání s ostatními. Také je robustní a rychlost výpočtu je dostačující pro výpočty tunelů. Funguje na principu přidávání hrany do grafu. Před přidáním nové hrany předpokládáme, že triangulace je korektní. Ovšem přidání nám může způsobit nekorektnost, proto po každém přidání bude graf upraven a triangulace se stane opět korektní. Při následném počítání tunelů je možné procházet pravidelný čtyřstěn neboli tetraedr. Jedná se o trojrozměrné těleso v prostoru, jehož stěny tvoří čtyři trojúhelníky. Blokování sousedů čtyřstěnu je také využito v blokovacích metodách, které umožní nalezení více než jednoho tunelu. 8 3.4. POPIS STRUKTURY TUNELU uj B*xJ icii uvnilUťlrLihtxJronu b> Bod kví nLLMčnč Obrázek 3.7: Přidání hrany ve 3D prostoru při Delaunayho triangulaci 3.4 Popis struktury tunelu Tunel je počítán v příslušné molekule proteinu, která je načítána z PDB (Protein Data Bank) souborů. PDB soubor je strukturovaný textový soubor pro 3D popis struktury proteinu. Tyto soubory jsou získávány z veřejné databáze [9]. Tato databáze obsahuje k dnešnímu dni přes 50 000 proteinů a jsou stále přidávány nově objevené pomocí stereoskopie nebo krystalografie. Pro usnadnění a urychlení výpočtů tunelů je každá molekula považována za množinu koulí v prostoru. Další významné paměťové a časové úspory bylo dosaženo počítáním pouze se středy koulí a hodnota poloměru odpovídá poloměru největší koule, čímž byl celý proces zjednodušen a urychlen. Souřadnice středu a poloměru koulí tunelu určuje funkce: s(cs, rs). Funkce D(x, s) vypočítá vzdálenost bodu x od povrchu koule s a je definována následující rovnicí: D(x, s) =\\ x — cs || — rs. Tunel T můžeme formálně definovat svým počátečním bodem x a koncovým bodem y, mezi kterými vede. Dále je dán středovou křivkou a svým objemem, který odpovídá sjednocení objemů koulí tunelu umístěných do všech bodů středové křivky. Na obrázku 3.8 je znázorněno aktivní místo černým čtvercem. Z tohoto místa vychází tunel, jehož šířka je omezena vzdáleností atomů, mezi kterými prochází. Tunel má také své nejužší místo a své ústí, které se nachází u povrchu molekuly. 3.5 Výpočet tunelů Doposud známé algoritmy na výpočet tunelů neberou v úvahu všechny chemické a fyzikální vlastnosti molekul a počítají tunely pouze z geometrického hlediska. Fakt, že je tunel nalezen, ještě neznamená, že molekula substrátu opravdu dojde k aktivnímu místu, což způsobí očekávanou reakci. Nalezení tunelů však poskytuje důležitá data pro bioche-miky a umožňuje jim jejich další zkoumání. 9 3.5. VÝPOČET TUNELŮ Aktivní misto JřHWtcmefu ljsíí'tunelu NejuiáímfstQ tunelu ftuHFicír molekuly Obrázek 3.8: Struktura tunelu V posledních verzích programu AnBeKoM byla k výpočtu tunelů v proteinech použita modifikovaná verze Dijkstrova algoritmu, který prohledává Delaunayho triangulaci. Díky dualitě není rozdíl mezi prohledáváním Voroného diagramu a Delaunayho triangulace, která byla zvolena z důvodu lepší reprezentace. Tunel T vede z aktivního místa s do místa na povrchu molekuly v. Ověření, zda náš algoritmus dokončil tunel a dosáhl povrchu, provádí funkce onBoarderQ. Parametr d[v] vrací minimální vzdálenost mezi atomy obklopujícími uzel. Dále W(u,v) určuje ohodnocení hrany mezi vrcholy u,v a previous[v] předchůdce právě zpracovávaného uzlu. Následující pseudokód je složen ze tří cyklů. První nastaví u všech uzlů počáteční hodnotu na záporné nekonečno neboli minimum. Další cyklus prochází po hranách diagramu a hledá atomy, které mají ve svém okolí nejvíce místa. Poslední cyklus vrací vypočtené tunely. Algoritmus je naznačen následujícím pseudokódem. Vstup: neorientovaný vážený graf G začínající uzlem s Výstup: sekvence uzlů tunelu for each node n in G d[n] = MIN; previous[n] = null; d[s] = MAX; u = s; while (!u.onBorder()) u = getUnprocessedMaximum(G); for each edge (u, v) outgoing from u if (d[v] < max(d[v], w(u,v)); d[v] = max(d[v], w(u,v); previous[v] = u; while (u != s) output(u); 10 3.5. VÝPOČET TUNELŮ u = previous[u]; Na obrázku 3.9 je možné sledovat průběh výpočtu tunelů. Tento proces je rozdělen do šesti kroků. V prvním kroku jsou všechny vrcholy nastaveny na maximální vzdálenost kromě iniciámího vrcholu s. V následujících čtyřech krocích probíhá výpočet tunelu podle výše uvedeného algoritmu. Jsou procházeny čtyřstěny a z množiny hran jdoucích z uzlu diagramu je vybrána ta, která má kolem sebe nejvíce místa pro tunel. V posledním kroku je provedena vizualizace tunelu. ó9pč$p 'O- 'O' oWp oWp 'O- 'O- Obrázek 3.9: Průběh výpočtu Dijkstrovým algoritmem, převzato z [2] 11 Kapitola 4 Úvod do tunelů a bločkem Modifikovaný Dijkstrův algoritmus prochází molekulu od startovacího bodu a hledá tunel, který má největší poloměr svého nejužšího místa. Po jeho nalezení ukončí svou činnost. Primární účel blokování je ucpat okolí předchozího tunelu a umožnit tak nové vyhledání dalšího tunelu. Jak už bylo v úvodu nastíněno, důležitou součástí výpočtu tunelů je také jejich vyhodnocení. Korektní rozpoznání a výběr správných tunelů umožní chemikům rychlejší průzkum molekul a usnadní jim průzkum nově objevených molekul. Existence tunelů byla konzultována s biochemiky a na základě jejich prověření byly prováděny úpravy blokovacích algoritmů tak, aby výsledný počet tunelů a jejich podoba odpovídaly co nejvíce realitě. Korektní algoritmus musí blokovat všechny duplicitní a neexistující tunely. Výsledkem musí být u ověřených molekul pouze přesný počet známých tunelů umístěných ve správné pozici. Obrázek 4.1: Duplicitní tunely molekuly 2YXP, generováno programem PyMol Celou práci velmi stěžuje fakt, že spousta proteinů není příliš prozkoumaná. Tudíž zpětná vazba, kterou máme od biochemiků, je pouze na základě jejich osobních dlouholetých měření. Proto se stává, že ne všechny nalezené tunely jsou rozpoznány a ohodnoceny, jako správné i když se v budoucnu může stát, že jiný tým vědců odhalí, že blokovaný tunel je pro další výzkum v oblasti tunelů potřebný a důležitý. Při řešení tohoto problému jako vzor 12 4.1. SIMPLE BLOCKER - ZÁKLADNÍ BLOKOVÁNÍ slouží už správně ohodnocené molekuly. Aktivní místa použitých molekul je možné nalézt v příloze D. Blokování provádíme ve dvou krocích. První z nich je iniciální, který zablokuje první spočítaný tunel, aby se mohly počítat další tunely. Pokud bychom tento krok neprovedli, Dijkstrův algoritmus, který hledá tunely, by mohl vypočítat druhý tunel totožný s tunelem prvním. K druhému kroku blokování se přistupuje ve chvíli, kdy počítáme další tunely a narazíme na určitou shodu tunelů. Stejný tunel je zablokován a hledá se další. 4.1 Simple blocker - základní blokování Blokovací metoda s názvem Simple, jak už z názvu vyplývá, je nejjednodušší z navržených metod. Je založena na jednoduchém, ale účinném principu blokování tunelů na povrchu molekuly. K ucpávání dochází v nejvzdálenějším místě od aktivního místa a tím je ústí tunelu. Princip fungování je následující. Po nalezení prvního tunelu je volána funkce blocklni-tialQ, která zablokuje celý tunel jednou koulí o velikost 4.0 Angstromu, nebo jinou velikostí podle restriktivnosti nastavení blockeru. Funkce blocklnitialQ blokuje první tunel a Dijkstrův algoritmus, který tunely vyhledává, je spuštěn znovu. Prochází pak jen oblast molekuly, která není doposud blokována. Použití iniciálního blokování je implementováno podobně ve všech ostatních blockerech. Obrázek 4.2: Simple - demonstrace blokování Dále metoda blockTwoQje použita ve chvíli shody tunelu s předchozím. Stejně jako bloc-klnitial() metoda blockTwoQ využívá blokování v ústí tunelu koulí různé velikosti podle restriktivnosti nastavení. Názorně je tento princip možné pozorovat na obrázku 4.2, kde žluté koule na konci tunelu ucpávají stávající tunel a je potřeba najít nový. Restriktivnost blo- 13 4.2. DECREASING BLOCKER - POSTUPNÉ BLOKOVÁNÍ kování je možné nastavit parametrem „polomerBlokKoule", který je součástí pseudo kódu na obrázku 4.3. Tento parametr ovlivňuje výsledný počet tunelů a jejich polohu. Parametr je citlivý na změnu a při velikosti koule v rozmezí 3.6 - 4.4 Angstromu dává pro zkoumanou množinu molekul nejlepší výsledky. Při dvojnásobné velikosti blokovací koule funkce blockTetraNearQ zablokuje příliš velké okolí poslední koule tunelu a další tunely jsou vypočteny na opačné straně molekuly. Tyto tunely jsou příliš dlouhé a mezi chemiky ne příliš oblíbené. SimpleBlockerQ { blockInitial(Timnel t, Molecule m) { float polomerBlokKoule — 4.0f; m.blockTetraNear(t.getIndex(0). polomerBlokovaciKoule): } blockTwo(Timnel t, Molecule m) { float polomerBlokKoule = 4.0f; m.blockTetraNear(t.getIudex(0). polomerBlokKoule): } } Obrázek 4.3: Pseudokód metody Simple 4.2 Decreasing blocker - postupné blokování 4$ Obrázek 4.4: Decreasing blocker - demonstrace blokování Tento přístup byl navržen k eliminaci duplicitních tunelů, které vznikají blíže k aktivnímu místu. Předchozí postup se s tímto problémem neuměl vyrovnat, protože blokuje 14 4.3. BRANCHING BLOCKER - BLOKOVÁNÍ VĚTVÍ pouze na povrchu a větvení tunelu, které vzniká pod povrchem molekuly, nedokáže jednoznačně zachytit. Jedinou cestu, kterou poskytuje Simple blokování k odstranění duplicit, je zvětšování nebo zmenšování blokovací koule. K dosažení spolehlivého blokování u tohoto blockeru by bylo nutné experimentálně nastavovat pro každou molekulu jiné poloměry blokování. U metody Decreasingje zvolen procentuálně počet koulí tunelu, které budeme blokovat a eliminovat tak stejné tunely. Dále je zvolena iniciální blokovací koule, která se v každém kroku směrem k aktivnímu místu zmenšuje. Tento postup je podrobně zachycen na obrázku 4.5. Důvodem blokování tunelu jen do určité hloubky je snaha předejít zablokování aktivního místa. Také postupné zmenšování blokovacích koulí směrem k startovacímu bodu má své opodstatnění. Atomy v molekule umístěné blíže ke středu jsou hustěji uspořádané, proto je okraj molekuly blokován koulí o větším poloměru a dochází k postupnému zmenšování. Tato metoda je zachycena na obrázku 4.4. DecrasingBlocker() blockTwo(Tunnel t, Mole cule m) int blockl — (int) (tl.getSizeQ * percentage); int block2 — (int) (t2.getSize() * percentage); float blocklstep — inftRadius / (float) blockl; float block2step — initRadius / (float) block2; for (int i — 0; i —í blockl; i f+) float blockCurrent — initRadius - blocklstep*Í; m.blockTetraXear(tl.getIndex(i), blockCurrent); for (int i — 0; i —í block2; i f■+) float blockCurrent — initRadius - block2step*Í; m.blockTetraXear(t2.getIndex(i), blockCurrent); Obrázek 4.5: Pseudokód metody Decreasing Při větším zablokování, tzn. použijeme větší blokovací kouli a budeme blokovat do větší hloubky, metoda způsobuje problémy s nenalezením všech hledaných tunelů i když odstraníme postranní větvení a duplicitní tunely. 4.3 Branching blocker - blokování větví Nejsofistikovanější ze všech vytvořených metod je Branching blokování. První tunel zablokuje, stejně jako všechny ostatní metody, algoritmem metody Simple. U ostatních tunelů je aplikován postup, který prochází dvojice tunelů až k místu, kde se tunely větví. Poté jsou oba tunely současně zablokovány až k místu větvení. Tento algoritmus je popsán pseudo-kódem na obrázku 4.7. Z úsporných důvodů byla vynechána podmínka, která zabraňuje blokaci aktivního místa a to tím, že blokování v určité části zastaví. Bez této podmínky by 15 4.4. NARROWEST BLOCKER - BLOKOVÁNÍ NEJUŽŠÍHO MÍSTA pro dva různé tunely blokování pokračovalo až k aktivnímu místu, ze kterého musí vycházet každý tunel. Zabránilo by to výpočtu ostatních tunelů. Tento postup se zaměřuje na hledání větví tunelů a tím vykazuje lepší vlastnosti než předchozí dva modely blokování. Na rozdíl od nich není tak citlivý na velikost blokovací koule a je vhodnější jej použít pro automatické výpočty na větší skupině molekul. M Obrázek 4.6: Branching - demonstrace blokování 4.4 Narrowest blocker - blokování nejužšího místa V tomto případě je nalezeno nejužší místo tunelu a zde je provedeno blokování koulí o zvoleném poloměru. I při malém poloměru blokovacích koulí metoda nenalezne všechny tunely, protože v nejužším místě dochází k zablokování prostoru pro vznik nových tunelů. Velikost blokovací koule ovlivní nalezené tunely minimálně. U metody Simple nebo jiné metody při zmenšení blokovací koule se objeví nové duplicitní tunely. Tato metoda je příliš restriktivní a duplicity mnohdy společně s některými hledanými tunely jsou filtrovány. 16 4.4. NARROWEST BLOCKER - BLOKOVÁNÍ NEJUŽŠÍHO MÍSTA BranchingBlocker() blockTwo(Thnnel t, Molecule m) float polomeiBlokKoule — 4.8f; for (int i = 0; i -í tl.getSize(); i | |) for (int j — 0; j —í t2.getSbse(); j I I) íf (tl.getTetra(Í).equals(t2.getTetra{j)) ) blockl — í; block2 — j; for (int i = 0; i -! blockl; i \ \ ) m.blockTetraNear(t 1.getlndex(i), polomerBIokKoule); for (int i = 0; i -í block2; i \ \ ) m.blockTetraXear(t2.getIndť!x(i), polomerBlokKoule); Obrázek 4.7: Branching - pseudokód algoritmu Obrázek 4.8: Narrowest - demonstrace blokování 17 Kapitola 5 Rozpoznávání a vyhodnocení duplicitních tunelů K řešení problémů duplicitních tunelů byla vytvořena testovací aplikace, která využívá ověřená reálná data a ta porovnává s nově vypočtenými tunely Na základě porovnání vytváří statistiky úspěšnosti zvolené blokovací metody Úspěšnost výsledků blokovací metody byla konzultována s chemiky a blokovací metody byly na základě zjištění nedostatků upravovány Proto, aby bylo možné takové měření provést, bylo nutné získat ohodnocení tunelů. Toto ohodnocení bylo poskytnuto biochemiky, kteří na sadě čtyřiceti molekul proteinů vy-početli pro každou molekulu sadu deseti tunelů. Nalezené tunely byly ohodnoceny, zda jsou objevené, významné nebo duplicitní. Všechna data byla poskytnuta ve formátu programu PyMol. Bylo nutné naprogramovat v jazyce Python plugin do aplikace PyMol. Úkolem plu-ginu byl export výsledných tunelů do textového souboru. Následně byly všechny tunely v textovém souboru ohodnoceny pomocí písmen abecedy podle toho, o jaký tunel se jedná. Tunely, které se skládají ze dvou tunelů, např. z tunelu A a C byly vyřazeny. Odstraněny byly také neznámé tunely, které jsou pro výzkum biochemiků bezpředmětné, i když nelze vyloučit, že v budoucnu mohou mít pro výzkum svůj význam. Obrázek 5.1: Anotované tunely, které byly načítány a sloužily k hodnocení Tímto byla připravena testovací data. Dalším krokem bylo vytvoření programu pro vý- 18 5.1. VIZUALIZACE VÝSLEDKU PROGRAMEM PYMOL počet vzdáleností dvou tunelů v prostoru, zadaných pouze posloupností několika kulí a provedeno jejich vzájemné porovnání. K řešení tohoto problému se nabízela dvě možná algoritmická řešení. První z nich bylo založeno na výpočtu vzdáleností bodu od úsečky v prostoru. Obrázek 5.2: Výpočet vzdálenosti bodu od úsečky Úsečkou byly míněny dva body XI a X2 představující středy koulí tunelu-1 a jdoucí v tunelu-1 za sebou. Dále bodem X, od kterého se počítala vzdálenost k úsečce, byl brán bod z tunelu-2. Tento bod je opět středem koule v tunelu-2. Výpočet postupoval od středu molekuly, tudíž od aktivního místa k jejímu povrchu. Dále byl bod Xproložen rovinou kolmou na přímku procházející mezi body XI a X2. Následoval výpočet bodu Y, který leží na přímce určené vektorem X1X2 a pomocnou rovinou. Výsledná vzdálenost byla porovnána podle metriky, která určila, zda jsou tunely stejné nebo rozdílné. Tato metoda fungovala a sloužila k základnímu určení stejnosti dvou tunelů. Ke konečnému testování však byla vybrána metoda, která počítala euklidovskou vzdálenost koulí dvou tunelů. Tato metoda poskytovala dostačující a přesné výsledky díky faktu, že chemici použili k vytvoření dat pro testování předchozí verzi programu AnBeKoM. Metoda pro srovnání tunelů vychází z předpokladu, že tunely jsou pro jednoduchost složeny z koulí, jejichž poloměr určuje velikost volného prostoru mezi atomy viz obrázek 5.3. Pro porovnání stejnosti tunelů je vypočtena vzdálenost středů dvou koulí z tunelu-1 a tunelu-2. Pokud průměrná vzdálenost nepřesáhne 1.7 Angstromu, jsou dva tunely považovány za stejné. Tento způsob výpočtu poskytoval dostatečně přesné výsledky. 5.1 Vizualizace výsledku programem PyMOL K vizualizaci všech získaných výsledků bylo použito načítání dat do programu PyMol pomocí speciálně vytvořených a upravených pluginů. Program PyMOL se k těmto účelům výborně hodil. Je to open-source aplikace sponzorována svými uživateli. Byl vytvořen Ly-fordem Delanoem a komerční společností DeLano Scientific LLC. Tato aplikace je velice oblíbená mezi biochemiky pro své jednoduché a intuitivní ovládání. Díky tomu, že je psána v jazyce Python, lze rychle a efektivně přidat svá rozšíření v podobě pluginů. Rychlé práce s objekty v Pythonu a PyMOL API bylo využito k vytvoření pluginů, který exportuje data biochemiků a umožní je opět jiným pluginem načítat a porovnávat. 19 5.2. VIZUÁLNÍ POROVNÁNÍ TUNELŮ Obrázek 5.3: Poloměr tunelů je určen funkcí r(x), upraveno a převzato z [18] 5.2 Vizuální porovnání tunelů V první fázi byla analýza blockerů a nalezených tunelů prováděna pouze vizuální metodou. I práce chemiků spočívá ve shlédnutí výsledků a na základě svých zkušeností, publikovaných vědeckých poznatků, určují správnost zablokování. Pouze vizuální porovnávání tunelů je však velice časově náročné díky velké rozmanitosti molekul a široké škále nastavení restriktivnosti blockerů. U jedné molekuly je možné nastavit až 20 různých poloměrů blokovacích koulí. Také lze měnit pravidla vyhodnocování a tím ovlivnit vypočtené tunely. Později se ukázalo, že ne vždy vizuální stejnost tunelů určí ten stejný tunel, i když se díváme ze stejného pohledu. Tunely mohou být v některých místech částečně zkrouceny nebo posunuty v jedné ose, což je okem těžce rozpoznatelné. Z tohoto důvodu bylo přistoupeno k vytvoření automatického rozpoznávání tunelů. Vizuální metodou bylo ovšem odhaleno chování tunelů, které je automaticky obtížněji zjistitelné. Mezi zásadní patří poznatek při použití Simple blockerů a zablokování mnohokrát větší koulí než je průměrný poloměr tunelu. V tomto případě dochází k nalezení zcela nových tunelů na opačné straně molekuly. Volné místo v jedné části je zcela vyplněno a Dijkstrův algoritmus, který hledá nové tunely se přesune do opačné části molekuly a nalezne dlouhé tunely. U ostatních blockerů se tento jev nevyskytuje, což vychází ze samotné konstrukce ostatních blockerů. 5.3 Automatické rozpoznání tunelů a jejich klasifikace Obrázek 5.4 demonstruje posloupnost činností, které vedou k vytvoření souboru statistických dat. Z těchto dat je možné zjistit počet nalezených tunelů, kolik z nich je duplicitních a kolik tunelů nebylo nalezeno vůbec. Na prvním obrázku je "PyMOL Session", což je binární soubor programu PyMol. Pro každou ze čtyřiceti testovaných molekul byla chemiky vypočtena sada deseti tunelů. K výpočtu použili předchozí verzi programu AnBeKoM, která neobsahovala žádné vyhodnocování tunelů. Pomocí speciálně vytvořeného pluginu 20 5.3. AUTOMATICKÉ ROZPOZNÁNÍ TUNELŮ A JEJICH KLASIFIKACE Obrázek 5.4: Posloupnost kroků od načtení po výsledné statistiky byl proveden export dat z těchto souborů. Na druhém obrázku je textový soubor obsahující souřadnice středů a poloměry koulí tunelu. V souboru byly ponechány pouze známé tunely které byly označeny názvem tunelu. Souřadnice ostatních tunelů byly ze souboru vymazány. V dalším kroku docházelo opět k načítání souřadnic z textového souboru, které byly porovnávány s každým nově vypočteným tunelem. Porovnání podle algoritmu podrobně popsaném v úvodní části kapitoly 5 umožnilo určit účinnost a správnost blokovací metody. Na základě získaných dat byly generovány grafy úspěšnosti metod, použité v následující kapitole. 21 Kapitola 6 Statistiky blokování Na úvod této kapitoly bude rozebrán problém blokování a provedena podrobná analýza na jedné vybrané molekule 1CIJ. Na Obrázku 6.1 se nachází sada tunelů, která byla vypočtena biochemiky a tunely byly jednotlivě popsány a označeny. Postupně budou procházeny všechny námi navržené blokovací přístupy a jednotlivé výsledky porovnávány s obrázkem 6.1. Pro správné pozorování rozdílů na dvou různých pohledech je potřeba mít vždy stejný pozorovací úhel. V případě, že jsou tunely různě překryté, je potřeba měnit různé pohledy. Při čtyřech zvolených metodách blokování, každá z nich má minimálně tři možnosti nastavení restriktivnosti, čas na zpracování analýzy značně narůstá. Jak potvrdili i chemici, čas na vyhodnocení blokovacích metod bez použití testovací aplikace by mohl trvat i několik týdnů. Obrázek 6.1: Molekula 1CIJ, data vytvořená a anotovaná chemiky 6.1 Blokování metodou Simple blocker U této metody i u tunelů ohodnocených chemiky jsou shodně nastaveny pohledy, aby se pozorovatel díval na molekuly ze stejného úhlu. Nejdříve byla použita technika Simple. Správně je vypočten tunel B, který je zvýrazněn modrou barvou na obrázku 6.2. Nepatrný rozdíl mezi modrými tunely na obrázku 6.1 a 6.2 je pouze v délce tunelu. Tento rozdíl však nemůže při chemické reakci hrát roli. Další tunel A, označený červenou barvou, byl díky malému poloměru blokovacích koulí nalezen dvakrát. Ovšem nebyl nalezen tunel C, který 22 6.2. BLOKOVÁNÍ METODOU DECREASING BLOCKER Obrázek 6.2: Molekula 1CIJ, použité blokování Simple se nachází pouze na obrázku 6.1a je označen černou barvou. Při dvojnásobném zvětšení blokovací koule na hodnotou 8.0 Angstromu došlo k odstranění duplicitního tunelu A, ale tato úprava by u ostatních molekul způsobila odfiltrování správných tunelů, proto není možné tento poloměr blokování použít i u ostatních molekul. Změnu je možno pozorovat na obrázku A.l v příloze A. Dalším zajímavým zjištěním na obrázku A.l je velké množství dlouhých tunelů, které vedou přes celou molekulu na opačnou stranu než tunely A, B, C. Tyto tunely vzniknou použitím velké blokovací koule, která zablokuje značnou část molekuly. Pokud ovšem blokovací poloměr dvakrát zmenšíme, dostaneme i dříve nenalezený tunel C, ale tunel A nalezneme zase dvakrát a tunel B nám metoda najde šestkrát, což také není možné použít pro více molekul. 6.2 Blokování metodou Decreasing blocker Obrázek 6.3: Molekula 1CIJ, blokování pomocí metody Decreasing 23 6.3. BLOKOVÁNÍ METODOU BRANCHING BLOCKER Pokud k blokování 1CIJ molekuly použijeme další z navržených metod tzv. Decreasing blocker, setkáme se s podobným chováním. Jak už bylo uvedeno v kapitole 4, tento přístup blokuje tunel do určité hloubky a velikost koulí zmenšuje. Jak je možno vidět na obrázku 6.3, dostáváme duplicitní červený tunel A. Pokud bychom chtěli tento tunel odstranit je nutné nastavit větší restriktivnost blockeru, tzn. zvětšit poloměry blokovacích koulí. Tato cesta ovšem nevede k dosažení kýženého výsledku a tím je pouze jeden tunel A. I když blokovací koule je zvětšena třikrát oproti standardnímu nastavení, které má nejlepší výsledky u všech testovaných molekul, je dosaženo pouze zablokování ostatních požadovaných a známých tunelů. Duplicity se nezbavíme, naopak při nastavení velikosti poloměru s hodnotou 15 Angstromu dostaneme duplicitní tunely A i C, viz obrázek A.3 v příloze A. Další možností, jak u tohoto blokování omezit stejné tunely, je prodloužení délky, do jaké budeme tunel zacpávat. Bohužel duplicitního červeného tunelu A se nezbavíme a výsledek bude stejný jako na obrázku A.l. Pokud budeme v prodlužování dále pokračovat, zakryjeme i aktivní místo a výsledek se podobá obrázku A.l, tudíž je neuspokojivý. 6.3 Blokování metodou Branching blocker Pro zacpávání tunelů je možné vybrat také přístup nazvaný Branching. Obrázek 6.4 je důkazem podobnosti s ostatními, i když je založená na zcela jiném principu než předchozí dvě možnosti a také používá důmyslnější systém zacpávání. Setkáváme se zde se zcela stejným problémem, kterým jsou dva totožné tunely A. Při sebemenší snaze upravení toho nedostatku v podobě vyšší restriktivnosti přijdeme o modrý tunel B a duplicitní tunely A nám stejně zůstanou. Postup Branching je u některých molekul citlivý na změnu poloměru blokovacích koulí a při změně z 3.4 Angstromu o dvě desetiny dostaneme případ, který lze shlédnout na obrázku A.4 v příloze A. Obrázek 6.4: Molekula 1CIJ, blokování pomocí metody Branching 24 6.4. BLOKOVÁNÍ METODOU NARROWEST BLOCKER 6.4 Blokování metodou Narrowest blocker Poslední možností z řady blokovacích metod je tzv. Narrowest blocker, který nejvíce vybočuje z řady. Nezacpává na povrchu molekuly, nebo pod povrchem směrem k aktivnímu místu, ale přímo v nejužším místě. Na obrázku 6.5 je možno pozorovat nejvyšší počet různých tunelů, které jsme schopni pomocí této metody nalézt. Při nastavení ještě nižší re-striktivnosti blokování nám selže blokování a upravený Dijkstrův algoritmus, který hledá tunely, nachází stále první tunel A. Pokud zvolíme opačnou možnost a restriktivitu blokování zvyšujeme, budeme zase nacházet kromě tunelu A stále stejný tunel B a požadovaných výsledků se nedočkáme. Obrázek 6.5: Molekula 1CIJ, Narrowest blokování, nejnižší restriktivnost 6.5 Vyhodnocení použitých metod V této podkapitole bude provedeno vyhodnocení zvolených metod a vzájemné porovnání dosažených výsledků. Budou sledovány počty nalezených tunelů, kolik z tohoto počtu je duplicitních a kolik tunelů naše metoda nenašla vůbec. Všechna tato měření budou prováděna vždy na jedné molekule proteinu. Na těchto grafech bude sledováno chování blockeru na různých datech. Bude zde popsáno několik vybraných případů, které nejlépe dokazují činnost blokování. Každý obrázek se skládá ze 3 částí a, b, c, přičemž každá část představuje jiné nastavení blockeru. V části obrázku označené (a) je defaultní méně restriktivní nastavení, v části (b) je ideální nastavení, které vyhovuje největší množině molekul a v části (c) je použito restriktivní nastavení čtyř blockeru. První sloupec s označením Metoda 0 odpovídá blockeru Simple, Metoda 2 odpovídá blockeru Decreasing, Metoda 4 blockeru Branching a poslední Metoda 6 blockeru Narrowest. Na obrázku 6.6 je možné porovnat různá nastavení blockeru. V tomto případě pro molekulu 1B6G. Modrá část sloupce grafu vyznačuje nalezené tunely, v případě že se rovná 100% byly nalezeny všechny hledané tunely. Červená část sloupce udává procentuální zastoupení duplicitních tunelů. Poslední žlutá část vyznačuje kolik procent tunelů nebylo nalezeno. 25 6.5. VYHODNOCENÍ POUŽITÝCH METOD HO.OO* 170 DC* lCŮCWt BÍOC* 50K"* 4*00% ?0 0C* nK* 1B6G Hfíh.im? MMhnili MeíiodQ MíiřiwM 140 00% ířooo* WOOffS ioůo* 50 00* 40 ŮO* 30 00% 0«KŮ lfíGG fa; Metnod £ MeOiod 6 UeUihIS MeDiadt HttflEdl Mílticd 4 Obrázek 6.6: Počty tunelů v molekule 1B6G: (a) defaultní nastavení, (b) ideální nastavení, (c) restriktivní Grafy obrázku 6.6 jsou důkazem veliké citlivosti metody Simple, která je znázorněna vždy prvním sloupcem v případě (a), (b) i (c). Na grafu (a) i (b) metoda nezablokovala jeden duplicitní tunel, ovšem na grafu (c) je patrné, že i nepatrná změna blokovací koule způsobí přílišné blokování a ucpání správných tunelů. Nejlépe si u tohoto proteinu počínala metoda 2 neboli Branching, která vždy nalezla všechny tunely i při větší restriktivnosti blockeru. Tato metoda je velice podobná metodě 4 (Branching), která v případě (c) zablokovala jeden správný tunel. Nejhůře si v tomto i ostatních případech počínala metoda Narrowest, která má největší odchylku od výsledku. 1D07 1D07 1D07 Dl,l!»d MtiHpil í Urihad Ě HřlhWl Ú MfltlW] 4 000% 000% (a) McllimlS UHImd6 MelhodÚ McIMkI 1 (b) (c) Ufíhodí Obrázek 6.7: Tunely pro 1D07, (a) defaultní nastavení, (b) ideální nastavení, (c) restriktivní Další obrázek 6.7 potvrzuje zjištění popsaná v předchozím odstavci. Ukazuje závislost vypočtených tunelů na zvoleném proteinu jako faktor, který nejsilněji ovlivní sadu vypočtených tunelů. Toto je možné zjistit i porovnáním s předchozím obrázkem 6.6.1 když v případě 26 6.5. VYHODNOCENÍ POUŽITÝCH METOD (a) a (b) bylo použito různých blokování s jiným nastavením, přesto výsledky jsou velice podobné. Poslední možnost (c) dokládá citlivost blockeru Simple. Tato metoda v grafu (a) nalezne 60% stejných tunelů a z grafu (c) je patrné, že jeden tunel ze tří hledaných nebyl vypočten. Obrázek 6.8: Dva správně vypočtené tunely A v molekule 1D07 Na obrázku 6.8 jsou zobrazeny dva stejné tunely A. Tento případ však mnohé blockery díky jejich vzdálenosti považují za rozdílné tunely a tudíž při standardním nastavení, které vyhovuje nejvíce molekulám, není blokován. tofclefcLila 1CQW 1CQW 1CQW Mt*iodO Mtitiod i Methmi: Uclhudt. Uediúd D Mediod * Obrázek 6.9: Počty tunelů pro molekulu 1CQW, (a) defaultní nastavení, (b) ideální nastavení, (c) restriktivní Další z vytvořených grafů mapuje molekulu 1CQW, u které jsou známy tunely A a B. Chování všech blokovacích metod při rozdílném nastavení restriktivnosti je ovšem podobné. Všechny metody při standardním nastavení naleznou duplicitní tunel A. U metody bran-ching ani větší poloměr blokovacích koulí nezabrání nalezení duplicitního tunelu A. Oba stejné tunely je možné porovnat v příloze B na obrázku B.l. Pouze blokování Simple je schopno při správně nastavené velikosti blokovací koule duplicitní tunel odfiltrovat. Ovšem nalezení správného poloměru u metody Simple lze dosáhnout pouze experimentálně a vyžaduje někdy i značné časové nároky. Metoda Narrowest i při restriktivním nastavení tunel 27 6.6. SOUHRN A HODNOCENÍ BLOKOVACÍCH METOD A nalezne dvakrát, ale tunel B vypočítán není. Důkazem podobnosti blokovacích metod je také obrázek 6.10, který vykazuje podobnost metody Decreasing a Branching. Metoda Simple opět při malé změně velikosti blokovacích koulí našla vždy jiný výsledek. Ideální 100% úspěšnost měla metoda Simple v případě (c). Ovšem při vhodném zvolení blokovací koule i metoda Branching dosáhne 100% úspěšnosti všech tunelů a nebude vyhledán žádný stejný tunel. Kompletní výsledky tohoto procesu je možné nalézt v příloze na obrázku B.l. 1G5F 1G5F 1G5F LĎOW* L4O0Ů* LOOOOřft 60 "JO* 40 00% 20 MJ* oůfl* MiihD. [5] Petřek, M.: CAVER: a new tool to explore routes from protein clefts, pockets and cavi-ties, 2006. [6] Liang, J.: Analytical Shape Computation of Macromolecules: I. Molecular Area and Volume Through Alpha Shape, 1998. [7] Silberstein, M., Damborský, J. a Vaida, S.: Exploring the Binding Sites of the Haloal-kane Dehalogenase DhlA from Xanthobacter autotrophicus GJ10,2007. [8] Kozlíková B., Andres F. a Sochor, J.: Visualization of Tunnels in Protein Molecules, Journal of: Afrigraph, 2007. [9] the State University of New Jersey (on-line), R.: An Information Portál to Biological Macromolecular Structures, 2008, . [10] Damborský, }., Petřek, M. a Banáš, P: Identification of tunnels in proteins, nucleic acids, inorganic materials and molecular ensembles, Biotechnology Journal 2, 2007. [11] MathWord Team: Point-Line Distance-3-Dimensional (on-line), 2008, . [12] Loschmidt Laboratories, Human Computer Interaction Laboratory Masaryk University: CAVER - secure caving in the world of biomolecules (on-line), 2008, . [13] Petřek, M., Otyepka, M.: Mole software (on-line), 2008, . [14] National Science Foundation (on-line): CASTp software, 2008, . [15] Nussinov-Wolfson Structural Bioinformatics Group (on-line): MolAxis software, 2008, . 31 [16] Yaffe E., Fishelovitch D., Wolfson J. H., Halperin D., Nussinov R.: MolAxis: Effícient and accurate identifícation oí channels in macromolecules, Wiley-Liss, Inc., 2008. [17] Beneš, R: Voroného diagramy v molekulární chemmii, diplomová práce, Masarykova univerzita v Brně, 2006. [18] Medek, R: Geometrická analýza molekul proteinů, Teze dizertační práce, Masarykova univerzita v Brně, 2007. [19] Gilead Sciences, Inc. (on-line): Gileaďs Research and Development Investments, 2008, . [20] Kohout, J.: Paralelní Delaunayova triangulace ve 2D a 3D, diplomová práce, Západočeská univerzita v Plzni, 2002. [21] Barber, C, Dobkin, D ., Huhdanpaa, H.: The QuickhuU Algorithm for Convex Hulls, ACM Transactions on Mathematical Software, 1995, . [22] DeLano Scientific LLC (on-line): PyMol software, 2008, . [23] OpenScience Project: JMol software, 2008, . 32 Příloha A Porovnání blokovacích metod Obrázek A.l: Molekula 1CIJ, restriktivní nastavení Simple blockeru 2x standardní nastavení 8.0 Angstromu Obrázek A.2: Molekula 1CIJ, méně restriktivní nastavení blockeru Simple, 3.0 velikost blokovací koule 33 A. Porovnání blokovacích metod Obrázek A.3: Molekula 1CIJ, blokování pomocí metody Decreasing - Restriktivní nastavení Obrázek A.4: Molekula 1CIJ, blokování pomocí metody Branching - Defaultní nastavení 34 Příloha B Demonstrace různých duplicit a nechtěných tunelů m (a) (b) (c) Obrázek B.l: Duplicitiní tunely v molekule ICQW Obrázek B.2: Tunely v molekule 1G5F (a) metoda branching, (b) hledané tunely 35 Příloha C Grafy statistik blokování 140.00% 12 0.00% 100.00% 80.00% 60.00% 40.00% 2 0.00% 0.00% 1B6G ^\ 1BE0 Method 2 Method 6 MethodO Method 4 180.00% 180.00% 140.00% 12 0.00% 100.00% 80.00% 60.00% 40.00% 20.00% 0.00% Method 2 Method 6 MethodO Method 4 1CQW Method 2 Method ( Mfithnrl n Mfithnrl A 1BN6 rL ---"■ 160.00% 140.00% 12 0.00% 100.00% 80.00% 60.00% 40.00% 2 0.00% 0.00% 180.00% 160.00% 140.00% 12 0.00% 100.00% 80.00% 60.00% 40.00% 2 0.00% 0.00% 1BEZ r" ■" --""■ ni.ir -.-i ■ Same Method 2 Method í MethodO Method 4 1BN7 1CV2 180.00% 160.00% 140.00% 120.00% 100.00% 80.00% 60.00% 40.00% 2 0.00% 0.00% 1CIJ 1D07 f"L_ -^■"H I Mi&sed I Same IAII Method 2 Method 6 MethodO Method 4 Method 2 Method 6 Mfithnrl 0 Method 4 Method 2 Method 6 MethodO Method 4 Obrázek C.l: Srovnání blockerů s defaultním nastavením 36 C. Grafy statistik blokování 1EDB 1EDD 1EDE Method 2 Method 6 MethodO Method 4 1G4H Method 2 Method 6 MethodO Method 4 140.00% 12 0.00% 100.00% 80.00% 60.00% 40.00% 2 0.00% 0.00% 1K63 Method 2 Method 6 MethodO Method 4 Method 2 Method 6 MethodO Method 4 Method 2 Method 6 MethodO Method 4 1G5F 1K5P 160.00% 140.00% 12 0.00% 100.00% 30.00% 60.00% 40.00% 2 0.00% 0.00% Method 2 Method 6 MethodO Method 4 Method 2 Method 6 MethodO Method 4 1K6E 1MJ5 Method 2 Method 6 MethodO Method 4 Method 2 Method 6 Methnd 0 Methnri 4 Obrázek C.2: Srovnání blockerů s defaultním nastavením 37 3 O) J3 u > O O) Jí > O « s ^ iH .H iH 1-H 1-H .H iH iH i-l i-l .H iH .H i-l i-l rH i-l tH tH rH tH .H CM CM rH i-l tH ^H rH rH CM iH Q a a Q Q a a a a a a a a a a o a a a O a Q Q a O D a Q Q Q Q Q O o o O O o o o o o o o o o o o o O o o o O o o O O o O O O O O Ťť "»r řr i-- r-~ Ť(- r» co co rr "^ Ťť co CO T co co CO 03 co 03 ca 4 ^ ^r ^r ■?- O! cn rr CO T CM CM CM rH rH CM *H o O CM CM CM o O CM o o O O o O o CM CM CM CM CM O O CM O CM iH l-l iH 1-H rH l-l iH iH rH <-l l-l ^H .H iH tH rH rH ^H ^H .H ^H ^H ^H ^H rH rH tH ^H .H tí .H ^H Cl 0. Cl CL Cl 0. Cl 0. Cl Cl C Cl Cl CL CL CL Cl Cl Cl CL Cl Cl Cl Cl Cl Cl D. Cl a. a. CL Cl CO L0 CO cn cn CO CO CO cn tri CO CO CO cn tn cn cn CO CO cn CO LO LO LO cn cn cn LO cn cn cn cn < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < CO Lfí r- co r- -Ť (D rH tO rH CO CM rH CO cn tO rH rH CO rH co p- CO CD Tt CD rH -* cn CM m *tf p- cn Li"! O LR \n o cd LR ** -* o r» 1". I". lr N CO rH Ti tř « LR O co tq o O p^ CO O CM ** cri cd cri cd CM cd cm CM cd cd eri CM CM CO CM CM CM CM (O tO to to c\i cd cd cd cd cd CO CM P^ cd CO CM CM co cn co CM CM CM CM CM CM CM CM CM CM CM CM CM CM rH Ti CM CM 1 LR ca TJ P- P- Li"! LR P» ** to 5 P» co CO Ti Ph to co LR cd cd cd cm cd cm cn co CM CO CM CM CO CM rH rH to co co Ti Ti M O. (O 0) a> E c ;_—' CT > o ■a •a -a W lŘ s N co m to to "e £ c £ -a 3 CM CM Q. > > £ J2 J2 d -Q 'o o O ■o i 0) CL) Cl cn £ j: JC Jť B T3 ■c "C CD c o O rH rH rH rH rH rH rH rH rH i-i rH rH rH rH rH H rH rH rH H rH CM CM CM CM CM CM CM CM CM CM CM B o 6 ^4 (C O) CJ fi (C O cn N xv O) i—i MC 1—I O) i—i O B > O) N MC CJ O) o > ^4 O) N s 00 co Příloha E Instalace pluginů pro testování K prohlížení molekul a výpočtu tunelů je potřeba mít nainstalován program PyMol, nebo použít on-line verzi tohoto programu. On-line verze je možné použít na [12]. V této příloze bude popsána instalace programu AnBeKoM do aplikace PyMol, kterou je možno nalézt na přiloženém CD v sekci install nebo zdarma stáhnout ze stránek [22]. Poté v adresáři, kde máme program PyMol nainstalován, vytvoříme adresář modules. Dále v této složce vytvoříme podadresář AnBeKoM, který musí obsahovat soubor AnBe-KoM.jar. Tento soubor obsahuje celou spustitelnou aplikaci obsahující výpočet a vyhodnocení tunelů. Program je z PyMolu volán s parametry příkazové řádky a výsledky jsou opět vizualizovány Další z podadresářů je AnBeKoM/lib, kde jsou umístěny pomocné knihovny. Je potřeba vstoupit do složky modules/pmg_tk/startup a nakopírovat zde pythonovský skript, kterým je plugin programu PyMol s názvem AnBeKoM.py Posledním krokem je instalace nového pluginu. Z menu vybereme: Menu -> Install Plugin a ze složky modules/pmg_tk/startup vybereme AnBeKoM.py, který se tímto krokem nainstaluje. Dále už můžeme program bez problému používat. Tento postup byl vytvořen pro operační systém Linux. V případě spouštění v systému Windows je potřeba nastavit proměnnou WINDOWZ = 1, ale postup instalace je totožný. Případné cesty k souborům je možné nastavit na začátku souboru AnBeKoM.py. 39 Příloha F Obsah CD Součástí této práce je také CD. Obsahuje: • dp-text - zdrojový kód textu diplomová práce ve formátu XML podle DTD DocBook a samotná práce ve formátu pdf • install - zdrojové kódy a knihovny volně šiřitelné aplikace PyMOL, společně s jejich dokumentací, pdb soubory • src - zdrojové kódy Blokovacích tříd a PyMOL pluginů pro generování statistik • bin - zkompilovaná aplikace AnBeKoM společně s blokovacími třídami pro použití pomocí pluginů v programu PyMOL 40