贝叶斯网络 —— DAG 结构
BayesianNetwork
01 Syntax
SMRUCC.genomics.Analysis.BNLearn.Core.BayesianNetwork
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| .ctor | 1 | 根据基因名列表创建空网络 |
| AddNode | 1 | 添加节点 |
| GetNodeIndex | 1 | 获取节点索引,不存在返回 -1 |
| AddEdge | 1 | 添加有向边 fromIdx → toIdx |
| RemoveEdge | 1 | 删除有向边 |
| HasEdge | 1 | 检查边是否存在 |
| AddWhitelistEdge | 1 | 添加白名单边 |
| AddBlacklistEdge | 1 | 添加黑名单边 |
| WouldCreateCycle | 1 | 检查添加边是否会形成环(DFS检测) |
| IsDAG | 1 | 验证当前网络是否为 DAG |
| TopologicalSort | 1 | 获取拓扑排序(Kahn算法) |
| GetEdges | 1 | 获取网络的边列表 |
| CloneStructure | 1 | 深拷贝网络结构(不拷贝CPD) |
| ToString | 1 | 输出网络摘要 |
| MakeBlackIndex | 1 |
03 Properties
04 Fields
| Name | Overloads | Summary |
|---|---|---|
| _topoOrder | 1 | 拓扑排序结果(缓存) |
| _topoDirty | 1 | 拓扑排序是否需要重新计算 |
05 Members
#ctor(
String())根据基因名列表创建空网络
AddNode(
String)添加节点
GetNodeIndex(
String)获取节点索引,不存在返回 -1
AddEdge(
Int32, Int32)添加有向边 fromIdx → toIdx
RemoveEdge(
Int32, Int32)删除有向边
HasEdge(
Int32, Int32)检查边是否存在
AddWhitelistEdge(
Int32, Int32)添加白名单边
AddBlacklistEdge(
Int32, Int32)添加黑名单边
WouldCreateCycle(
Int32, Int32)检查添加边是否会形成环(DFS检测)
IsDAG
验证当前网络是否为 DAG
TopologicalSort(
String)获取拓扑排序(Kahn算法)
GetEdges
获取网络的边列表
CloneStructure
深拷贝网络结构(不拷贝CPD)
ToString
输出网络摘要
Nodes
所有节点
NameToIndex
节点名 → 索引 的映射
Adjacency
邻接矩阵:adj(i,j)=True 表示 i→j 存在有向边
Whitelist
白名单边(必须存在的调控关系,来自TF注释)
Blacklist
黑名单边(禁止存在的边)
EdgeCount
获取边数
_topoOrder
拓扑排序结果(缓存)
_topoDirty
拓扑排序是否需要重新计算
MakeBlackIndex()