nuget server logo nuget api documents
↑

API Docs / SMRUCC.genomics.Interops.Visualize.Phylip / NeighborJoining

NeighborJoining

Full name SMRUCC.genomics.Interops.Visualize.Phylip.Evolution.NeighborJoining.NeighborJoining Assembly SMRUCC.genomics.Interops.Visualize.Phylip Members 3

邻接法(Neighbor-Joining, Saitou & Nei 1987):允许不同支系演化速率不等, 从星状树出发逐步合并最近邻居,输出一棵无根树。

00 Remarks

每一步不再选择原始距离最小的对,而是选择使 Q 值最小的对:

Q(i,j) = (n-2) * d(i,j) - Σ_k d(i,k) - Σ_k d(j,k)

分支长度:

L(i,u) = 1/2 d(i,j) + 1/(2(n-2)) [ Σ_k d(i,k) - Σ_k d(j,k) ] L(j,u) = d(i,j) - L(i,u)

新节点到剩余节点的距离:

d(u,k) = ( d(i,k) + d(j,k) - d(i,j) ) / 2

当剩余 3 个分类单元时,三条分支长度由三方距离公式收尾。

01 Syntax

SMRUCC.genomics.Interops.Visualize.Phylip.Evolution.NeighborJoining.NeighborJoining

02 Methods

NameOverloadsSummary
Build 2 由字符矩阵(比对位点矩阵)先行估计距离,再构建 NJ 树。
CleanLength 1 清除浮点运算产生的极小数值(例如 1E-17),使得输出结果中不会出现无意义的“伪分支”。

03 Members

method Build overload 2 #

由距离矩阵构建 NJ 无根树(以三叉根节点表示)。

method Build #

由字符矩阵(比对位点矩阵)先行估计距离,再构建 NJ 树。

method CleanLength #
CleanLength(Double)

清除浮点运算产生的极小数值(例如 1E-17),使得输出结果中不会出现无意义的“伪分支”。