Metoda de îmbinare a vecinilor ( în lingvistică „metoda celui mai apropiat vecin” [2] ) este un algoritm de bioinformatică și lingvistică dezvoltat de Naruya Saitou și Masatoshi Nei în 1987 [3] . Este o metodă de grup de jos în sus pentru generarea arborilor filogenetici . Utilizat de obicei pentru arbori bazați pe secvențe de ADN sau proteine , în lingvistică - pe date din lexicostatistică , mai rar din fono- sau morfostatistică. Pentru a-l implementa, este necesar să se calculeze distanțele dintre fiecare pereche de taxoni(de exemplu specii sau secvențe) [4] .
Algoritmul începe cu un arbore de topologie în stea complet nerezolvat [5 ] .
-matricea se calculează prin matricea distanțelor dintre taxoni după cum urmează [5] :
|
|
|
unde este distanța dintre taxoni și .
Pentru fiecare dintre taxonii atașați, se utilizează următoarea formulă pentru a calcula distanța până la noul nod:
|
|
|
și:
Taxa și − o pereche de taxoni atașați și − un nou nod. Ramurile și lungimile lor și sunt acum o parte fixă a copacului; nu se vor modifica și nu vor afecta nimic în pașii următori ai algoritmului [5] .
Pentru fiecare taxon care nu a participat la pasul anterior, se calculează distanța până la noul nod [5] :
|
|
|
unde este noul nod, este nodul la care dorim să calculăm distanța și sunt taxonii perechii nou adăugate.
Metoda de îmbinare a vecinilor pentru taxoni necesită iterare [5] . La fiecare iterație, este necesar să se calculeze matricea -. La primul pas, dimensiunea matricei este , la pasul următor și așa mai departe. Implementarea algoritmului fără optimizare are complexitate ; există implementări care utilizează o abordare euristică cu timpi de execuție mai mici în medie.
Să presupunem că avem cinci taxoni cu următoarea matrice de distanțe:
A | b | c | d | e | |
---|---|---|---|---|---|
A | 0 | 5 | 9 | 9 | opt |
b | 5 | 0 | zece | zece | 9 |
c | 9 | zece | 0 | opt | 7 |
d | 9 | zece | opt | 0 | 3 |
e | opt | 9 | 7 | 3 | 0 |
Folosind formula (1) , calculăm -matricea (elementele diagonale ale matricei nu sunt folosite și sunt omise aici):
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 |
Cea mai mică valoare a matricei este , ceea ce înseamnă că adăugăm taxoni și noului nod . Calculați distanțele de la și până la cu formula (2) :
Folosind formula (3) , calculăm distanțele de la noul vârf la vârfurile rămase:
Astfel, noua matrice de distanțe pe perechi arată astfel:
u | c | d | e | |
---|---|---|---|---|
u | 0 | 7 | 7 | 6 |
c | 7 | 0 | opt | 7 |
d | 7 | opt | 0 | 3 |
e | 6 | 7 | 3 | 0 |
Matricea corespunzătoare este:
u | c | d | e | |
---|---|---|---|---|
u | −28 | −24 | −24 | |
c | −28 | −24 | −24 | |
d | −24 | −24 | −28 | |
e | −24 | −24 | −28 |
Acum matricea noastră ia valoarea minimă pe două perechi: , și , . Arborele filogenetic final nu depinde de perechea pe care o alegem. Pentru certitudine, alegeți și atașați-le la un nou nod . Ca și în prima iterație, calculăm distanțele de la și până la . Sunt egali si . Distanțele de la noul vârf la nodurile rămase și sunt egale cu:
Acum matricea distanțelor perechi arată astfel:
v | d | e | |
---|---|---|---|
v | 0 | patru | 3 |
d | patru | 0 | 3 |
e | 3 | 3 | 0 |
Astfel, avem un arbore complet rezolvat. Cu toate acestea, de dragul completității, merită să faceți încă o iterație:
Matricea distanței în perechi:
v | d | e | |
---|---|---|---|
v | −10 | −10 | |
d | −10 | −10 | |
e | −10 | −10 |
Să selectăm o pereche și să creăm un nou vârf . Distanțele până la acest vârf de la vârfuri , , sunt, respectiv:
Matricea adiacentei:
w | v | d | e | |
---|---|---|---|---|
w | 0 | 2 | 2 | unu |
v | 2 | 0 | patru | 3 |
d | 2 | patru | 0 | 3 |
e | unu | 3 | 3 | 0 |
Astfel, am învățat lungimile tuturor ramurilor și am obținut arborele filogenetic complet prezentat în figură . Exemplul de mai sus este un caz ideal: rețineți că dacă vă mutați de la un taxon la altul de-a lungul ramurilor copacului și însumați lungimile ramurilor trecute, rezultatul va fi egal cu distanța dintre taxoni din matricea distanțelor inițiale. . De exemplu, trecând de la nod la nod , obținem . Se spune că o matrice în care distanțele sunt potrivite în acest fel cu un arbore este aditivă , o proprietate rar întâlnită în practică. Cu toate acestea, este important de reținut că, dacă o matrice de distanță aditivă este dată ca intrare în metoda de unire a vecinilor, este garantat că, ca urmare a metodei, va fi construit un arbore care este în concordanță cu această matrice [3] ] .
Alăturarea vecinilor poate fi considerată un algoritm lacom pentru optimizarea unui arbore în conformitate cu criteriul „evoluției minime echilibrate” [6] (BME). Pentru fiecare topologie, BME definește lungimea arborelui (suma lungimii ramurilor) ca o sumă ponderată a distanțelor de la matricea distanțelor, cu ponderi în funcție de topologia arborelui. Topologia BME optimă este cea pentru care lungimea arborelui este minimă. Metoda de îmbinare a vecinilor la fiecare iterație unește perechea de taxoni care va oferi cea mai mică contribuție la lungimea arborelui construit. Această procedură nu garantează găsirea unui arbore cu o topologie optimă conform criteriului BME; cu toate acestea, deseori găsește un arbore optim sau aproape de optim.
Principalul avantaj al metodei este că este rapidă, în special, datorită faptului că algoritmul rulează în timp polinomial [5] . Acest lucru îl face potrivit pentru analiza unor volume mari de date (sute sau mii de taxoni) [5] și pentru bootstrap [7] , pentru care utilizarea altor metode de analiză (de exemplu, parcimonie maximă , metoda maximă probabilitate ) este dificilă în termenii numărului de calcule [8] .
Metoda de îmbinare a vecinilor are proprietatea de a produce un arbore corect ca ieșire dacă matricea de distanță corectă este dată ca intrare. În plus, topologia corectă a arborelui este garantată dacă matricea distanțelor este „aproximativ aditivă”, adică dacă fiecare valoare din matricea distanței diferă de distanța reală cu mai puțin de jumătate din lungimea celei mai scurte ramuri a arborelui. [9] .
În practică, matricea distanțelor rar îndeplinește această condiție, dar metoda de îmbinare a vecinilor produce oricum un arbore cu topologia corectă [10] . Adăugarea vecinilor funcționează corect cu o matrice de distanță aproximativ aditivă, deoarece este consistentă statistic pentru multe modele evolutive; având în vedere o intrare de o lungime adecvată, metoda este foarte probabil să reconstruiască un arbore real. Comparativ cu UPGMA , metoda de îmbinare a vecinilor are avantajul că nu presupune că toate generațiile evoluează în aceeași viteză ( ipoteza ceasului molecular ).
Cu toate acestea, în locul metodei de îmbinare a vecinilor, sunt adesea folosite alte metode filogenetice care nu se bazează pe matricea distanțelor și oferă o precizie mai mare în majoritatea cazurilor [8] .
Există multe programe care implementează metoda de alăturare a vecinilor.
RapidNJ și NINJA sunt implementări rapide care de obicei rulează aproximativ ca pătratul numărului de taxoni [11] [12] .
BIONJ și Weighbor sunt variante ale metodei de îmbinare care îi îmbunătățesc acuratețea prin exploatarea faptului că distanțele mai mici din matricea distanțelor sunt de obicei mai bine înțelese decât cele mai mari [13] [14] .
FastME este o implementare a unei metode strâns legate de evoluție minimă echilibrată [15] .
Dicționare și enciclopedii |
---|