Multiple EM for Motif Elicitation ( MEME ) je stejnojmenný algoritmus a nástroj, který je implementací algoritmu pro hledání motivů v biologických sekvencích proteinů a DNA . Algoritmus je založen na opakované aplikaci metody maximální věrohodnosti . Motiv je krátká sekvence nukleotidů nebo aminokyselin , která je společná pro nějakou sadu sekvencí.
Hledání motivů je důležitým úkolem v biologii, protože přítomnost motivu v sekvenci může sloužit jako signál pro rozpoznání sekvence pro transkripční faktory nebo restrikční endonukleázy [1] .
Algoritmus MEME vyvinuli v roce 1994 Timothy Bailey a Charles Elkan [2] . Jde o rozšíření metody maximální věrohodnosti pro hledání motivů , kterou v roce 1990 publikovali Lawrence a Reilly [3] . Původní metoda umožňovala najít pouze jeden motiv v sadě sekvencí a tento motiv byl lokálně optimální, protože algoritmus silně závisí na volbě výchozích parametrů. Správnost jeho činnosti také silně závisela na hladině hluku v uvažovaných sekvencích. Metoda MEME umožnila tyto nedostatky obejít. V roce 1996 byl vytvořen webový server obsahující implementaci MEME, který v letech 2000 až 2006 využívalo asi 800 unikátních návštěvníků [4] . A v roce 2009 byl představen balík MEME Suite obsahující nejen implementaci MEME, ale i mnoho dalších souvisejících programů [5] . Celkem na tvorbě MEME Suite pracovali tito lidé: na projektu se podíleli i Timothy Bailey, William Stafford Nobel, Charles Elkan a Michael Gribskov. Od roku 2017 je MEME Suite podporován grantem NIH a webový server také dostává pomoc od společností Google a Amazon [6] .
Je nutné identifikovat jeden nebo více společných motivů v sadě chybně zarovnaných nukleotidových nebo aminokyselinových sekvencí, z nichž každá obsahuje jeden, více nebo žádný motiv. V tomto případě uvažujeme motivy bez mezer (mezer), které mají společnou biologickou funkci. Mohou to být například cíle jednoho proteinu vázajícího DNA. MEME využívá reprezentaci biologického motivu ve formě matice pozice-váha (PWM) [2] .
V žádné sadě sekvencí není možné detekovat společný motiv, proto, aby algoritmus správně fungoval, musí být sekvence pečlivě vybrány a připraveny: v této sadě je třeba očekávat společný motiv (například je známo, že sekvence se vážou k jedinému transkripčnímu faktoru ) a sekvence musí být tak krátké, aby pokud možno (ideálně < 1000 nukleotidů ) [4] .
Výstup MEME standardně neobsahuje více než tři motivy o délce od 6 do 50, které se nacházejí v dopředném i zpětném řetězci vstupních sekvencí [6] . Pokud je znám biologický význam hledaných objektů, pak lze odhadnout a nastavit počet a délku motivů, které se v této sadě sekvencí očekávají. Tím se zlepší kvalita predikce v případě, že motiv nevyhovuje výchozím parametrům [4] .
Vstup do EM algoritmu je:
Algoritmus vrací možný model nalezeného motivu [3] .
V každém kroku algoritmu je motiv určen maticí pozic a váhy (PWM) o velikosti , kde je velikost abecedy. Každá buňka PVM má váhu , která závisí na pravděpodobnosti, že se písmeno objeví ve sloupci , kde . Tyto hodnoty se přepočítávají během každé iterace algoritmu [3] .
Vzhledem k tomu, že zpočátku není známo, kde přesně v sekvencích se motiv nachází, jsou v každém kroku algoritmu vypočteny hodnoty matice , kde prvkem matice je pravděpodobnost, že motiv začíná v sekvenci od pozice [3 ] .
Algoritmus se tedy skládá z následující sekvence kroků:
Pro zlepšení výsledku EM algoritmu je nutné zvolit správnou sadu startovacích parametrů. Existuje několik způsobů, jak to provést:
Metoda subsekvence je založena na tom, že požadovaný motiv musí odpovídat nějaké subsekvenci délky v původních datech. Pro každou takovou subsekvenci jsou konstruovány PVM, od kterých začíná každé spuštění EM algoritmu. Největší hodnota věrohodnostní funkce ze všech běhů algoritmu bude globálním maximem a poskytne požadovaný motiv. Právě tento princip omezuje hledání motivů s mezerami [8] .
Podle dané podsekvence lze PSM konstruovat různými způsoby. Algoritmus MEME používá následující: četnost písmene odpovídající písmenu v podsekvenci je brána jako , algoritmus funguje nejlépe pro . A pravděpodobnosti pro všechna ostatní písmena jsou brány jako [8] .
Ukazuje se, že v okamžiku spuštění algoritmu pro podsekvenci odpovídající správnému motivu konverguje EM algoritmus tak rychle, že stačí jedna iterace. Pro úsporu času tedy stačí spustit vždy pouze jednu iteraci EM algoritmu, která je implementována v MEME algoritmu [8] .
Algoritmus MEME je založen na opakované aplikaci EM algoritmu pro hledání motivu v sekvencích. Vstup do MEME algoritmu je:
Algoritmus EM je upraven na následující:
Objevené motivy na výstupu programu jsou uvedeny ve formě LOGO .
Algoritmus hledání motivu délky MEME provádí kroky, kde neznámá konstanta (mezi 10 a 100) je celkový počet písmen dané abecedy ve vstupních sekvencích [9] . To znamená, že složitost algoritmu se ukazuje jako .
Na rozdíl od EM vám MEME umožňuje pracovat a efektivně vyhledávat motivy v sekvencích obsahujících více než jednu kopii motivu nebo neobsahující motiv. Ty jsou algoritmem považovány za šum [8] . Velkým plusem je také možnost vyhledávat více různých motivů v jedné sadě vstupních sekvencí [8] a hledat globální optimální motiv, přičemž EM se často zastaví u lokálně optimálního, který motivem vůbec být nemusí [10 ] . Existuje implementace algoritmu ve formě programu pro PC a webový server s pohodlným rozhraním se sadou doplňkových programů pro další práci s nalezeným motivem [9] .
Algoritmus MEME špatně rozpoznává motivy v dlouhých sekvencích, navíc velká délka sekvencí značně prodlužuje dobu běhu algoritmu [4] [9] . Algoritmus MEME také vytváří důležitý základní předpoklad o ekvipravděpodobnosti výskytu motivu v jakékoli části sekvence. Tento přístup není vhodný pro hledání motivu v sekvencích RNA , protože tvoří sekundární a terciární struktury, což činí výskyt motivu více či méně pravděpodobným v závislosti na struktuře [11] . Algoritmus neumožňuje najít motivy s mezerami, protože samotná formulace problému algoritmu neznamená jejich hledání.
Na základě tohoto algoritmu je implementován nástroj MEME Suite dostupný ve webové verzi i pro PC [6] , od roku 2017 je podporován a aktualizován.