系统发育树拓扑重排算子(NNI / SPR),用于最大简约法与最大似然法的启发式树搜索。
TreeRearrangement
01 Syntax
SMRUCC.genomics.Interops.Visualize.Phylip.Evolution.TreeSearch.TreeRearrangement
02 Methods
03 Members
EnumerateNodes(PhyloNode)
以确定性的先序遍历返回树中的所有节点,索引即移动算子所使用的坐标。
Clone(PhyloNode)
深拷贝树拓扑(用于移动试算与状态回滚)。
判断 node 是否位于 possibleAncestor 的子树内部(含自身)。
NniMoves(PhyloNode)
枚举树中所有合法的 NNI 移动。
应用一个 NNI 移动。
枚举(或随机采样)合法的 SPR 移动。
Parameters
| Name | Type | Description |
|---|---|---|
root | PhyloNode | 树的根节点 |
maxCount | Int32 | 最多返回的移动数目 |
rand | Random | 可选的随机数发生器,用于采样;为空时按确定性顺序截取 |
应用一个 SPR 移动:剪除子树 V 并重接到边 (P -> C) 上。