Výpočty na bázi DNA jako nové výpočetní schéma. Petr Tomica tomica@fit.vutbr.cz FIT VUT Brno



Podobné dokumenty
a) Primární struktura NK NUKLEOTIDY Monomerem NK jsou nukleotidy

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

NUKLEOVÉ KYSELINY. Základ života

"Učení nás bude více bavit aneb moderní výuka oboru lesnictví prostřednictvím ICT ". Molekulární základy genetiky

Třídy složitosti P a NP, NP-úplnost

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Genetika zvířat - MENDELU

Výroková a predikátová logika - II

1 Linearní prostory nad komplexními čísly

Složitost Filip Hlásek

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

Typy nukleových kyselin. deoxyribonukleová (DNA); ribonukleová (RNA).

3.10 Rezoluční metoda ve výrokové logice

Formální systém výrokové logiky

Výroková logika - opakování

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

Úvod do kvantového počítání

Výukový materiál zpracován v rámci projektu EU peníze školám

Projekt SIPVZ č.0636p2006 Buňka interaktivní výuková aplikace

Výroková a predikátová logika - II

Naproti tomu gramatika je vlastně soupis pravidel, jak

5 Orientované grafy, Toky v sítích

REPLIKACE A REPARACE DNA

Místo pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu

Základní pojmy matematické logiky

NP-úplnost problému SAT

Nukleové kyseliny příručka pro učitele. Obecné informace:

Matematická logika. Rostislav Horčík. horcik

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

6. Nukleové kyseliny

Molekulární základy dědičnosti. Ústřední dogma molekulární biologie Struktura DNA a RNA

Výroková a predikátová logika - V

Výroková a predikátová logika - III

2. Z následujících tvrzení, týkajících se prokaryotické buňky, vyberte správné:

Problémy třídy Pa N P, převody problémů

Struktura a funkce nukleových kyselin

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

Pravděpodobnost a statistika

Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Příklad z učebnice matematiky pro základní školu:

Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost

Nukleové kyseliny Replikace Transkripce, RNA processing Translace

Další NP-úplné problémy

Od Turingových strojů k P=NP

Gymnázium, Brno, Elgartova 3

Výroková logika. Teoretická informatika Tomáš Foltýnek

= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez

Algoritmizace. 1. Úvod. Algoritmus

Klonování DNA a fyzikální mapování genomu

Výroková a predikátová logika - II

Úvod do informatiky. Miroslav Kolařík

Exprese genetické informace

Predikátová logika Individua a termy Predikáty

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

časovém horizontu na rozdíl od experimentu lépe odhalit chybné poznání reality.

Nukleosidy, nukleotidy, nukleové kyseliny, genetická informace

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

Úvod do teorie informace

NUKLEOVÉ KYSELINY. Složení nukleových kyselin. Typy nukleových kyselin:

Vrcholová barevnost grafu

Množiny, relace, zobrazení

Kapitola 3 Biomolecular Design and Biotechnology. Překlad: Jaroslav Krucký

Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

4. NP-úplné (NPC) a NP-těžké (NPH) problémy

Funkce. Definiční obor a obor hodnot

Normální formy. (provizorní text)

Nukleové kyseliny Replikace DNA Doc. MVDr. Eva Bártová, Ph.D.

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

Matematická logika. Miroslav Kolařík

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je

Nukleové kyseliny Milan Haminger BiGy Brno 2017

teorie logických spojek chápaných jako pravdivostní funkce

Usuzování za neurčitosti

Dijkstrův algoritmus

Algoritmy a algoritmizace

ALGORITMY A DATOVÉ STRUKTURY

ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

DNA TECHNIKY IDENTIFIKACE ŽIVOČIŠNÝCH DRUHŮ V KRMIVU A POTRAVINÁCH. Michaela Nesvadbová

Teorie pravěpodobnosti 1

Funkce, elementární funkce.

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

Jsme tak odlišní. Co nás spojuje..? Nukleové kyseliny

15. Základy molekulární biologie

OPS Paralelní systémy, seznam pojmů, klasifikace

Modely Herbrandovské interpretace

Převoditelnost problémů nezávislé množiny na problém hamiltonovského cyklu () IS HC 1/10

Výroková logika II. Negace. Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0).

CVIČENÍ 4 Doc.Ing.Kateřina Hyniová, CSc. Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze 4.

Úvod do informatiky. Miroslav Kolařík

ˇ razen ı rychlejˇ s ı neˇ z kvadratick e Karel Hor ak, Petr Ryˇsav y 20. dubna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT

Datové struktury 2: Rozptylovací tabulky

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

Kapitola Základní množinové pojmy Princip rovnosti. Dvě množiny S a T jsou si rovny (píšeme S = T ) prvek T je také prvkem S.

10 Přednáška ze

Operační výzkum. Síťová analýza. Metoda CPM.

U Úvod do modelování a simulace systémů

Transkript:

Výpočty na bázi DNA jako nové výpočetní schéma Petr Tomica tomica@fit.vutbr.cz FIT VUT Brno 18. prosince 2002

Abstrakt Tato práce se zabývá DNA výpočty jako novým výpočetním schématem. Prezentuje jejich výpočetní sílu a schopnost teoreticky řešit úlohy vedoucí na rozsáhlé prohledávání stavového prostoru. Rovněž je zde naznačeno několik základních informací o DNA a inženýrské práci s ní. Je ukázán Adlemanův pokus o nalezení hamiltonovské cesty. Prohlášení Prohlašuji, že jsem tuto práci vypracoval samostatně pod vedením doc. RNDr. Alexandera Meduny, CSc v rámci kurzu TID. Uvedl jsem všechny literární prameny a publikace, ze kterých jsem čerpal. Petr Tomica

Obsah 1 Úvod: o co to jsou DNA výpočty 3 2 Struktura DNA a její zpracování 5 2.1 Struktura DNA.......................................... 5 2.2 Měření délky DNA........................................ 6 2.3 Hledání určité DNA....................................... 7 2.4 Operace s molekulou DNA.................................... 7 2.4.1 Rozdělení a sloučení DNA vláken............................ 7 2.4.2 Prodlužování DNA.................................... 7 2.4.3 Zkracování DNA..................................... 8 2.4.4 Stříhání DNA....................................... 8 2.4.5 Vázání DNA....................................... 8 2.4.6 Modifikace nukleotidů v DNA.............................. 8 2.4.7 Množení DNA...................................... 8 2.5 Čtení DNA sekvence....................................... 9 3 Výpočty s molekulami 10 3.1 Adlemanův experiment...................................... 10 3.2 SAT-problém........................................... 12 3.3 Jiné vyřešené problémy..................................... 13 4 Závěr 14 2

Kapitola 1 Úvod: o co to jsou DNA výpočty Je zřejmé, že současné informační technologie založené na křemíkových čipech narážejí na své hranice. Není možné do nekonečna zmenšovat křemíkové čipy. V takové situaci přichází na pomoc idea, že bychom měli pokračovat ve vývoji a přesunout se na molekulární případně subatomární úroveň. Kvantové počítače a výpočty založené na manipulaci s DNA jsou toho příkladem. Mechanické počítače mají velmi dlouhou historii, různé mechanické stroje usnadňující výpočty již existují delší dobu. Ačkoli současná platforma PC má dominantní roli mezi prostředky usnadňujícími výpočty, vývoj by neměl ustrnout a je možné se dá cestou DNA výpočtů. Když slavný průkopník strojů usnadňujících výpočty Charles Babbage publikoval práce v letech 1810 1820 o svém Diferenčním stroji a později Analytickém stroji, nebyl schopen své myšlenky přenést z papíru do skutečnosti. Příčinou toho byl nedostatek potřebných nástrojů a technologií na začátku 19. století. Přesto pozdější objevy na tomto poli potvrdily, že jeho cesta byla správná, a že předurčil směr vývoje. (Např. dlouho před von Neumanem objevil výhodu programu uloženého v paměti spolu s daty, což se jeho následovníku Züsemu nepodařilo.) Možná dnes se nacházíme ve stejné situaci v případě DNA výpočtů. Biochemické techniky dnes nejsou tak sofistikované a přesné jak bychom potřebovali. Samotný obor DNA výpočtů je velmi mladý, nikdo se doposud nezabýval biochemickými technikami vhodnými pro DNA počítače. Velké naděje ohledně budoucnosti DNA výpočtů se opírají o dva význačné rysy DNA molekul, kterými se zabýváme dále: 1. masivní paralelizmus DNA vláken 2. komplementaritu bází Mnoho slavných problému nemá algoritmus řešení v polynomiálním čase a musí být řešeny prohledáváním stavových prostorů všech jejích řešení. Nicméně jejich složitost tj. mohutnost jejich stavových prostorů je často tak velká, že není možné takové řešení najít v rozumném čase při stávající úrovni výpočetních technologií. V těchto případech se může plně uplatnit to, že velká hustota informace uložená ve vláknu DNA a snadnost s jakou můžeme vytvářet kopie vláken DNA nám umožňuje manipulovat s přesně takovými obrovskými stavovými prostory. Typický příklad je luštění šifrovaného textu: všechny možné klíče mohou být prověřeny paralelně. Molekula DNA se skládá z dvou řetězců polymerů, obvykle zvaných DNA vlákna. Vlákno se skládá z nukleotidů a nukleotidy se mohou lišit svými bázemi. Existují čtyři možné báze v DNA: A (adenin), G (guanin), C (cytosin) a T (tymin). Známá dvojitá šroubovice vzniká spojením dvou oddělených DNA vláken. Komplementarita bází (Watson-Crick complementarity) je princip, podle kterého jsou utvářeny dvojitá vlákna molekul DNA. Mezi různými bázemi vznikají ve dvojité šroubovici vazby, avšak pouze mezi bázemi, které jsou vůči sobě komplementární. A se vždy spojuje pouze s T a G pouze s C. Takže když máme pouze jedno z vláken molekuly DNA, můžeme protože známe tento princip k němu doplnit vždy druhé. Informace obsažená v obou vláknech DNA je stejná, je pouze zobrazená doplňkově. Tímto principem příroda chrání genetický materiál v buňkách živých organismů a zároveň poskytuje snadné kopírování molekul DNA dvojitá šroubovice se rozplete a obě vlákna se doplní na úplnou molekulu. Existuje množství další důvodu, proč zkoumat DNA výpočty než jen kvůli řešení problémů vedoucích na masivní prohledávání. Na jedné straně je důležité pochopit, jak provádí příroda své vlastní 3

výpočty v živých buňkách, vždyť přece veškerý život je založen na manipulaci s ní. Na druhé straně výpočty s DNA lze zobecnit na úplně nové výpočetní schéma, značně odlišné od těch, které používáme dnes. Nové datové struktury, nové typy operací s nimi, celý nový výpočetní model. I když se možná časem ukáže nereálnost zbudování DNA počítače (např. kvůli velké chybovosti operací s molekulami DNA), možná se objeví nové postupy na tradiční křemíkové platformě inspirované výsledy výzkumu genového inženýrství. Existují i další důvody pro studium paradigmat založených na DNA. Klasická teorie informatiky je založena na přepisovacích operacích, alespoň většina automatů a jiných modelů jazyků je tak postavena. jak si ukážeme příroda manipuluje s informacemi obsaženými v DNA jiným způsobem: vyjímáním, vkládáním a připojováním, atd. kousků řetězců. Je možné ukázat, že použitím takovýchto operací dostaneme výpočetní model ekvivalentní Turingovu stroji. Celá nová část teorie formálních jazyků může být vytvořena na tomto základě. 4

Kapitola 2 Struktura DNA a její zpracování Termín genetické inženýrství je široce rozšířený termín používaný pro všechny druhy manipulace s genetickým materiálem. Pro účel tohoto textu, tímto termínem budeme myslet vždy manipulaci s DNA mimo tělo živé buňky. 2.1 Struktura DNA DNA hraje centrální roli v živých buňkách, kde zajišťuje kódovaní produkce proteinů a reprodukční vlastnosti. DNA (deoxyribonukleová kyselina)je polymer sestavený z monomerů zvaných deoxyribonukleotidy. Každý z deoxyribonukleotidů se skládá z třech základních částí: cukru deoxyribozy, fosfátové skupiny a dusíkaté báze (viz obrázek 2.1). Deoxyribonukleotidy budeme dále nazývat zjednodušeně nukleotidy. Obrázek 2.1: Struktura tyminu Deoxyribóza má pět atomů uhlíku - pro přehled jsou na obrázku označeny. Fosfátová skupina je připojena na uhlík 5 a báze na uhlík 1. Na uhlíku 3 je připojena hydroxylová skupina (OH). Různé nukleotidy se liší pouze svými bázemi, kterých jsou dva druhy: puriny a pyrimidiny. Puriny jsou adenin a guanin, zkracované jako A a G. Pyrimidiny jsou cytosin a tymin, zkracované jako C a T. protože se nukleotidy liší pouze svými bázemi, jsou zjednodušeně označovány jako nukleotidy A, T, G a C. Nukleotidy se spojují dvěma různými způsoby. Fosfátová skupina napojená na pátý uhlík deoxyribózy je na pojena na hydroxylovou skupinu na třetím uhlíku následujícího nukleotidu. Tato vazba se nazývá fosfordiesterová a je to silná (kovalentní) vazba, viz obrázek 2.2. Poznamenejme, že výsledná molekula má 5 -fosfátovou skupinu na jednom nukleotidu a 3 -hydroxylovou skupinu na druhém nukleotidu. Tato definujeme u molekul pojem směr molekuly. Hovoříme buďto o směru 5

P 5' 4' 3' 2' 1' P 5' 4' 3' 2' 1' B B Obrázek 2.2: Fosfordiesterová vazba 5 3 nebo o směru 3 5, viz obrázek 2.3. Rozlišování směru je pro manipulaci s molekulami DNA klíčové. Zjednodušeně řečeno, když rozdělíme dvojitou šroubovici DNA, dolní vlákno zůstane dolní i po rozdělení dvojité šroubovice. Pro horní vlákno to platí stejně. Pomocí fosfordiesterové vazby můžeme sestavit jedno vlákno DNA. Podle standardní konvence vypisujeme takové vlákno s nukleotidem s volnou 5 -fosfátovou skupinou na nejlevějším konci nukleotid s volnou 3 -hydroxylovou skupinou na nejpravějším konci. Např. 5 -ACG a jemu odpovídající komplement 3 -TGC. Druhý způsob spojení nukleotidů je spojení jejich bází vodíkovou vazbou podle komplementarity bází: pár tvoří A a T a druhý pár C a G, viz obrázek 2.3. Žádné jiné nejsou povoleny. Vazba je slabá, může být rozrušena pouhým zahřáním roztoku s molekulami. Komplementarita bází (Watson-Crick complementarity)je úhelným kamenem, na které staví jakékoli využití DNA pro výpočty. P 5' 3' 5' 5' 5' P P 3' 3' 3' A C G T G C 3' 3' 3' P P P 5' 5' 5' 3' 5' Obrázek 2.3: Dvojitá šroubovice 2.2 Měření délky DNA Délkou vlákna DNA rozumíme počet nukleotidů, ze kterých se toto vlákno skládá. Délkou dvojité šroubovice rozumíme počet párů nukleotidů, ze kterých se tato šroubovice skládá. Stanoví délky DNA molekuly je důležité pro čtení DNA kódu. K měření délky DNA se používá metody zvané gelová elektroforéza. Elektroforéza je založena na tom, že molekuly DNA jsou záporně nabity. Pokud se ocitnou v elektrickém poli, budou se pohybovat směrem k kladné elektrodě. Pokud se budou pohybovat v roztoku, který bude stavět odpor procházejícím molekulám, budou se různě velké molekuly pohybovat různě velikou rychlostí. Rychlost molekul je tím větší čím menší je odpor, který kladou při pohybu roztokem. Jako zkušební roztok volíme gel, odtud přízvisko gelová. Po jisté době je elektrické pole vypnuto a molekuly zastaví svůj pohyb. DNA je před 6

testem označeno (barvivem, fosforeskujícími látkami, radioaktivními látkami) a nyní v gely vytváří vzory viditelné pouhým okem, viz obrázek 2.4. - + large fragments small fragments Obrázek 2.4: Měření velikosti 2.3 Hledání určité DNA Slučování dvou jednoduchých vláken, které jsou navzájem komplementární může být použito k vyhledání nějaké známé DNA. Předpokládejme, že chceme najít vlákno DNA, označme ho α, v nějakém roztoku, který ho obsahuje, stejně tak obsahuje i jiná vlákna DNA. Spojíme vlákno ᾱ, což je komplementární vlákno k α, s filtrem kterým přefiltrujeme daný roztok. Hledaná molekula se nám na tuto naši vazbu naváže. Roztok, který projde filtrem neobsahuje α a naopak všechny molekuly α můžeme uvolnit z filtru procesem zvaným denaturací, tj. uvolněním vodíkových vazeb ve dvojitých šroubovicích např. zahřáním roztoku. 2.4 Operace s molekulou DNA 2.4.1 Rozdělení a sloučení DNA vláken Jak bylo řečeno, vodíkové vazby mezi komplementárními bázemi jsou mnohem slabší než fosfordiesterové vazby mezi po sobě jdoucími nukleotidy. Tento fakt nám dovoluje rozdělit dvojitou šroubovici DNA na dvě vlákna. Jeden způsob je ohřát molekulu DNA na určitou teplotu tento proces je nazván denaturace. Když teď zahřátý roztok schladíme, oddělená vlákna znovu navážou vodíkové vazby. Schlazení musí probíhat pomalu, aby vlákna měla dost času na nalezení odpovídajícího komplementárního vlákna. Tento proces se nazývá renaturace. Denaturace může být ulehčena přidáním různých katalyzátorů. 2.4.2 Prodlužování DNA S DNA manipulujeme pomocí látek zvaných enzymy. Enzymy jsou proteiny, které katalyzují chemické reakce v živých buňkách. Jsou velmi specifické většina z nich katalyzuje pouze jednu chemickou reakci a jsou velmi účinné, tj. zrychlují chemické reakce až trilionkrát. Enzymy používáme jako základní nástroj genetické manipulace. Třída enzymů zvaných polymerázy je schopna přidávat nukleotidy na konec existující DNA molekuly. K tomu potřebují podklad, tj. část kompletní DNA dvojité šroubovice, na kterou se navazuje. Dále je potřeba, aby na podklad navazovalo jednoduché vlákno, k němuž potřebujeme doplnit druhou část podle komplementarity bází, a které používáme jako šablonu. Polymerázy navazují volné nukleotidy na poslední volnou 3 -hydroxylovou skupinu podkladu a současně ustavují nové vodíkové spojení mezi bázemi. Polymeráza bude opakovaně doplňovat chybějící nukleotidy, dokud nedoplní celou šablonu. Terminální transferáza je polymeráza, která se obejde bez těchto šablon a navazuje nukleotidy přímo na podklad. Krátká takto chemicky syntetizovaná vlákna se nazývají oligonukleotidy. Oligonukleotidy jsou velice užitečné v genetickém inženýrství, používají se jako podklady. 7

2.4.3 Zkracování DNA Nukleázy jsou enzymy, které rozkládají DNA. Dělí se na exonukleázy a endonukleázy. Exonukleázy zkracují DNA tak, že odebírají nukleotidy vždy z jednoho konce jednoho vlákna ve dvojitá šroubovici DNA. Jsou více flexibilní než polymerázy, je jich více a jsou více specifické (např. některé odebírají nukleotidy z konce 5, jiné zase z konce 3, zkracují jinak jednoduchá vlákna DNA, jinak dvojitá šroubovice DNA). 2.4.4 Stříhání DNA Endonukleázy ruší vnitřní fosfordiesterovou vazbu v DNA. Je jich velké množství specializovaných druhů podle toho, co stříhají, kde stříhají a jak stříhají. Speciálním druhem endonukleáz jsou restrikční endonukleázy, které stříhají pouze dvojitá šroubovice a nadto pouze ve specifických místech zvaných charakteristické místo. Jejich střih může být přímý případně střídavý, podle toho zda rozdělí dvojitou šroubovici v místě jednoho páru případně nechají přesahovat část jednoduchého vlákna na obou dvou stranách. Pokud nějaký úsek DNA obsahuje několik charakteristických míst pro nějaký restrikční enzym, pak tento enzym rozstřihne DNA na všech těchto místech. 2.4.5 Vázání DNA DNA molekuly mohou být spojeny enzymy zvanými ligázy. Přestože endonukleázy štěpí DNA tak, že ruší jejich fosfordiesterové vazby, takto rozstřižené DNA zůstávají u sebe, protože endonukleázy neruší (slabé, snadno odstranitelné) vodíkové vazby mezi vlákny (avšak to je možné pouze u střídavých střihů). Do takto narušených molekul DNA ligázy doplňují chybějící fosfordiesterové vazby. V případě rovných střihů je spojení rozdělených molekul mnohem méně účinnější, molekuly nejsou drženy ve své blízkosti pomocí vodíkových vazeb. Ńa druhou stranu výhodou rovných střihů je, že spojuje DNA molekuly nezávisle na nukleotidech na jejich koncích. 2.4.6 Modifikace nukleotidů v DNA Enzymy, které modifikují DNA molekuly přidáním nebo ubráním různých částí DNA jsou velmi užitečné v různých operacích nad DNA. Tato enzymy se nazývají modifikující enzymy. Metylázy jsou enzymy, které jsou použity in vivo spolu s restrikčními enzymy. Hlavní role restrikčních enzymů in vivo je obrana hostitelského organismu proti cizím organismům. Restrikční enzymy rozstříhají na kousky DNA útočníka velký rozsah charakteristických míst dovoluje zničení velkého rozsahu útočníků. Nicméně, DNA hostitele sama o sobě může obsahovat charakteristická místa pro některé ze svých restrikčních enzymů pokud takto místa nejsou chráněna, hostitelský organismus by tím současně zničil i svou vlastní DNA. Metyláza má stejné charakteristické místo jako jí odpovídající restrikční enzym; naváže se na toto místo a modifikuje nukleotid v tomto místě. Tím se stane toto místo pro restrikční enzym neviditelné a DNA se tak ochrání před sebezničením. 2.4.7 Množení DNA Jeden z klíčových problémů genetického inženýrství namnožení dostatečně velkého množství specifických fragmentů DNA. Tento problém je význačný zejména, když se jedná o namnožení malého množství známých fragmentů, které jsou společně v roztoku s jinými fragmenty, které nás nezajímají. Pro tento účel byla vypracována technika polymerázová řetězová reakce(pcr). Jak pracuje: předpokládejme, že chceme namnožit DNA molekulu α se známými okrajovými sekvencemi β a γ. Namnožení α se dosáhne opakováním tří základních kroků: denaturace, přidání základu a rozšíření. Začínáme s roztokem obsahujícím α (cílová molekula), syntetické oligonukleotidy (základy), které jsou komplementární k β (β-základ) a γ (γ-základ), polymerázy a nukleotidy. Ve fázi denaturace jsou vysokou teplotou rozděleny všechny dvojité šroubovice α. Ve fázi stavění základu jsou na tyto rozdělené dvojité šroubovice navázány základy komplementární s jejich hranicemi a to β-základy na β a γ-základy na γ. Ve fázi rozšíření je pomocí enzymu polymerázy doplněna každá částečná dvojité šroubovice na kompletní řetězec α. Tento postup opakujeme n-krát a obdržíme 2 n kopií molekuly α. 8

2.5 Čtení DNA sekvence Nejznámější metoda čtení DNA je založena na funkci enzymu polymerázy, který doplňuje chybějící nukleotidy k jednoduchému vláknu DNA, tak aby vznikla dvojitá šroubovice DNA. Tato metoda k tomu používá speciální modifikované nukleotidy. Tyto nukleotidy mají upravenu deoxyribózu případně fosfátovou skupinu. Nejčastěji používaná mutace je změna 3 -hydroxylové skupiny na 3 -vodík, takový nukleotid se nazývá dideoxynukleotid a ve zkratce se značí dda, ddt, ddc a ddg. Metoda se nazývá dideoxyenzymatická metoda nebo Sangerova metoda (podle objevitele). Funguje takto. Předpokládejme, že chceme přečíst molekulu α. Připojíme na její 3 konec molekulu (krátkou) γ, takže dostáváme molekulu β = 3 -γα. Molekulu γ přidáváme k α proto, abychom k takové molekule mohli navázat základ γ pomocí vodíkové vazby. (α neznáme zato γ ano, je to uměle připravený oligonukleotid). Základ γ nám vytvoří na naší molekule počátek dvojitá šroubovice takže polymeráza má k čemu připojovat nukleotidy. Nechť tato molekula s navázaným základem γ se jmenuje δ. Tyto molekuly namnožíme a rozdělíme do čtyř zkumavek (A, T, G a C). Každá zkumavka bude obsahovat molekulu δ, polymerázu, nukleotidy A, T, G a C. Navíc zkumavka A obsahuje omezené množství nukleotidu dda, zkumavka T nukleotidu ddt, atd. V těchto zkumavkách začne polymeráza doplňovat základ γ na kompletní šroubovici použitím nukleotidu z roztoku. Dříve či později jako stavební kámen nepoužije obyčejný nukleotid, ale námi upravený dideoxyribonukleotid. Dideoxyribonukleotidy však nemají 3 -hydroxylovou skupinu na svém vazebním cukru a tudíž není možné k nim připojit další nukleotid. Reakce pro molekuli,kde se to stane, skončí. Na konci všech reakcí se nalézá např. v zkumavce A sestava kompletních doplněných molekul DNA (ty nejdelší) spolu s neúplnými zbytky (různé délky, ale kratšími), které mají ve své koncové 3 -pozici zcela určitě nukleotid dda. Změříme-li délky molekul gelovou elektroforézou, můžeme přesně určit, na kterých pozicích se vyskytuje nukleotid dda a tedy i nukleotid T v původní molekule α. Obdobně postupujeme u ostatních zkumavek. 9

Kapitola 3 Výpočty s molekulami V minulé kapitole jsem si ukázali, že práce s DNA není jen tak, a že nic není zadarmo. Techniky genetického inženýrství jsou velmi sofistikované a složité. V této kapitole budeme předpokládat, že techniky genetického inženýrství jsou jednoduché a snadno přístupné. Myšlenka využití molekuly DNA k výpočtům pochází od amerického matematika Leonarda Adlemana (publikoval v [3]). Adleman se zabýval mechanismem šíření viru HIV a činností lidského imunitního systému a zaujala ho nápadná podobnost biologických procesů se základními procesy výpočetních systémů. Velké objevy v teoretické informatice jsou většinou uvozeny nějakou neočekávanou demonstrací, která přináší jiný pohled na věc. Přestože o přenesení výpočetních prostředků na úroveň atomů se debatuje již delší dobu, opravdový zájem o tuto oblast se zvedl až po Adlemanově prezentaci. 3.1 Adlemanův experiment Adelmanův experiment řeší problém nalezeni hamiltonovské cesty v grafu (HPP) pro daný orientovaný graf. Tento problém je definován takto: nechť G je orientovaný graf s označeným vstupním a výstupním uzlem v in a v out. Cesta z v in do v out se nazývá hamiltonovská právě tehdy, když obsahuje každý uzel grafu právě jednou. 4 3 1 0 6 2 5 Obrázek 3.1: Graf v Adlemanově experimentu Např. v grafu na obrázku 3.1 je vstupním vrcholem uzel 0 a výstupním vrcholem uzel 6. Hamiltonovská cesta se skládá z hran: (0,1), (1,2), (2,3), (3,4), (4,5), (5,6). Obecně je problém nalezení hamiltonovské cesty (HPP) formulován jako rozhodnutí, zda v daný graf hamiltonovskou cestu obsahuje či ne. Je zřejmé, že HPP může být vyřešen prohledáváním grafu a zkoušením všech možných cest. i když bylo vymyšleno mnoho algoritmů pro vyřešení HPP, žádný z nich není obecný, tj. žádný z nich není navržen pro obecný orientovaný graf. Lze dokázat, že HPP je NPproblém, tj. že pravděpodobně neexistuje jeho efektivní (v polynomiálním čase dosažitelné) řešení, a že všechna jeho obecná řešení vedou na masivní prohledávání stavových prostorů. 10

Ve svém experimentu Adleman vyřešil HPP zadaný obrázkem 3.1. Jeho řešení tohoto malého grafu lze samozřejmě vždy zobecnit na grafy mnohem větší. Klíčem k řešení HPP pomocí DNA je masivní paralelismus DNA výpočtů a komplementarita bází. Použil tento algoritmus: 1. Vstupem je orientovaný graf G s n vrcholy, kde je vyznačen vstupní vrchol v in a výstupní vrchol v out. 2. Vygenerujeme náhodně cesty v grafu G to ve velkém množství. 3. Odstraníme všechny cesty, které nezačínají v v in a nekončí v v out. 4. Odstraníme všechny cesty, které mají více než n vrcholů. 5. Odstraníme všechny cesty, které neobsahují nějaký uzel v grafu G. 6. Pokud nám něco zbude (řešení), odpověď na HPP zní ano, jinak ne. Masivní paralelizmus DNA vyřeší nedeterminismus NP-problémů, takže dostáváme kýžené řešení v polynomiálním čase. Komplementarita bází nám poskytne prostředek k zápisu zadání, tj. k popisu grafu, jeho uzlů a hran. Každému uzlu i grafu G je přiřazen oligonukleotid s i, 0 i 6 (kratší uměle sestavený řetězec DNA, kratší jednoduché vlákno) délky 20 nukleotidů. Oligonukleotidy mají náhodnou strukturu, musí se pouze lišit navzájem. Dále nechť funkce (splňuje vlastnosti morfizmu) h je zobrazuje každý řetězec DNA na jeho komplement podle komplementarity bází: Například h(a) = T, h(t) = A, h(c) = G, h(g) = C h(cattag) = GT AAT C Poznamenejme, že komplementarita bází a naše funkce h mění orientaci řetězců, tedy orientaci 3 5 mění na 5 3 a naopak. Rozdělme každý řetězec s i, 0 i 6 na dva řetězce délky 10: s i = s i s i. Pak hrana z uzlu i do uzlu j je zakódovaná jako e i j = h(s i s j ). Čili hrana bude zakódována jako oligonukleotid délky 20, jehož první polovina je komplementární k uzlu, kde hrana začíná, a druhá polovina bude komplementární k uzlu kde hrana končí. Orientace hran je zajištěna. Adleman ve svém experimentu smíchal velké množství oligonukleotidů e i j a s i v roztoku společně s ligázou a nechal ligázu vytvářet z těchto komponent různé různě dlouhé dvojitá šroubovice DNA. Oligonukleotidy hran, díky komplementaritě bází, propojují právě ty oligonukleotidy uzlů, které jsou propojeny i ve skutečném grafu, viz obrázek 3.2. Výsledkem takové činnosti je množství DNA molekul, které kódují různé náhodné průchody grafem. 1 3 4 1 2 3 4 5 2 1-3 3-4 4-1 1-2 2-3 3-4 4-5 5-2 0 3 2 1 0-3 3-2 2-1 1-3 0 6 0 3 4 5 6 0-6 0-3 3-4 4-5 5-6 Obrázek 3.2: Některé z řetězců v Adlemanově experimentu V Adlemanově pokusu počet takto vzniklých molekul daleko přesáhl (jednoduchého) grafu, pro který hledal hamiltonovskou cestu. V roztoku bylo použito 10 1 3. To znamená, že je tato metoda použitelná pro 11

mnohem větší grafy, a pokud by ani to nestačilo, není problém zakódovat uzly a hrany pomocí větších oligonukleotidů. Ostatní kroky algoritmu, jsou založeny na filtrování a čtení kódu DNA. Tyto techniky genetického inženýrství byly velmi zjednodušeně popsány v první kapitole. Z našeho pohledu nejsou důležité, nám stačí, když budeme vědět, že tyto postupy jsou možné. Výše uvedený algoritmus není nejefektivnější, existuje mnoho způsobů jak jej zdokonalit. Na závěr si ukážeme, jistý formalizmus, jak zapsat výsledky Adlemanova pokusu. Tato abstraktní formulace nám dovolí zapsat postupy genetického inženýrství jako programovací jazyk. Definujme si zkumavku jako multimnožinu konečných řetězců nad abecedou A, T, C, G. Konečnými řetězci budeme chápat jednoduchá vlákna DNA (pokud bychom uvažovali dvojité šroubovice DNA, vždy známe způsob jak je rozdělit na jednoduchá vlákna). Pro takovéto zkumavky dále definujeme následující operace. Operace merge (spojení) vytvoří pro zkumavky N 1 a N 2 multimnožinu N 1 N 2. Operace amplify (namnožení) pro danou zkumavku N získá její kopii. Operace detect (detekce) pro danou zkumavku N vrátí true pokud N obsahuje alespoň jednu molekulu DNA, jinak vrátí false. Operace separate (separace) pro danou zkumavku N a řetězec w vrátí dvě zkumavky +(N, w) a (N, w), kde +(N, w) obsahuje všechny řetězce ze zkumavky N, které obsahují podřetězec w, a (N, w) obsahuje všechny řetězce ze zkumavky N, které tento řetězec neobsahují. Kvůli Adlemanově pokusu, uvedeme ještě tyto variace operace separate. Length-separate pro danou zkumavku N a číslo n vrátí zkumavku (N, n) obsahující všechny řetězce s délkou menší nebo rovnu n. Operace position-separate pro danou zkumavku N a řetězec w vrátí B(N, w) případně E(N, w) všechny řetězce, které začínají případně končí řetězcem w. Teď, vybaveni patřičným formalismem, můžeme přesně pospat Adlemanův experiment. Předpokládejme že ve zkumavce N je výsledek prvního kroku. Abychom získali pouze jednoduchá vlákna DNA (podle naší definice) rozložíme vodíkové vazby mezi vlákny DNA např. zahřáním roztoku. Nyní v roztoku plavou jednoduchá vlákna složená s oligonukleotidů s i, 0 i 6 (délka s i je 20). 1. input(n) 2. N B(N, s 0 ) 3. N E(N, s 6 ) 4. N (N, 140) 5. for i = 1 to 5 do begin N +(N, s i ) end 6. detect(n) 3.2 SAT-problém Dalším slavným problémem, na kterém byly prezentovány schopnosti je splnitelnosti množiny výrokových formulí (satisfiability problem, SAT-problem). Formule výrokové logiky α je formule sestavená z proměnných x 1, x 2,... a logických spojek,, (negace, konjunkce, disjunkce). SAT-problém je obvykle definován jako rozhodnutí, zda je formule α splnitelná, tj. zda existuje takové ohodnocení proměnných v α, že hodnota α je pravda. SAT-problém je vzorový příklad NP-úplného problému. Pravděpodobně nemá řešení v polynomiálním čase. Jediný způsob jak jej vyřešit je masivní prohledávání stavového prostoru všech proměnných, které se vyskytují v α. Řešení SAT-problému pomocí DNA navrhl Richard Lipton v [4]. Podobným postupem jakým Adleman vygeneroval všechny možné průchody grafem, Lipton vygeneroval všechna možná ohodnocení proměnných x 1, x 2,.... Místa, která kódují hodnotu proměnné jsou pevně daná, např. proměnné x 1 je přiřazen první oligonukleotid ve vláknu DNA. Na každém i-tém místě se mohou vyskytnout pouze dva oligonukleotidy, přičemž jeden kóduje informaci x i = 0 a druhý informaci x i = 1. Všechny oligonukleotidy musí být navzájem různé. Pro další postup předpokládejme, že v roztoku jsou pouze jednoduchá vlákna. (Kdyby tomu tak nebylo, není problém dvojité šroubovice rozložit na jednoduchá vlákna). K tomu abychom vyřešili SAT-problém nám stačí operace separate, merge a detect. U operace separate trochu upravíme syntax. S(N, i, j) = +(N, f(x i = j)) a S (N, i, j) = +(N, f(x i = j)), kde f(x i = j) je nukleotid kódující podmínku x i = j. Dále předpokládáme, že α je konjuktní normální formě (kdyby tomu tak nebylo, známe způsob jak převést libovolnou logickou formuli na konjuktní normální formu). 12

Nechť tedy platí α = C 1 C 2... C m, kde každá klausule C i je disjunkce proměnných a jejich negací. Dále předpokládejme, že v klausuli α se vyskytuje k proměnných x 1, x 2,..., x k. Dále předpokládejme, že máme ve zkumavce N 0 jsou všechny k-bitové sekvence, získané způsoben popsaným výše. Algoritmus začíná s touto zkumavkou, prochází všemi klauzulemi C i formule α a postupně vyřazuje řetězce, které nevyhovují našemu SAT-problému. Řetězce, které zůstanou v poslední zkumavce, jsou hledané řešení. Předpokládejme, že zakódované bitové posloupnosti ve zkumavce N i, 0 i < m splňují subformuli α i = C 1 C 2... C i, a že C i+1 = y 1... y l, kde y i je jedna z proměnných x nebo její negace. Připomeňme, že na začátku máme zkumavku N 0 a prázdnou formuli γ 0. Operacemi separate a merge transformujeme N i a N i+1. Postupně budeme zkoumat klauzuli C i+1. Její první část je y 1. Podle toho zda y 1 = x n nebo y 1 = x n, 1 n k zkonstruujeme zkumavku S(N i, n, 1) nebo S(N i, n, 0). Tím jsme vyňali z N i řetězce které splňují y 1. Zbytek N i, zkumavku S (N, i, j) prověříme stejným způsobem pro proměnné y 2 až y l. Nakonec spojíme všechny dílčí zkumavky splňující C i+1 pro jednotlivé proměnné y operací merge (připomeňme, že merge je sjednocení multimnožin, merge dílčích zkumavek tady odpovídá disjunkci dílčích proměnných) do nové zkumavky N i+1. Ve chvíli, kde se nám podaří zkonstruovat zkumavku N m, operací detect si ověříme zda nám nějaká molekula zbyla. Pokud ano, SAT-problém má řešení a toto řešení představuje tato molekula. 3.3 Jiné vyřešené problémy V předcházejících kapitolách jsme se seznámili se způsobem zápisu informace pomocí DNA, který využívá pouze jednoduché vlákno. Existují ale i jiné způsoby uložení informace. Jsou to sticker-systémy, které rozlišují dva druhy vláken Paměťová vlákna a nálepková vlákna, zkráceně nálepky (sticker). Dříve jsme kódovali bitové posloupnosti tak, že každému místu paměti odpovídala v řetězci jiná sekvence nukleotidů pro 1 a jiná sekvence nukleotidů pro 0. Ve sticker-systémech sekvence nukleotidu v paměťových vláknech kódují pouze napěťová místa, oligonukleotidy (ony sekvence nukleotidů) zde tvoří v podstatě adresy bitů. Na paměťová vlákna se pomocí komplementarity bází navážou nálepky, které tato napěťová místa označí. Označené místo považujeme za bitovou 1 a neoznačené za 0. Paměťové řetězce s nálepkami jsou nazývaný paměťové komplexy. Nad takovými DNA vlákny se dají zavést stejné operace jako jsme si ukázali dříve: merge, separate. Stejně tak se dají zavést nové operace set(n, i) a clear(n, i), které nedělají nic jiného než přidávají či ubírají nálepky z paměťového místa i. S programovacím jazykem složeným z merge, separate (test), set a clear (zápis hodnot) se pracuje mnohem lépe než s postupným rozpracováváním oligonukleotidů jak to udělali pánové Adleman a Lipton. Bylo ukázáno, že sticker-systémy dokážou vyřešit problémy jako je rozluštění šifry DES, problém minimálního pokrytí (základ šifrovacího algoritmu Knapsack), šachové problémy, grafové úlohy spojené založené na barvení grafů. Řešení všech těchto úloh je založeno na stejném principu. Vygenerujeme si všechna možná řešení a (multi)množinu všech těchto řešení zůřujeme pomocí testů (separate, set, clear ) specifických pro tu kterou úlohu. Exponenciální složitost problémů se ztratí v exponenciální (připomeňme si, že operace amplify v n krocích vyprodukuje 2 n kopií původního vlákna) prostorové rozlehlosti prostředků, které máme k dispozici. 13

Kapitola 4 Závěr Před tím, než se pustíme do jakéhokoli hodnocení DNA výpočtů, musíme si uvědomit, že tato technologie je dosud v plenkách a že asi ještě dlouho neopustí zdi laboratoří. V tuto chvíli zatím ještě neexistuje žádný obecný DNA počítač, na kterém bychom mohli řešit libovolnou úlohu. Pro řešení každého problému si musíme zkonstruovat speciální postup. Objekty a vztahy mezi nimi v rámci problému modelujeme sekvencemi nukleotidů. S nimi pak provádíme určitou sadu operací, tak jak jsme si ukázali. Ve zkratce mají DNA technologie tyto nevýhody spotřebovávají sice polynomiální množství času, avšak exponenciální množství prostoru. Tj. třída úloh, které řeší DNA výpočty je PSPACE. Např. pro graf, který má 100 uzlů (v Adlemanově experimentu) potřebujeme více než 10 30 molekul. výpočty jsou mnohem pomalejší (prozatím) než na PC technologie je citlivá na výskyt chyb výpočty nejsou znovu použitelné DNA technologie má stále ještě spoustu problému pramenících z toho, že techniky genetického inženýrství nejsou na takové úrovni jakou bychom potřebovali. Stávající techniky jsou velmi citlivé na výskyt chyb. Výpočty DNA jsou pravděpodobnostního rázu, tj. výsledek nějakého výpočtu silně závisí na tom, zda se nám podaří podchytit nějakou chemické reakcí všechny molekuly nebo ne. Případně na to, zda budeme mít smůlu a v ve výsledku najdeme chybnou molekulu či ne. Ve zkratce mají DNA technologie tyto výhody: masivní paralelismus nízká spotřeba energie k provedení výpočtu (chemické reakce) miniaturizace (miliardy genů se vlezou do jediné lidské buňky) vyřešení jednoho NP-úplného problému znamená, že můžeme vyřešit všechny ostatní je to neorané pole, mnoho věcí se dá zlepšit, můžeme totéž říct o platformě PC? Zase na druhou stranu, moderní doba přináší stále nové objevy. Neobávám se, že by tato nadějná myšlenka mohla usnout tak jak se to stalo v případe Babbageova Analytického stroje. Výpočty na základě DNA byly teoreticky zpracovány a vzniklo mnoho teoretických modelů (Watson-Crickovy automaty, sticker systémy) DNA výpočtů. Další možný pokrok v této oblasti závisí pouze na pokrocích v biochemii. 14

Literatura [1] Paun, G., Rozenberg, G., Salomaa, A. DNA Computing, new computing paradigms. Springer Verlag, 1998. [2] WWW [3] Adleman, L. M. Molecular computation of solutions to combinatorial problems. Science, 266:1021-1024, November 11, 1994. [4] Lipton, R. J. Using DNA to solve NP-complete problems. Science, 268:542-545, April 1995. 15