Monte Carlo, genetické algoritmy, neuronové sítě Monte Carlo a karty Historie Hra solitaire: jaká je pravděpodobnost výhry s dobře promíchanými kartami? Analytické počítání je složité, protože vítězství nebo prohra závisí na složité proceduře míchání karet. A co tak zahrát si pár kol a pozorovat, kolikrát jsme zvítězili? Obecně: můžeme aproximovat funkci pravděpodobnostní hustoty jejím vzorkováním.? Prohra Prohra Vítězství Prohra Pravděpodobnost výhry je 1 čtvrtina. John von Neumann a Stanislav Ulam potřebovali odpovědět na otázku: Kolik procent neutronů z neutronové spršky projde vodním kontejnerem o definované tloušťce?. Otázka lze přeformulovat: Kudy vede životní dráha neutronu?. Kudy vede životní dráha neutronu? Náhodný jev: v jednom ze sta případů je neutron po nárazu do molekuly vody pohlcen vodíkem. Ruleta se 100 jamkami, jedna jamka značená kulička zůstane stát ve značené jamce (odpovídá pohlcení neutronu smrti neutronu), kulička zůstane stát v jiné jamce (neutron po střetu s vodíkem pokračuje v dráze). Neutron pokračuje Jakou rychlost a směr má neutron? Lze simulovat další ruletou. Jaká je trajektorie neutronu před střetem s dalším vodíkem? Lze simulovat další ruletou. Životní dráha neutronu je simulována až po smrt neutronu nebo až po okamžik průchodu neutronu kontejnerem. 1
Metody Monte Carlo Odpovídají na otázku tak, že simulují problém modelem, který zdánlivě nemá nic společného s původní otázkou. Použití znáhodňovacího algoritmu v počítači místo utrácení peněz v Monte Carlu (Monako). Použití Monte Carlo metod Fyzika, ekonomika, demografie, matematika, bioinformatika,... Úlohy, které lze pravděpodobnostně popsat, ale explicitní algoritmus je příliš složitý. Opakovaný znáhodněný experiment. Není potřebné znát vnitřní souvislost mezi modelem a skutečností. Dostačuje znalost vnější souvislosti. Mnohokrát opakovaný náhodný pokus Odhady hledané veličiny θ se získávají statistickou cestou a mají pravděpodobnostní charakter. Odhady θ 1, θ 2, θ 3, θ 4,... θ n při n blížícím se nekonečnu konvergují k hledané hodnotě. Pro libovolně malé ε > 0 tedy platí: Výhoda Monte Carlo metod Obecná aplikovatelnost Nezávislost na počtu dimenzí systému. lim P( θ n θ ε ) = 1 n Nevýhoda Monte Carlo metod Nalézt účinnou simulaci (spojitost mezi pravděpodobnostními charakteristikami různých náhodných procesů) není triviální problém. Monte Carlo na počítači (Pseudo)znáhodňovač Algoritmus Kontrola přesnosti výsledků 2
Struktura proteinů Monte Carlo pohyby polypeptidových řetězců Změna konformace - rotace kolem náhodně vybrané vazby. Z řady náhodných pohybů jsou jen některé považovány za výhodné. N-ter C-ter Metropolis Monte Carlo Hornatá krajina a problém lokálního minima (maxima) Proveď náhodnou rotaci. Rotaci přijmi bezpodmínečně, pokud nová konformace vede k lepší (nižší) potenciální energii. Pokud rotace nevede k nižší potenciální energii, vypočti pravděpodobnost danou Boltzmannovým faktorem k B : P r r U exp( ) k T B U = U ( r ) U ( r) označuje změnu v potenciální energii asociovanou s pohybem r --> r. a generuj náhodné číslo Q mezi 0 a 1. Pokud Q>P, tak přijmi novou strukturu. Pokračuj, až konečná struktura splňuje cílový parametr. Snazší zdolání energetických hor: simulovaná hybridizace Snazší zdolání energetických hor: simulovaná hybridizace f(x) Lokální minimum Globální minimum Lokální minimum Lokální minimum Simulovaná hybridizace je variantou Metropolis Monte Carlo metody. Pro překonání lokálního minima s vidinou globálního minima musíme povolit energeticky nevýhodné kroky. Zvyšováním teploty (>1000K) se zvýší tepelný pohyb natolik, že se zvýší pravděpodobnost přijetí energeticky nevýhodných pohybů. Tím se dá ovlivnit pravděpodobnost úniku z lokálního minima. Cykly zahřívací a chladící, analogické fyzikálním systémům opakujeme, až se systém dostane do rovnováhy. V teoretické limitě se nekonečně pomalým ochlazováním v průběhu simulované hybridizace dostaneme do globálního minima. 3
Vyhlazení energetické funkce je alternativou simulované hybridizace Vazba léčiva k proteinu (docking) Původní hornatá krajina se dá vyhladit například metodou Diffusion Equation Method. 1) Aminokyselinovými kuličkami vyplníme prázdné místo 2) Kuličkami vedeme ligand...aby (aminokyselinové) pozice odpovídaly 3) Zkontrolujeme chemickou kompatibilitu 4
Cíle návrhu léčiva Nalézt chemickou sloučeninu, která geometricky a chemicky zapadá do proteinové kavity Otestovat na zvířatech a klinickými testy na lidech Prodat Tradiční metody návrhu léčiv Screening přírodních a syntetizovaných chemikálií trvá 7 až 12 let v roce 1997 350 MUSD/léčivo v roce 2001 500 MUSD/léčivo Experimentální strategie pro zkrácení/zlevnění návrhu léčiv Genetické algoritmy (GA) Metody s vysokou propustností Kombinatorní chemie Optimalizace využitím biologie Příklad genetického algoritmu Genetický algoritmus (GA) hledá globální optimum (energetické funkce) inspirován evolucí a genetikou. Skládá se z těchto kroků: 1) Stvoř populaci, vyber z ní rodiče k reprodukci. 2) Zvol evoluční charakteristiky (mutace a crossing-over). 3) Zploď následující generaci a zhodnoť její fitness (reprodukční zdatnost hodnota optimalizované funkce). 4) Původní GA využívaly úplnou náhradu populace každou generaci. Populace s 2N objekty (chromosomy) vytvoří N párů, které zplodí 2N potomků. Potomci tvoří novou generaci, která nahradila předchozí generaci. Výhodnější je však provést výběr subpopulace pro zplození další generace (selekce, přežití nejzdatnějších). 5) Opakuj kroky 2 až 4 do dosažení kýžené hodnoty. Reprodukce spáruj jedince (řetězce) v populaci, pro stvoření nových řetězců (potomstva). Například: vem první číslici prvního rodiče a ostatní číslice z druhého rodiče. [001001] + [111111] [011111] Pozn.: odpovídá spíše meióze, kdy číslice je chromozom. 5
...příklad genetického algoritmu Mutace spontánní změna řetězce (jedince), například [001001] [001101] Crossing-over kombinace řetězců (vlastností jedinců) vzájemnou výměnou jejich částí, například překřížení mezi druhou a třetí pozicí: [001001] & [111111] [001111], [111001] Genetický algoritmus na úrovni proteinu AA φ ϕ χ1 χ2 χ3 AA φ ϕ χ1 χ2 χ3 MET -80-20 60-60 120 MET -70-30 30-90 90 LEU -60 20 45 90 LEU -50 15-30 80 PHE -70-30 15 60 PHE -40-20 65 110 ALA -60 80 ALA -70 70 CROSSING OVER MET -80-20 60-60 120 MET -70-30 30-90 90 LEU -60 20 45 90 LEU -50 15-30 80 PHE -40-20 65 110 PHE -70-30 15 60 ALA -70 70 ALA -60 80 MUTACE MUTACJE, MALÁ, WARIACJE VELKÁ MET -80-20 40-60 120 MET -70-31 30-90 90 LEU -59 20 45 90 LEU -50 15-30 90 PHE -40-20 65 112 PHE -71-35 15 60 ALA -70 90 ALA -60 80 Umělé neuronové sítě Model neuronu Model neuronu Snaží se mimikovat adaptivní biologické učení. Každý uzel má hodnotu a každá šipka váhu. Hodnoty vstupních uzlů jsou nastaveny explicitně (každým pokusem). Hodnoty dalších uzlů jsou váženým součtem svých vstupních uzlů upravených korigující funkcí. Fáze učení: dodám vstupní data a výstupní data. Zpětným průchodem (od výstupu ke vstupu) se upravují parametry jednotlivých neuronů tak, aby model co nejlépe seděl. Fáze tvoření výsledků: dodám vstupní data, dostanu výstupní data. n 1 w 1 n 2 w 2 n 3 w 3 n 4 = f(n 1 w 1 +n 2 w 2 +n 3 w 3 ) n 4 6
Vrstvy Vstupní Skrytá Výstupní Sekvence velrybího myoglobinu VLSEGGEWQLVLHVWAKVEADV Experimentálně jsme zjistili, že tato sekvence tvoří α šroubovici. Neuronová síť by měla podobné sekvence zařadit mezi α-šroubovice. Přeformulujume dotaz: je centrální leucin v 13-ti členném okně GEWQLVLHVWAKV částí α-šroubovice, β-skládaného listu nebo smyčky (coil)? Informaci potřebujeme zakódovat. Jednosměrná síť Kódování pro neuronové sítě Nejjednodušší případ: vstupy a výstupy nabývají hodnot 0 a 1. Vstup: zakódujeme aminokyseliny pomocí 0 a 1 20 pozic pro 20 aminokyselin 1 pro alanin, 20 pro valin GEWQLVLHVWAKV: (G) 00000001000000000000 (E) 00000010000000000000 (W) 00000000000000000100 kódování pro neuronové sítě Výstup: šroubovice/list/smyčka: 100/010/001. Celkem 13*20=260 vstupních dat a 3 výstupní. Validace pomocí jack-knifing (leave-one-out cross-validation, efekt zavíracího nože): Data rozdělíme na učební sadu a testovací sadu. Příklad: PHD metoda Děkuji vám za pozornost! Profile Network from Heidelberg součástí PredictProtein Místo binárního kódu pro sekvence je využita informace z mnohočetného přiložení tak, že každé aminokyselině je přiřazena pravděpodobnost: původně 00010000000000000000 nyní 0,0; 0,0; 0,0; 0,2; 0,0; 0,0; 0,4; 0,0; 0,0; 0,0; 0,0; 0,0; 0,0; 0,0; 0,1; 0,2; 0,2; 0,0; 0,0; 0,0 na této pozici přiložení se vyskytuje Asp s pravděpodobností 0,2, Glu 0,4, Ser 0,2 a Thr 0,2. Tímto použitím sekvenčních profilů se zvýšila přesnost predikce sekundární struktury proteinu z 62% na 70%. 7