Probalign je nástroj pro zarovnání sekvence, který vypočítá maximum očekávaná přesnost zarovnání pomocí rozdělení funkcí zadní pravděpodobnosti.[1] Pravděpodobnosti základních párů se odhadují pomocí odhadu podobného jako Boltzmannova distribuce. Funkce oddílu se vypočítá pomocí a dynamické programování přístup.
Algoritmus
Následující text popisuje algoritmus používaný probalignem k určení pravděpodobností párů bází.[2]
Skóre zarovnání
Ke skórování zarovnání dvou sekvencí jsou potřeba dvě věci:
- funkce podobnosti (např. PAM, BLOSUM,...)
- pokuta za afinní mezeru:
Skóre zarovnání a je definována jako:
Nyní je boltzmann vážené skóre zarovnání a:
Kde je měřítko.
Pravděpodobnost vyrovnání za předpokladu boltzmannova rozdělení je dána vztahem
Kde je funkce oddílu, tj. součet boltzmannových vah všech zarovnání.
Dynamické programování
Nechat označuje funkci oddílu předpon a . Jsou zvažovány tři různé případy:
- funkce rozdělení všech zarovnání dvou předpon, které končí shodou.
- funkce rozdělení všech zarovnání dvou předpon, které končí vložením .
- funkce rozdělení všech zarovnání dvou předpon, které končí odstraněním .
Pak máme:
Inicializace
Matice jsou inicializovány následovně:
Rekurze
Funkce rozdělení pro zarovnání dvou sekvencí a je dána , které lze rekurzivně vypočítat:
- analogicky
Pravděpodobnost základního páru
Nakonec pravděpodobnost, že pozice a tvoří základní pár je dán vztahem:
jsou příslušné hodnoty přepočítaných s převrácenými řetězci párů bází.
Viz také
Reference
externí odkazy