Tak zvané profile matrices (PM) jsou jednoduchým a velmi užitečným nástrojem pro práci s motivy v sekvencích. Jsou založené na číselném ohodnocení skutečného zastoupení jednotlivých bází na tom kterém místě motivu, často včetně jeho srovnání s modelem pozadí (background model), takže jejich použitelnost a výpovědní hodnota jsou značné.
Používají se v několika podobách a podle toho se také liší jméno a zkratka, pod jakými je můžete najít (a popravdě v tom panuje menší bordel), ale princip je ve všech případech stejný:
Matice profilu je tabulka o tolika sloupcích, kolik bází daný motiv obsahuje, a tolika řádcích, kolik bází se uvažuje*, přičemž v každé buňce je nějakým způsobem zaznamenán počet příslušných bází na příslušné pozici v zarovnaných výchozích sekvencích.
Jednotlivé typy matic se pak liší podle toho, co přesně čísla v nich představují – skutečné počty nalezených bází, jejich poměrné zastoupení, přepočet na vliv pozadí…
Vstupem pro určení matice profilu jsou nejtypičtěji sekvence zarovnané proti sobě (tedy výstup některého z algoritmů pro Multiple Sequence Alignment). Relevantní část(i) zarovnání – typicky místa nějakých transkripcí – jsou pak využity pro výpočet odpovídající matice.
Vypůjčme si následující data z knihy Essential Bioinformatics od Jina Xionga:
pozice vs sekvence |
1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
1 | A | T | G | T | C | G |
2 | A | A | G | A | C | T |
3 | T | A | C | T | C | A |
4 | C | G | G | A | G | G |
5 | A | A | C | C | T | G |
Prvním krokem k vytvoření matice profilu je prosté spočítání, kolik kterých bází se vyskytuje na příslušném místě budovaného profilu, tedy vytvoření tak zvané Position Frequency Matrix (PFM) pro počty bází. Z našich vstupních dat dostaneme:
1 | 2 | 3 | 4 | 5 | 6 | |
---|---|---|---|---|---|---|
A | 3 | 3 | 0 | 2 | 0 | 1 |
T | 1 | 1 | 0 | 2 | 1 | 1 |
G | 0 | 1 | 3 | 0 | 1 | 3 |
C | 1 | 0 | 2 | 1 | 3 | 0 |
Druhým krokem je převod předchozí matice z absolutních počtů bází na jejich relativní zastoupení, tedy vytvoření tak zvané Position Probability Matrix (PPM). To se provede vydělením příslušných čísel celkovým počtem bazí na tom kterém místě motivu (v našem případě tedy všude pětkou)*:
1 | 2 | 3 | 4 | 5 | 6 | |
---|---|---|---|---|---|---|
A | 0,6 | 0,6 | 0 | 0,4 | 0 | 0,2 |
T | 0,2 | 0,2 | 0 | 0,4 | 0,2 | 0,2 |
G | 0 | 0,2 | 0,6 | 0 | 0,2 | 0,6 |
C | 0,2 | 0 | 0,4 | 0,2 | 0,6 | 0 |
Ačkoli se to – z důvodů, které vzápětí uvidíme – běžně nedělá, můžeme uvedenou matici PPM už použít pro hledání vzorů v dalších sekvencích. Všimněte si totiž, že součet frekvencí v každém slupečku je (pochopitelně) 1, takže uvedená čísla můžeme použít pro určení pravděpodobnosti výskytu konkrétní báze na konkrétním místě v prohledávané sekvenci.
Hledání probíhá nepřekvapivě aplikací metody sliding window – v každé pozici spočítáme pravděpodobnost všech pěti pozic a navzájem je vynásobíme, čímž určíme pravděpodobnost daného motivu v daném místě, načež pravděpodobnosti pro různá umístění výpočetního „okénka“ navzájem porovnáme.
Například na sekvenci AAACTCGA
máme tři možná umístění sliding window, která dávají následující výsledky:
AAACTCGA
⇒ A | 0,6 | 0,6 | 0 | 0,4 | 0 | 0,2 |
---|---|---|---|---|---|---|
T | 0,2 | 0,2 | 0 | 0,4 | 0,2 | 0,2 |
G | 0 | 0,2 | 0,6 | 0 | 0,2 | 0,6 |
C | 0,2 | 0 | 0,4 | 0,2 | 0,6 | 0 |
AAACTCGA
⇒ A | 0,6 | 0,6 | 0 | 0,4 | 0 | 0,2 |
---|---|---|---|---|---|---|
T | 0,2 | 0,2 | 0 | 0,4 | 0,2 | 0,2 |
G | 0 | 0,2 | 0,6 | 0 | 0,2 | 0,6 |
C | 0,2 | 0 | 0,4 | 0,2 | 0,6 | 0 |
AAACTCGA
⇒ A | 0,6 | 0,6 | 0 | 0,4 | 0 | 0,2 |
---|---|---|---|---|---|---|
T | 0,2 | 0,2 | 0 | 0,4 | 0,2 | 0,2 |
G | 0 | 0,2 | 0,6 | 0 | 0,2 | 0,6 |
C | 0,2 | 0 | 0,4 | 0,2 | 0,6 | 0 |
A zároveň vidíme první velký problém matice PPM (respektive PFM) – nulová zastoupení některých bází.
Je třeba si uvědomit dvě věci:
Ať už je to tak nebo tak, výsledek je pro nás stejný – v PM-maticích na nás vystrkují růžky nuly, které nám výpočet kazí.
K vyřešení uvedeného problému bylo navrženo několik způsobů, z nichž nejjednodušší spočívá v přičtení jisté malé nenulové hodnoty ke všem počtům v originální PFM-tabulce, čímž ve výsledku vytvoříme z originálních počtů bází tzv. pseudocounts.
Typicky se přičítá ke každému místu jedna báze, čímž se efektivně zbavíme všech nul a přitom zachováme globální poměry jakž takž podobné, ale existují i sofistikovanější metody.
Při transformaci z PFM na PPM nyní budeme dělit číslem o čtyři vyšším – ke každé ze čtyř bazí jsme přidali jeden fiktivní výskyt.
Přičteme-li ke každé bázi jedničku, zvýšíme ve sloupečku celkový počet bází o čtyři. Místo pěti tedy budeme při převodu PFM na PPM dělit devítkou:
1 | 2 | 3 | 4 | 5 | 6 | |
---|---|---|---|---|---|---|
A | 3 | 3 | 0 | 2 | 0 | 1 |
T | 1 | 1 | 0 | 2 | 1 | 1 |
G | 0 | 1 | 3 | 0 | 1 | 3 |
C | 1 | 0 | 2 | 1 | 3 | 0 |
1 | 2 | 3 | 4 | 5 | 6 | |
---|---|---|---|---|---|---|
A | 4 | 4 | 1 | 3 | 1 | 2 |
T | 2 | 2 | 1 | 3 | 2 | 2 |
G | 1 | 2 | 4 | 1 | 2 | 4 |
C | 2 | 1 | 3 | 2 | 4 | 1 |
1 | 2 | 3 | 4 | 5 | 6 | |
---|---|---|---|---|---|---|
A | 0,44 | 0,44 | 0,11 | 0,33 | 0,11 | 0,22 |
T | 0,22 | 0,22 | 0,11 | 0,33 | 0,22 | 0,22 |
G | 0,11 | 0,22 | 0,44 | 0,11 | 0,22 | 0,44 |
C | 0,22 | 0,11 | 0,33 | 0,22 | 0,44 | 0,11 |
Pro naši sekvenci AAACTCGA
se třemi možnými umístěními sliding window po započítání pseudocounts dostaneme:
AAACTCGA
⇒ A | 0,44 | 0,44 | 0,11 | 0,33 | 0,11 | 0,22 |
---|---|---|---|---|---|---|
T | 0,22 | 0,22 | 0,11 | 0,33 | 0,22 | 0,22 |
G | 0,11 | 0,22 | 0,44 | 0,11 | 0,22 | 0,44 |
C | 0,22 | 0,11 | 0,33 | 0,22 | 0,44 | 0,11 |
AAACTCGA
⇒ A | 0,44 | 0,44 | 0,11 | 0,33 | 0,11 | 0,22 |
---|---|---|---|---|---|---|
T | 0,22 | 0,22 | 0,11 | 0,33 | 0,22 | 0,22 |
G | 0,11 | 0,22 | 0,44 | 0,11 | 0,22 | 0,44 |
C | 0,22 | 0,11 | 0,33 | 0,22 | 0,44 | 0,11 |
AAACTCGA
⇒ A | 0,44 | 0,44 | 0,11 | 0,33 | 0,11 | 0,22 |
---|---|---|---|---|---|---|
T | 0,22 | 0,22 | 0,11 | 0,33 | 0,22 | 0,22 |
G | 0,11 | 0,22 | 0,44 | 0,11 | 0,22 | 0,44 |
C | 0,22 | 0,11 | 0,33 | 0,22 | 0,44 | 0,11 |
Zjevně ze tří možných umístění hledaného motivu je ta začínající na druhé pozici prohledávané sekvence zdaleka nejpravděpodobnější. Ovšem o její skutečné pravděpodobnosti jako hledaného motivu to pořád moc neříká, protože nám chybí srovnání s náhodnou sekvencí bází (tedy modelem pozadí).
Matice PPM nám umožňuje říci, jak moc je v porovnání s ostatními prohledávanými pozicemi na sekvenci ta která pravděpodobnější jako hledaný motiv než jiné. Ale neříká vůbec nic o tom, jestli je tato podsekvence také skutečným kandidátem na hledaný motiv.
Uvedenou informaci nám dá až srovnání s modelem pozadí (tzv. nulovým modelem), který uvádí, jak pravděpodobný je výskyt příslušně dlouhé podsekvence se zcela náhodným výběrem bází. Jenže:
Určení modelu pozadí je netriviální záležitost!
Například naivní přístup pro DNA by mohl prohlásit za pravděpodobnosti výskytu jednotlivých čtyř bází číslo 0,25, takže náš hledaný motiv o délce šesti bází by byl náhodně složen s pravděpodobností
Jako kdekoliv jinde při práci s pravděpodobnostmi se zjevně vyplatí nahradit jejich násobení sčítáním odpovídajících logaritmů. Výsledná pravděpodobnost (při hledání motivu samozřejmě s aplikací sliding window) se pak spočítá jako součet pravděpodobností pro jednotlivé báze motivu.
V případě matic profilů se nejčastěji používají již matice přepočítané na pravděpodobnosti pozadí, v kterémžto případě se jim říká PSSM (Position-specific Scoring Matrix) nebo též PWM (Position Weight Matrix) (a občas též i PSWM aneb Position-specific Weight Matrix).
Při nulovém modelu s pravděpodobnostmi bází nukleotidů
Vzhledem k tomu, že pravděpodobnosti větší než pravděpodobnosti pozadí generují čísla větší než jedna a tudíž i kladné logaritmy a pravděpodobnosti menší zase čísla mezi 0 a 1 a tudíž záporné logaritmy, je význam ohodnocení každého místa hledaného motivu jasný:
Pro celou matici bohužel už nic tak jednoduchého neplatí*: Matice zcela náhodné sekvence je nulová, matice sekvence pravděpodobné obsahuje spíše kladné prvky a matice sekvence nepravděpodobné prozměnu záporné. V reálné matici tak budou nepravděpodobná místa vzoru „táhnout“ jinak kladný součet logaritmů svojí záporností zpátky k nule, ale asi je celkem vidět, že když se jim to „podaří“, tak zkoumaný úsek sekvence nejspíše hledaným vzorem nebude.
Prakticky se nejnižší hodnota pravděpodobnosti, pro kterou už danou podsekvenci považujeme za vhodného kandidáta na hledaný vzor, stanovuje empiricky. A můžete-li danému programu „nakouknout pod pokličku“, tak pochopitelně dobrým indikátorem jsou kladné hodnoty pravděpodobností
Pro naše vstupní data dostaneme při (naivním) modelu
1 | 2 | 3 | 4 | 5 | 6 | |
---|---|---|---|---|---|---|
A | 0,44 | 0,44 | 0,11 | 0,33 | 0,11 | 0,22 |
T | 0,22 | 0,22 | 0,11 | 0,33 | 0,22 | 0,22 |
G | 0,11 | 0,22 | 0,44 | 0,11 | 0,22 | 0,44 |
C | 0,22 | 0,11 | 0,33 | 0,22 | 0,44 | 0,11 |
1 | 2 | 3 | 4 | 5 | 6 | |
---|---|---|---|---|---|---|
A | 0,57 | 0,57 | -0,82 | 0,28 | -0,82 | -0,13 |
T | -0,13 | -0,13 | -0,82 | 0,28 | -0,13 | -0,13 |
G | -0,82 | -0,13 | 0,57 | -0,82 | -0,13 | 0,57 |
C | -0,13 | -0,82 | 0,28 | -0,13 | 0,57 | -0,82 |
Pro naši sekvenci AAACTCGA
se třemi možnými umístěními sliding window po započítání pseudocounts následně dostaneme:
AAACTCGA
⇒ A | 0,57 | 0,57 | -0,82 | 0,28 | -0,82 | -0,13 |
---|---|---|---|---|---|---|
T | -0,13 | -0,13 | -0,82 | 0,28 | -0,13 | -0,13 |
G | -0,82 | -0,13 | 0,57 | -0,82 | -0,13 | 0,57 |
C | -0,13 | -0,82 | 0,28 | -0,13 | 0,57 | -0,82 |
AAACTCGA
⇒ A | 0,57 | 0,57 | -0,82 | 0,28 | -0,82 | -0,13 |
---|---|---|---|---|---|---|
T | -0,13 | -0,13 | -0,82 | 0,28 | -0,13 | -0,13 |
G | -0,82 | -0,13 | 0,57 | -0,82 | -0,13 | 0,57 |
C | -0,13 | -0,82 | 0,28 | -0,13 | 0,57 | -0,82 |
AAACTCGA
⇒ A | 0,57 | 0,57 | -0,82 | 0,28 | -0,82 | -0,13 |
---|---|---|---|---|---|---|
T | -0,13 | -0,13 | -0,82 | 0,28 | -0,13 | -0,13 |
G | -0,82 | -0,13 | 0,57 | -0,82 | -0,13 | 0,57 |
C | -0,13 | -0,82 | 0,28 | -0,13 | 0,57 | -0,82 |
Narozdíl od příkladu 2b už nyní nevidíme pouze poměry jednotlivých pravděpodobností, ale i jejich skutečný vztah k hledanému motivu – podsekvence od druhé pozice je tak nejen pravděpodobnější než ostatní, ale vzhledem ke své celkové kladnosti a především(!) ke kladnosti svých dílčích členů je to i dobrý kandidát na hledaný motiv.
Při reálném hledání dostaneme zřejmě spoustu zásahů s kladnými hodnotami – tím více, čím kratší motivy v čím větší databázi hledáme. Umění bioinformatika pak spočívá v určení vhodného číselného prahu (threshold), aby z těchto kladných výsledků zůstaly pokud možno pouze ty, které skutečně odpovídají hledaným motivům a nejsou pouze jejich vzdálenou napodobeninou, a přitom jsme ztratili co nejméně těch, které jsou skutečně homologní:
PS: Jako praktická pomůcka se dá pro začátek zkoumání použít práh na úrovni 60 % maximálního kladného skóre pro daný motiv (viz Harbison et al.), ale to je opravdu jenom pomocná startovní strategie.
V praxi přitom proti sobě soupeří dvě „síly“:
Zjevně přitom platí (srovnejte s grafem na předchozím slajdu) poněkud nepříjemná úměra:
Čím lepší selektivita (tedy pravděpodobnost, že nalezený vzor odpovídá skutečné homologní sekvenci), tím horší senzitivita (nezachytíme všechny skutečné homologní sekvence) a naopak.
Prahování v praxi je tudíž balancováním na ostří nože – čím více najdeme „zásahů“, tím více mezi nimi bude „odpadu“ (false positives), a naopak čím méně jich budeme mít (a budeme si jistější, že jsou to „zásahy“), tím více nám jich proklouzne mezi prsty (false negatives).
Vzhledem k tomu, že ohodnocení zásahu závisí na velikosti použité matice, nedají se různé vzory mezi sebou vůbec porovnávat (i když i na to existují metody). V praxi se používají především následující dvě – navzájem se doplňující – statistické skórovací hodnoty:
Velmi důležitá je také tzv.
Prakticky se ověřilo, že pokud zkusíte prohledat stejnou sekvenci pomocí několika různě sestavených matic nebo ještě lépe pomocí různých postupů (tedy nejenom pomocí PWM), tak místa, která označí za kandidáty většina jednotlivých hledání, jsou skutečně dobrými (a vhodnými k bližšímu prozkoumání).
Při přípravě (všech typů) PWM-matic je třeba dávat pozor i na další dosti častý problém:
Sekvence použité pro přípravu PWM-matice (tedy původně pro zarovnání) jsou typicky složeny z několika příbuzných „rodin“, přičemž počet sekvencí v jednotlivých „rodinách“ bývá často dosti nesouměřitelný.
V důsledku se pak jisté kombinace bází – ty z početněji zastoupených „rodin“ – tváří jako významnější než by měly být. To se řeší pomocí tzv. sequences weighting algorithms, tedy algoritmů, které se snaží přepočítat všechny počty na nějakou souměřitelnou hodnotu, aby výsledné pravděpodobnosti (snad) více odrážely reálná zastoupení bází „v reálném světě“ spíše než v dostupných datech.
Matice profilů z principu neumí zahrnout delece a inzerce a mají tudíž použití především u relativně krátkých motivů, jejichž délka je konstantní (a variabilita bází velká). Změnu délky hledaného motivu umožňují například jejich zobecnění v podobě tzv. generalized profiles.
Druhým velkým omezením, které nás ale zatím příliš netrápilo, je absolutní nezávislost každé konkrétní báze na bázích ostatních. Ačkoli v reálu dost často nastávají situace, kdy báze na nějaké pozici je ovlivněna přítomností konkrétních bází na pozicích jiných, PSSM to zachytit nedokáží. Pro uvedené se musíme uchýlit například ke skrytým Markovovským modelům vyššího řádu.