Nabosammenføjningsmetode ( i lingvistik "nærmeste nabometode" [2] ) er en bioinformatik- og lingvistikalgoritme udviklet af Naruya Saitou og Masatoshi Nei i 1987 [3] . Det er en bottom-up klyngemetode til generering af fylogenetiske træer . Anvendes normalt til træer baseret på DNA- eller proteinsekvenser , i lingvistik - på data fra leksikostatistik , sjældnere fra fono- eller morfostatistik. For at implementere det er det nødvendigt at beregne afstandene mellem hvert par af taxaer (for eksempel arter eller sekvenser) [4] .
Algoritmen starter med et fuldstændigt uløst stjernetopologitræ [5 ] .
-matrix beregnes af matrixen af afstande mellem taxa som følger [5] :
|
|
|
hvor er afstanden mellem taxa og .
For hver af de vedhæftede taxaer bruges følgende formel til at beregne afstandene til den nye knude:
|
|
|
og:
Taxa og − et par vedhæftede taxaer og − en ny node. Grenene og og deres længder og er nu en fast del af træet; de vil ikke ændre sig og vil ikke påvirke noget i de næste trin af algoritmen [5] .
For hver taxon, der ikke deltog i det foregående trin, beregnes afstanden til den nye node [5] :
|
|
|
hvor er den nye knude, er den knude, som vi ønsker at beregne afstanden til, og er taxaen for det nyligt tilføjede par.
Nabosammenføjningsmetoden for taxa kræver iteration [5] . Ved hver iteration er det nødvendigt at beregne -matrixen. På det første trin er størrelsen af -matrixen , på det næste trin og så videre. Implementeringen af algoritmen uden optimering har kompleksitet ; der er implementeringer, der bruger en heuristisk tilgang med lavere eksekveringstider i gennemsnit.
Antag, at vi har fem taxa med følgende afstandsmatrix:
-en | b | c | d | e | |
---|---|---|---|---|---|
-en | 0 | 5 | 9 | 9 | otte |
b | 5 | 0 | ti | ti | 9 |
c | 9 | ti | 0 | otte | 7 |
d | 9 | ti | otte | 0 | 3 |
e | otte | 9 | 7 | 3 | 0 |
Ved hjælp af formel (1) beregner vi -matrixen (de diagonale elementer i matrixen bruges ikke og udelades her):
-en | b | c | d | e | |
---|---|---|---|---|---|
-en | −50 | -38 | −34 | −34 | |
b | −50 | -38 | −34 | −34 | |
c | -38 | -38 | −40 | −40 | |
d | −34 | −34 | −40 | −48 | |
e | −34 | −34 | −40 | −48 |
Den mindste værdi af matrixen er , hvilket betyder, at vi tilføjer taxa og til den nye node . Beregn afstandene fra og til ved formel (2) :
Ved hjælp af formel (3) beregner vi afstandene fra det nye toppunkt til de resterende toppunkter:
Den nye matrix af parvise afstande ser således ud:
u | c | d | e | |
---|---|---|---|---|
u | 0 | 7 | 7 | 6 |
c | 7 | 0 | otte | 7 |
d | 7 | otte | 0 | 3 |
e | 6 | 7 | 3 | 0 |
Den tilsvarende matrix er:
u | c | d | e | |
---|---|---|---|---|
u | −28 | −24 | −24 | |
c | −28 | −24 | −24 | |
d | −24 | −24 | −28 | |
e | −24 | −24 | −28 |
Nu tager vores matrix minimumværdien på to par: , og , . Det endelige fylogenetiske træ afhænger ikke af, hvilket par vi vælger. For at være sikker, vælg og , vedhæft dem til en ny node . Som i den første iteration beregner vi afstandene fra og til . De er ligeværdige og . Afstandene fra det nye toppunkt til de resterende knudepunkter og er lig med:
Nu ser matricen af parvise afstande sådan ud:
v | d | e | |
---|---|---|---|
v | 0 | fire | 3 |
d | fire | 0 | 3 |
e | 3 | 3 | 0 |
Dermed har vi et fuldt løst træ. For fuldstændighedens skyld er det dog værd at lave en gentagelse mere:
Parvis afstandsmatrix:
v | d | e | |
---|---|---|---|
v | −10 | −10 | |
d | −10 | −10 | |
e | −10 | −10 |
Lad os vælge et par og oprette et nyt toppunkt . Afstandene til dette toppunkt fra hjørnerne , , er henholdsvis:
Adjacency matrix:
w | v | d | e | |
---|---|---|---|---|
w | 0 | 2 | 2 | en |
v | 2 | 0 | fire | 3 |
d | 2 | fire | 0 | 3 |
e | en | 3 | 3 | 0 |
Således lærte vi længderne af alle grene og fik det komplette fylogenetiske træ vist på figuren . Ovenstående eksempel er et ideelt tilfælde: Bemærk, at hvis du bevæger dig fra en taxa til en anden langs grenene af træet og opsummerer længderne af de passerede grene, vil resultatet være lig med afstanden mellem taxaerne i den oprindelige afstandsmatrix . For eksempel ved at gå fra node til node , får vi . En matrix, hvor afstandene på denne måde matches til et træ, siges at være additiv , en egenskab, man sjældent støder på i praksis. Det er dog vigtigt at bemærke, at hvis en additiv afstandsmatrix er givet som input til metoden til at forbinde naboer, er det garanteret, at der som et resultat af metoden vil blive bygget et træ, der er i overensstemmelse med denne matrix [3 ] .
Nabosammenføjning kan betragtes som en grådig algoritme til at optimere et træ i overensstemmelse med kriteriet om "balanceret minimumsudvikling" [6] (BME). For hver topologi definerer BME trælængden (summen af grenlængder) som en vægtet sum af afstande fra afstandsmatrixen, med vægte afhængigt af trætopologien. Den optimale BME-topologi er den, hvor træets længde er minimal. Nabosammenføjningsmetoden ved hver iteration forbinder det par af taxaer, der vil give det mindste bidrag til længden af træet, der bygges. Denne procedure garanterer ikke at finde et træ med en topologi, der er optimal i henhold til BME-kriteriet, men den finder ofte et optimalt eller tæt på optimalt træ.
Den største fordel ved metoden er, at den er hurtig, især på grund af det faktum, at algoritmen kører i polynomiel tid [5] . Dette gør det velegnet til analyse af store datamængder (hundrede eller tusinder af taxa) [5] og til bootstrap [7] , hvor det er vanskeligt at bruge andre analysemetoder (f.eks. maximum sparsimony , maximum likelihood-metoden ). i forhold til antallet af beregninger [8] .
Neighbor join-metoden har den egenskab, at den producerer et korrekt træ som output, hvis den korrekte afstandsmatrix er givet som input. Desuden er træets korrekte topologi garanteret, hvis afstandsmatrixen er "tilnærmelsesvis additiv", det vil sige, hvis hver værdi i afstandsmatrixen afviger fra den faktiske afstand med mindre end halvdelen af længden af træets korteste gren [9] .
I praksis opfylder afstandsmatrixen sjældent denne betingelse, men nabosammenføjningsmetoden producerer alligevel ofte et træ med den korrekte topologi [10] . Naboaddition fungerer korrekt med en nogenlunde additiv afstandsmatrix, fordi den er statistisk konsistent for mange evolutionære modeller; givet et input af en passende længde, vil metoden højst sandsynligt rekonstruere et rigtigt træ. Sammenlignet med UPGMA har nabosammenføjningsmetoden den fordel, at den ikke antager, at alle generationer udvikler sig med samme hastighed ( molekylær urhypotese ).
Men i stedet for nabosammenføjningsmetoden bruges ofte andre fylogenetiske metoder, som ikke er afhængige af afstandsmatrixen og giver større nøjagtighed i de fleste tilfælde [8] .
Der er mange programmer, der implementerer metoden til at slutte sig til naboer.
RapidNJ og NINJA er hurtige implementeringer, der normalt kører nogenlunde som kvadratet af antallet af taxa [11] [12] .
BIONJ og Weighbor er varianter af sammenføjningsmetoden, der forbedrer dens nøjagtighed ved at udnytte det faktum, at mindre afstande i afstandsmatrixen normalt er bedre forstået end større [13] [14] .
FastME er en implementering af en nært beslægtet metode til afbalanceret minimal evolution [15] .
Ordbøger og encyklopædier |
---|