Ke hledávání vzorů se dá také přistoupit úplně jinak, než jsme to dělali doposud pomocí matic PWM a modelů HMM: Aniž bychom znali globální zarovnání sekvencí (jejich MSA), a tím pádem již vlastně umístění podobných podsekvencí, můžeme zkusit podobné podsekvence hledat náhodným výběrem. Algoritmus pro to zní na první pohled docela šíleně:
Kromě toho, že může znít dost nepravděpodobně, že se takto vůbec dá k nějakému výsledku dopočítat, je to také algoritmus pěkně neefektivní – po sestavení PWM musí každou vstupní sekvenci brute-force projet na všechna možná umístění k-merů, aby mohl pro každou vybrat ten (aktuálně) nejlepší. Nicméně funguje překvapivě dobře, jak si vzápětí ukážeme.
Vypůjčme si (možná až příliš) sugestivní příklad z knihy Compeau, Phillip; Pevzner, Pavel: Bioinformatics Algorithms – An Active Learning Approach. 2015. Naším úkolem bude najít implantovaný 4-mer (vypsán velkými písmeny) při následujícím počátečním nástřelu náhodných 4-merů (barevně):
ttACCTtaac gATGTctgtc ccgGCGTtag cactaACGAg cgtcagAGGT
Vidíme, že jednou jsme se do motivu „stefili“ přesně a dvakrát jsme o něj štrejchli.
Nyní napočítejme z těchto náhodně vybraných vstupních 4-merů odpovídající matici PPM:
ttACCTtaac gATGTctgtc ccgGCGTtag cactaACGAg cgtcagAGGT⇒
taac GTct ccgG acta AGGT⇒
1 | 2 | 3 | 4 | |
---|---|---|---|---|
A | 2 | 1 | 1 | 1 |
T | 1 | 1 | 1 | 2 |
G | 1 | 1 | 2 | 1 |
C | 1 | 2 | 1 | 1 |
1 | 2 | 3 | 4 | |
---|---|---|---|---|
A | 2/5 | 1/5 | 1/5 | 1/5 |
T | 1/5 | 1/5 | 1/5 | 2/5 |
G | 1/5 | 1/5 | 2/5 | 1/5 |
C | 1/5 | 2/5 | 1/5 | 1/5 |
PS: Když se podíváte na pravděpodobnosti v PPM, tak snadno uvidíte, že popisuje motiv ACGT
, který se s každým implantovaným shoduje ve třech místech ze čtyř.
Ohodnocení všech 4-merů v každé sekvenci uvedenou maticí PPM je následující:
ttACCTtaac 0.0016 |
ttACCTtaac 0.0016 |
ttACCTtaac 0.0128 |
ttACCTtaac 0.0064 |
ttACCTtaac 0.0016 |
ttACCTtaac 0.0016 |
ttACCTtaac 0.0016 |
gATGTctgtc 0.0016 |
gATGTctgtc 0.0128 |
gATGTctgtc 0.0016 |
gATGTctgtc 0.0032 |
gATGTctgtc 0.0032 |
gATGTctgtc 0.0064 |
gATGTctgtc 0.0016 |
ccgGCGTtag 0.0064 |
ccgGCGTtag 0.0032 |
ccgGCGTtag 0.0016 |
ccgGCGTtag 0.0128 |
ccgGCGTtag 0.0032 |
ccgGCGTtag 0.0016 |
ccgGCGTtag 0.0016 |
cactaACGAg 0.0032 |
cactaACGAg 0.0064 |
cactaACGAg 0.0016 |
cactaACGAg 0.0016 |
cactaACGAg 0.0032 |
cactaACGAg 0.0128 |
cactaACGAg 0.0016 |
cgtcagAGGT 0.0016 |
cgtcagAGGT 0.0016 |
cgtcagAGGT 0.0032 |
cgtcagAGGT 0.0032 |
cgtcagAGGT 0.0032 |
cgtcagAGGT 0.0032 |
cgtcagAGGT 0.0128 |
Zeleně jsou vyznačeny 4-mery s nejlepším ohodnocením v každé sekvenci. A když se na ně podíváte, tak jsou to přesně ty implantované, a to hned po prvním kroku „náhodného“ výběru!
Získané 4-mery je samozřejmě třeba porovnat proti předchozím, abychom věděli, jestli už algoritmus dosáhl optima. Zde si spočítejme pouze variaci Hammingovy vzdálenosti* pro skupinu 4-merů mezi sebou:
sekvence | motivy | ohodnocení | ||||
---|---|---|---|---|---|---|
Prvotní nástřel: |
ttACCTtaac gATGTctgtc ccgGCGTtag cactaACGAg cgtcagAGGT |
⇒ |
taac GTct ccgG acta AGGT |
⇒ | (5-2a)+(5-2c)+(5-2g)+(5-2t)=12 | |
Po prvním kroku: |
ttACCTtaac gATGTctgtc ccgGCGTtag cactaACGAg cgtcagAGGT |
⇒ |
ACCT ATGT GCGT ACGA AGGT |
⇒ | (5-4a)+(5-3c)+(5-4g)+(5-4t)=5 |
Získaná nová pětice 4-merů je tak zjevně výrazně lepší než byla předchozí náhodná.
V realitě nebude cesta k implantovaným motivům zdaleka tak přímočará a v naprosté většině pokusů skončíme v nějakém jiném, lokálním, optimu.
Důležité je, že algoritmus můžeme opakovat mnohokrát, takže šance na „strefení se“ do vhodných výchozích k-merů roste. A to jsem se zatím nezmínil o tom skoro nejdůležitějším – výpočetní náročnost algoritmu není příliš závislá na délce hledaných k-merů, takže se dá snadno použít i tam, kde jiné algoritmy jen pro trochu větší vstupy beznadějně selhávají.
Uvažme nejdříve, jak by vypadala PPM pro (libovolně dlouhý) k-mer v (libovolně dlouhé) sekvenci. Při předpokladu zcela náhodného rozložení jednotlivých bází (tedy sice nepříliš reálný, ale snadno představitelný předpoklad) by na každém jejím místě bylo číslo 0,25
.
A : 0.252 0.250 0.253 0.249 T : 0.250 0.251 0.250 0.249 C : 0.250 0.252 0.249 0.250 G : 0.249 0.248 0.248 0.252
No a s takovou PPM samozřejmě v sekvenci nic nového nenajdeme – všechno je stejně pravděpodobné. „Vtip“ je ovšem v tom, že pokud prohledávané sekvence nějaký motiv obsahují, není rozložení bází v nich už zcela náhodné! A pak stačí se jen párkrát o motiv „otřít“ a matice PPM už bude trochu „předpojatá“ na jeho hledání a třeba se jí to i povede.
Spočítejme si nyní PPM pro „nástřel“, který implantovaný motiv pokaždé aspoň trochu mine. Změňme kupříkladu poslední řádku předchozího příkladu posunutím o jednu bázi doleva:
ttACCTtaac gATGTctgtc ccgGCGTtag cactaACGAg cgtcagAGGT⇒
taac GTct ccgG acta gAGG⇒
1 | 2 | 3 | 4 | |
---|---|---|---|---|
A | 1 | 2 | 1 | 1 |
T | 1 | 1 | 1 | 1 |
G | 2 | 0 | 2 | 2 |
C | 1 | 2 | 1 | 1 |
1 | 2 | 3 | 4 | |
---|---|---|---|---|
A | 2 | 3 | 2 | 2 |
T | 2 | 2 | 2 | 2 |
G | 3 | 1 | 3 | 3 |
C | 2 | 3 | 2 | 2 |
1 | 2 | 3 | 4 | |
---|---|---|---|---|
A | 2/9 | 3/9 | 2/9 | 2/9 |
T | 2/9 | 2/9 | 2/9 | 2/9 |
G | 3/9 | 1/9 | 3/9 | 3/9 |
C | 2/9 | 3/9 | 2/9 | 2/9 |
Tato PPM tedy preferuje motiv G[A|C]GG
, který nemá s implantovanými společného prakticky vůbec nic, takže narozdíl od předchozího příkladu (s jedním plným „zásahem“) můžeme očekávat v dalším kroku výběr, který k cíli hned tak nepovede.
Ohodnocení všech 4-merů v každé sekvenci uvedenou maticí PPM je následující:
ttACCTtaac 0.0024 |
ttACCTtaac 0.0037 |
ttACCTtaac 0.0037 |
ttACCTtaac 0.0037 |
ttACCTtaac 0.0024 |
ttACCTtaac 0.0024 |
ttACCTtaac 0.0037 |
gATGTctgtc 0.0082 |
gATGTctgtc 0.0037 |
gATGTctgtc 0.0012 |
gATGTctgtc 0.0037 |
gATGTctgtc 0.0054 |
gATGTctgtc 0.0037 |
gATGTctgtc 0.0012 |
ccgGCGTtag 0.0082 |
ccgGCGTtag 0.0018 |
ccgGCGTtag 0.0027 |
ccgGCGTtag 0.0082 |
ccgGCGTtag 0.0012 |
ccgGCGTtag 0.0037 |
ccgGCGTtag 0.0037 |
cactaACGAg 0.0037 |
cactaACGAg 0.0037 |
cactaACGAg 0.0024 |
cactaACGAg 0.0037 |
cactaACGAg 0.0054 |
cactaACGAg 0.0055 |
cactaACGAg 0.0018 |
cgtcagAGGT 0.0012 |
cgtcagAGGT 0.0037 |
cgtcagAGGT 0.0054 |
cgtcagAGGT 0.0055 |
cgtcagAGGT 0.0018 |
cgtcagAGGT 0.0123 |
cgtcagAGGT 0.0018 |
Zeleně jsou opět vyznačeny 4-mery s nejlepším ohodnocením v každé sekvenci (v rámci přesnosti práce s reálnými čísly) a nepřekvapivě se ke kýženému výsledku vůbec nepřibližují (ale Hammingova vzdálenost je samozřejmě už nižší, a to 9). Další iterace by ještě posunula 4-mer ve čtvrté sekvenci o jednu bázi doleva (což dá H-vzdálenost 8), ale tím by běh algoritmu skončil, zjevně v nějakém lokálním optimu.
Aby tedy algoritmus měl vůbec šanci dokonvergovat do minima Hammingovy vzdálenosti pro implantovaný motiv, potřebujeme kupříkladu, aby náhodný výběr 4-merů ideálně alespoň jednou „trefil“ tento hledaný motiv (a aby výsledná PWM za daných podmínek už stačila na „přetažení“ do globálního optima). Jaká je ale pravděpodobnost, že se tak stane?
V našem případě je v sekvenci o délce 10 bazí uschován motiv o délce 4 báze. Jaká je pravděpodobnost, že se náhodným výběrem trefíte právě do něj? Možných umístění 4-meru je celkem 7..
0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789
..takže hledaná pravděpodobnost jest:
P(trefíme 4-mer v jedné sekvenci) =
Pokud takových sekvencí bude pět, pravděpodobnost, že právě v jedné z nich se do uvedeného 4-meru trefíme, zatímco ve zbývajících čtyřech nikoli, je pak:
P(trefíme 4-mer právě v jedné sekvenci z pěti) =
To nevypadá moc slavně – jeden pokus ze třinácti. Jenže my těch pokusů můžeme vykonat mnoho, protože nejsou výpočetně příliš náročné. A někdy se prostě trefit musíme (jsou to náhodné experimenty).
Jak si můžete ale snadno ověřit na následující počáteční pozici..
ttACCTtaac gATGTctgtc ccgGCGTtag cactaACGAg cgtcagAGGT
..ani dvě „trefy“ vás do globálního optima dovést nemusí („zamrznou“ na Hammingově vzdálenosti 6).
Na vině je zřejmě příliš agresivní přechod od jedné skupiny k-merů k další, který dokáže „nabourat“ i solidně „rozjetý“ směr pátrání. Uvedenému se snaží předejít podstatně méně agresivnější způsob hledání optima pomocí tzv. Gibbsova výběru.
Je jasné, že aby PWM ukazovala na ten správný motiv, musela by ho nejdříve v každé sekvenci trefit. A nebylo by pak už co hledat ^_~ Náhodným výběrem ho málokdy trefí aspoň jednou, natož pak víckrát, aby se projevila jeho převaha, takže zkonstruovaná PWM může ukazovat na jiný motiv než hledaný a přes několik iterací nás odvede sice do optima, ale jenom lokálního.
Ovšem jako náhodný experiment nás tento algoritmus – kromě výpočetních zdrojů a času – nestojí skoro nic, takže si můžeme dovolit ho několikrát (mnohokrát :-) zopakovat a to by bylo, abychom se aspoň někdy netrefili i do optima globálního. Což nám prozradí porovnání výstupních Hammingových vzdáleností z jednotlivých experimentů.