LCA(最低公共祖先)算法
LCA
01 Syntax
SMRUCC.genomics.Metagenomics.LCA
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| GetLCA | 2 | 计算多个taxid的最近公共祖先 |
| GetLCAByBinaryLifting | 1 | 使用倍增法计算LCA(适用于深度较大的树,效率更高) |
| GetDepth | 1 | 计算taxid在树中的深度(距离根节点的步数) |
| GetLCAForMetagenomics | 1 | 在宏基因组分类场景中常用的LCA方法:找到覆盖所有输入taxid的最小公共分类单元 |
| GetNode | 1 |
03 Members
GetLCA(
Int32, Int32, Int32)使用路径比较法计算两个taxid的最近公共祖先(LCA)
Parameters
| Name | Type | Description |
|---|---|---|
taxid1 | Int32 | 第一个taxonomy ID |
taxid2 | Int32 | 第二个taxonomy ID |
Returns
最近公共祖先的TaxonomyNode,如果找不到返回Nothing
GetLCA(
IEnumerable(Of Int32), Double, Int32)计算多个taxid的最近公共祖先
Parameters
| Name | Type | Description |
|---|---|---|
taxids | IEnumerable(Of Int32) | taxonomy ID集合 |
Returns
最近公共祖先的TaxonomyNode
GetLCAByBinaryLifting(
Int32, Int32)使用倍增法计算LCA(适用于深度较大的树,效率更高)
Parameters
| Name | Type | Description |
|---|---|---|
taxid1 | Int32 | 第一个taxonomy ID |
taxid2 | Int32 | 第二个taxonomy ID |
Returns
最近公共祖先的TaxonomyNode
GetDepth(
Int32)计算taxid在树中的深度(距离根节点的步数)
Parameters
| Name | Type | Description |
|---|---|---|
taxid | Int32 | taxonomy ID |
Returns
深度值
GetLCAForMetagenomics(
IEnumerable(Of Int32), Double, Int32)在宏基因组分类场景中常用的LCA方法:找到覆盖所有输入taxid的最小公共分类单元
Parameters
| Name | Type | Description |
|---|---|---|
taxids | IEnumerable(Of Int32) | k-mer匹配到的所有taxonomy ID集合 |
minSupport | Double | 最小支持度阈值(0-1之间) |
Returns
LCA结果及其支持度信息
GetNode(
Int32)