Metoda spojování sousedů ( v lingvistice „metoda nejbližšího souseda“ [2] ) je bioinformatický a lingvistický algoritmus vyvinutý Naruyou Saitou a Masatoshi Nei v roce 1987 [3] . Jedná se o shlukovou metodu zdola nahoru pro generování fylogenetických stromů . Obvykle se používá pro stromy založené na DNA nebo proteinových sekvencích, v lingvistice - na datech z lexikostatistiky , méně často z fono- nebo morfostatistiky. K jeho realizaci je nutné vypočítat vzdálenosti mezi jednotlivými páry taxonů (například druhy nebo sekvence) [4] .
Algoritmus začíná zcela nevyřešeným stromem topologie hvězdy [5 ] .
-matice se vypočítá pomocí matice vzdáleností mezi taxony takto [5] :
|
|
|
kde je vzdálenost mezi taxony a .
Pro každý z připojených taxonů se pro výpočet vzdáleností k novému uzlu použije následující vzorec:
|
|
|
a:
Taxony a − pár připojených taxonů a − nový uzel. Větve a jejich délky a jsou nyní pevnou součástí stromu; v dalších krocích algoritmu se nezmění a nic neovlivní [5] .
Pro každý taxon, který se nezúčastnil předchozího kroku, se vypočítá vzdálenost k novému uzlu [5] :
|
|
|
kde je nový uzel, je uzel, ke kterému chceme vypočítat vzdálenost, a jsou taxony nově přidaného páru.
Metoda sousedského spojení pro taxony vyžaduje iteraci [5] . Při každé iteraci je nutné vypočítat -matici. V prvním kroku je velikost -matice , v dalším kroku atd. Implementace algoritmu bez optimalizace je složitá ; existují implementace, které používají heuristický přístup s průměrně kratší dobou provádění.
Předpokládejme, že máme pět taxonů s následující maticí vzdáleností:
A | b | C | d | E | |
---|---|---|---|---|---|
A | 0 | 5 | 9 | 9 | osm |
b | 5 | 0 | deset | deset | 9 |
C | 9 | deset | 0 | osm | 7 |
d | 9 | deset | osm | 0 | 3 |
E | osm | 9 | 7 | 3 | 0 |
Pomocí vzorce (1) vypočítáme -matici (diagonální prvky matice nejsou použity a jsou zde vynechány):
A | b | C | d | E | |
---|---|---|---|---|---|
A | −50 | −38 | −34 | −34 | |
b | −50 | −38 | −34 | −34 | |
C | −38 | −38 | −40 | −40 | |
d | −34 | −34 | −40 | −48 | |
E | −34 | −34 | −40 | −48 |
Nejmenší hodnota matice je , což znamená, že přidáme taxony a do nového uzlu . Vypočítejte vzdálenosti od a do podle vzorce (2) :
Pomocí vzorce (3) vypočítáme vzdálenosti od nového vrcholu ke zbývajícím vrcholům:
Nová matice párových vzdáleností tedy vypadá takto:
u | C | d | E | |
---|---|---|---|---|
u | 0 | 7 | 7 | 6 |
C | 7 | 0 | osm | 7 |
d | 7 | osm | 0 | 3 |
E | 6 | 7 | 3 | 0 |
Odpovídající matice je:
u | C | d | E | |
---|---|---|---|---|
u | −28 | −24 | −24 | |
C | −28 | −24 | −24 | |
d | −24 | −24 | −28 | |
E | −24 | −24 | −28 |
Nyní naše matice nabývá minimální hodnoty na dvou párech: , a , . Finální fylogenetický strom nezávisí na tom, jaký pár zvolíme. Pro jistotu vyberte a , připojte je k novému uzlu . Stejně jako v první iteraci vypočítáme vzdálenosti od a do . Jsou si rovni a . Vzdálenosti od nového vrcholu ke zbývajícím uzlům a jsou rovné:
Nyní matice párových vzdáleností vypadá takto:
proti | d | E | |
---|---|---|---|
proti | 0 | čtyři | 3 |
d | čtyři | 0 | 3 |
E | 3 | 3 | 0 |
Tím máme plně vyřešený strom. Pro úplnost však stojí za to udělat ještě jednu iteraci:
Párová matice vzdálenosti:
proti | d | E | |
---|---|---|---|
proti | −10 | −10 | |
d | −10 | −10 | |
E | −10 | −10 |
Vyberme pár a a vytvořte nový vrchol . Vzdálenosti k tomuto vrcholu od vrcholů , , jsou v tomto pořadí:
Matice sousedství:
w | proti | d | E | |
---|---|---|---|---|
w | 0 | 2 | 2 | jeden |
proti | 2 | 0 | čtyři | 3 |
d | 2 | čtyři | 0 | 3 |
E | jeden | 3 | 3 | 0 |
Tak jsme se naučili délky všech větví a dostali jsme kompletní fylogenetický strom znázorněný na obrázku . Výše uvedený příklad je ideální případ: všimněte si, že pokud přejdete z jednoho taxonu do druhého podél větví stromu a sečtete délky projetých větví, výsledek se bude rovnat vzdálenosti mezi taxony v původní matici vzdálenosti . Například přechodem z uzlu do uzlu dostaneme . Matice, ve které jsou vzdálenosti tímto způsobem přiřazeny ke stromu, je považována za aditivní , což je vlastnost, se kterou se v praxi setkáváme jen zřídka. Je však důležité poznamenat, že pokud je jako vstup pro metodu spojování sousedů uvedena aditivní matice vzdáleností, je zaručeno, že v důsledku této metody bude vytvořen strom, který je v souladu s touto maticí [3 ] .
Sousední spojování lze považovat za chamtivý algoritmus pro optimalizaci stromu v souladu s kritériem "vyvážené minimální evoluce" [6] (BME). Pro každou topologii BME definuje délku stromu (součet délek větví) jako vážený součet vzdáleností od matice vzdáleností, přičemž váhy závisejí na topologii stromu. Optimální topologie BME je ta, pro kterou je délka stromu minimální. Metoda sousedského spojování při každé iteraci spojuje pár taxonů, které budou mít nejmenší příspěvek k délce budovaného stromu. Tento postup nezaručuje nalezení stromu s topologií, která je optimální podle kritéria BME, nicméně často najde optimální nebo blízko optimální strom.
Hlavní výhodou metody je její rychlost, zejména díky tomu, že algoritmus běží v polynomiálním čase [5] . Díky tomu je vhodný pro analýzu velkých objemů dat (stovky nebo tisíce taxonů) [5] a pro bootstrap [7] , pro které je použití jiných analytických metod (např. maximální šetrnost , metoda maximální věrohodnosti ) obtížné. z hlediska počtu výpočtů [8] .
Metoda sousedského spojení má tu vlastnost, že vytváří správný strom jako výstup, pokud je jako vstup uvedena správná matice vzdálenosti. Správná topologie stromu je navíc zaručena, pokud je matice vzdálenosti „přibližně aditivní“, to znamená, pokud se každá hodnota v matici vzdálenosti liší od skutečné vzdálenosti o méně než polovinu délky nejkratší větve stromu. [9] .
V praxi matice vzdálenosti jen zřídka splňuje tuto podmínku, ale metoda sousedského spojení často stejně vytvoří strom se správnou topologií [10] . Sčítání sousedů funguje správně se zhruba aditivní maticí vzdálenosti, protože je statisticky konzistentní pro mnoho evolučních modelů; pokud je zadán vstup o vhodné délce, metoda s vysokou pravděpodobností rekonstruuje skutečný strom. Ve srovnání s UPGMA má metoda sousedského spojování tu výhodu, že nepředpokládá, že se všechny generace vyvíjejí stejnou rychlostí ( hypotéza molekulárních hodin ).
Místo metody sousedského spojování se však často používají jiné fylogenetické metody, které se nespoléhají na matici vzdálenosti a ve většině případů poskytují větší přesnost [8] .
Existuje mnoho programů, které implementují metodu spojování sousedů.
RapidNJ a NINJA jsou rychlé implementace, které obvykle běží zhruba jako druhá mocnina počtu taxonů [11] [12] .
BIONJ a Weighbor jsou varianty metody spojení, které zlepšují její přesnost využitím skutečnosti, že menší vzdálenosti v matici vzdáleností jsou obvykle lépe pochopitelné než ty větší [13] [14] .
FastME je implementace úzce související metody vyvážené minimální evoluce [15] .
Slovníky a encyklopedie |
---|