WGCNA 共表达网络与 BNLearn 动态贝叶斯网络(DBN)之间的桥接模块。
本模块将 NetworkGraph 形式的 WGCNA 无向共表达网络,按照 转录因子(TF)注释结果定向为有向调控先验,导入 BNLearn 的 高斯贝叶斯网络工作流(BNLearnWorkflow)与动态贝叶斯网络 (DynamicBayesianNetwork),并支持基于时间序列表达矩阵 进行参数学习与基因表达虚拟敲降的级联模拟计算。
WGCNA 共表达网络与 BNLearn 动态贝叶斯网络(DBN)之间的桥接模块。
本模块将 NetworkGraph 形式的 WGCNA 无向共表达网络,按照 转录因子(TF)注释结果定向为有向调控先验,导入 BNLearn 的 高斯贝叶斯网络工作流(BNLearnWorkflow)与动态贝叶斯网络 (DynamicBayesianNetwork),并支持基于时间序列表达矩阵 进行参数学习与基因表达虚拟敲降的级联模拟计算。
01 Syntax
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| InferEffector | 1 | 根据相关系数符号推断调控类型:正相关为激活因子,负相关为抑制因子。 |
| BuildPriorNetwork | 1 | 根据 WGCNA 共表达网络与 TF 注释结果,构建 BNLearn 工作流的拓扑先验网络。 调控方向严格依据 TF 注释确定:仅当一条边的其中一端是 TF、另一端不是 TF 时,才生成单向调控边(TF → 非 TF);权重符号决定激活 / 抑制,权重绝对值 作为先验置信度。两端同为 TF 或同为非 TF 的边无法由共表达确定方向,将被 跳过并在日… |
| BuildPriorNetwork | 1 | 根据 WGCNA 共表达网络与 TF 注释结果,构建 BNLearn 工作流的拓扑先验网络。 调控方向严格依据 TF 注释确定:仅当一条边的其中一端是 TF、另一端不是 TF 时,才生成单向调控边(TF → 非 TF);权重符号决定激活 / 抑制,权重绝对值 作为先验置信度。两端同为 TF 或同为非 TF 的边无法由共表达确定方向,将被 跳过并在日… |
| ToRegulatoryLink | 1 | 将一条有向调控关系转换为 DBN 的 RegulatoryLink 拓扑链路。 |
| BuildRegulatoryLinks | 1 | 根据 WGCNA 共表达网络与 TF 注释结果,构建 DBN 拓扑链路集合 (RegulatoryLink)。方向与 GeneRegulatoryNetwork.BuildPriorNetwork()) 一致。 |
| BuildBNNetwork | 1 | 主入口:将 WGCNA 共表达网络按 TF 注释定向为拓扑先验,并装配到 BNLearn 工作流中返回。调用方随后可设置工作流的 BNLearnWorkflow.ExpressionData 并执行结构学习与参数学习。 |
| BuildDBN | 1 | 构建并拟合参数的动态贝叶斯网络:将 WGCNA 共表达网络按 TF 注释定向为 DBN 拓扑,并基于时间序列表达矩阵学习条件概率表(CPT)。 |
| BuildDBN | 1 | 构建并拟合参数的动态贝叶斯网络:将 WGCNA 共表达网络按 TF 注释定向为 DBN 拓扑,并基于时间序列表达矩阵学习条件概率表(CPT)。 |
| VirtualKnockdown | 1 | 在已构建并拟合参数的动态贝叶斯网络上,对指定基因执行虚拟敲降模拟。 模拟逻辑:将目标基因节点状态强制固定为 ""Low""(敲降状态),并基于 已学习的条件概率表多步推演下游基因状态的级联变化。返回每个基因随时间的 离散状态数值化轨迹(Low=0, Medium=1, High=2)。 |
| RunPipeline | 1 | 端到端封装:WGCNA 共表达网络 + 时间序列表达矩阵 → 动态贝叶斯网络建模 → 指定基因的虚拟敲降级联模拟。 |
| BuildExpressionGRN | 1 | 将 SingleGRN 流程产出的 DBN 时间序列(已是 GeneExpressionData)装配为 BNLearn 工作流,并可选地融合由伪速率趋势构造的方向先验(PriorNetwork)。 与 GeneRegulatoryNetwork.BuildBNNetwork())(基于 WGCNA 共表达网络)不同,本函数直接消费已经完成 伪时间分… |
| TrainAndIntervene | 1 | 端到端封装:基于 DBN 时间序列构建基因表达调控网络 → 结构学习 → 参数学习 → 虚拟扰动分析(敲除 / 过表达 / 动态级联敲除 / 批量敲除),并可选导出结果。 虚拟扰动逻辑严格复用 BNLearnWorkflow 的高层 API (KnockoutGene / OverexpressGene / DynamicKnockout / Bat… |
| TrainModularDBNIntervene | 1 | 基于 WGCNA 共表达模块划分,逐模块训练 DynamicBayesianNetwork 子网络,并基于模块间 相关度构建子网络关联,对任意显式指定的扰动基因(knockGenes)做全局级联虚拟扰动推断。 与 GeneRegulatoryNetwork.TrainAndIntervene()) 的区别: - 本函数使用"真正动态"的 Dyna… |
03 Fields
| Name | Overloads | Summary |
|---|---|---|
| EVIDENCE | 1 | 先验知识的证据来源标记。 |
04 Members
Double)根据相关系数符号推断调控类型:正相关为激活因子,负相关为抑制因子。
| Name | Type | Description |
|---|---|---|
weight | Double | WGCNA 网络边的相关系数(通常为 Pearson / Spearman 相关系数)。 |
激活或抑制 effector 类型。
NetworkGraph, HashSet(Of String))根据 WGCNA 共表达网络与 TF 注释结果,构建 BNLearn 工作流的拓扑先验网络。
调控方向严格依据 TF 注释确定:仅当一条边的其中一端是 TF、另一端不是 TF 时,才生成单向调控边(TF → 非 TF);权重符号决定激活 / 抑制,权重绝对值 作为先验置信度。两端同为 TF 或同为非 TF 的边无法由共表达确定方向,将被 跳过并在日志中给出统计信息。
| Name | Type | Description |
|---|---|---|
wgcna | NetworkGraph | WGCNA "CorrelationNetwork.ExportGraph" 生成的共表达网络。 |
TF | HashSet(Of String) | 转录因子(上游调控因子)基因名称注释集合。 |
定向后的 BNLearn 先验调控网络。
IEnumerable(Of ``0), HashSet(Of String))根据 WGCNA 共表达网络与 TF 注释结果,构建 BNLearn 工作流的拓扑先验网络。
调控方向严格依据 TF 注释确定:仅当一条边的其中一端是 TF、另一端不是 TF 时,才生成单向调控边(TF → 非 TF);权重符号决定激活 / 抑制,权重绝对值 作为先验置信度。两端同为 TF 或同为非 TF 的边无法由共表达确定方向,将被 跳过并在日志中给出统计信息。
| Name | Type | Description |
|---|---|---|
wgcna | IEnumerable(Of ``0) | WGCNA "CorrelationNetwork.ExportGraph" 生成的共表达网络。 |
TF | HashSet(Of String) | 转录因子(上游调控因子)基因名称注释集合。 |
定向后的 BNLearn 先验调控网络。
String, String, Double)将一条有向调控关系转换为 DBN 的 RegulatoryLink 拓扑链路。
IEnumerable(Of ``0), HashSet(Of String))根据 WGCNA 共表达网络与 TF 注释结果,构建 DBN 拓扑链路集合 (RegulatoryLink)。方向与 GeneRegulatoryNetwork.BuildPriorNetwork() 一致。
| Name | Type | Description |
|---|---|---|
wgcna | IEnumerable(Of ``0) | WGCNA 共表达网络。 |
TF | HashSet(Of String) | 转录因子基因名称注释集合。 |
DBN 调控链路集合(TF → 非 TF 单向)。
NetworkGraph, String())主入口:将 WGCNA 共表达网络按 TF 注释定向为拓扑先验,并装配到 BNLearn 工作流中返回。调用方随后可设置工作流的 BNLearnWorkflow.ExpressionData 并执行结构学习与参数学习。
| Name | Type | Description |
|---|---|---|
wgcna | NetworkGraph | WGCNA "CorrelationNetwork.ExportGraph" 生成的共表达网络。 |
TF | String() | 转录因子(上游调控因子)基因名称数组。 |
已注入拓扑先验网络的 BNLearn 工作流实例。
NetworkGraph, GeneExpressionData, String())构建并拟合参数的动态贝叶斯网络:将 WGCNA 共表达网络按 TF 注释定向为 DBN 拓扑,并基于时间序列表达矩阵学习条件概率表(CPT)。
| Name | Type | Description |
|---|---|---|
wgcna | NetworkGraph | WGCNA 共表达网络。 |
expr | GeneExpressionData | 时间序列表达矩阵。 |
TF | String() | 转录因子基因名称数组。 |
已完成拓扑构建与参数学习的动态贝叶斯网络。
IEnumerable(Of ``0), GeneExpressionData, String())构建并拟合参数的动态贝叶斯网络:将 WGCNA 共表达网络按 TF 注释定向为 DBN 拓扑,并基于时间序列表达矩阵学习条件概率表(CPT)。
| Name | Type | Description |
|---|---|---|
wgcna | IEnumerable(Of ``0) | WGCNA 共表达网络。 |
expr | GeneExpressionData | 时间序列表达矩阵。 |
TF | String() | 转录因子基因名称数组。 |
已完成拓扑构建与参数学习的动态贝叶斯网络。
DynamicBayesianNetwork, String, Int32)在已构建并拟合参数的动态贝叶斯网络上,对指定基因执行虚拟敲降模拟。
模拟逻辑:将目标基因节点状态强制固定为 ""Low""(敲降状态),并基于 已学习的条件概率表多步推演下游基因状态的级联变化。返回每个基因随时间的 离散状态数值化轨迹(Low=0, Medium=1, High=2)。
| Name | Type | Description |
|---|---|---|
dbn | DynamicBayesianNetwork | 已完成拓扑构建与参数学习的动态贝叶斯网络。 |
gene | String | 被虚拟敲降的目标基因名称。 |
nSteps | Int32 | 级联推演的时间步数。 |
基因名称 → 随时间变化的表达状态轨迹数组。
NetworkGraph, GeneExpressionData, String, String(), Int32)端到端封装:WGCNA 共表达网络 + 时间序列表达矩阵 → 动态贝叶斯网络建模 → 指定基因的虚拟敲降级联模拟。
| Name | Type | Description |
|---|---|---|
wgcna | NetworkGraph | WGCNA 共表达网络。 |
expr | GeneExpressionData | 已加载的时间序列表达矩阵(调用方负责从文件加载为 |
knockGene | String | 被虚拟敲降的目标基因名称。 |
TF | String() | 转录因子基因名称数组。 |
nSteps | Int32 | 虚拟敲降级联推演步数,默认 10。 |
目标基因被敲降后,各基因随时间的表达状态轨迹。
GeneExpressionData, PriorNetwork)将 SingleGRN 流程产出的 DBN 时间序列(已是 GeneExpressionData)装配为 BNLearn 工作流,并可选地融合由伪速率趋势构造的方向先验(PriorNetwork)。
与 GeneRegulatoryNetwork.BuildBNNetwork()(基于 WGCNA 共表达网络)不同,本函数直接消费已经完成 伪时间分箱的连续时间序列表达矩阵,无需 WGCNA 与 TF 注释,适用于 Monocle3 + PseudoVelo 产出的单细胞轨迹数据。
| Name | Type | Description |
|---|---|---|
expr | GeneExpressionData | DBN 时间序列表达矩阵(基因 × 伪时间 bin)。 |
prior | PriorNetwork | 可选的因果方向先验(如由 PseudoVelo 趋势符号构造)。为 Nothing 时退化为纯数据驱动 MMHC 结构学习。 |
已注入表达数据与先验网络的 BNLearn 工作流实例。
GeneExpressionData, PriorNetwork, String(), ValueTuple(Of String, Double)(), Int32, String)端到端封装:基于 DBN 时间序列构建基因表达调控网络 → 结构学习 → 参数学习 → 虚拟扰动分析(敲除 / 过表达 / 动态级联敲除 / 批量敲除),并可选导出结果。
虚拟扰动逻辑严格复用 BNLearnWorkflow 的高层 API (KnockoutGene / OverexpressGene / DynamicKnockout / BatchKnockout / SaveResults), 与 BNLearn\test\Program.vb 的演示一致。
| Name | Type | Description |
|---|---|---|
expr | GeneExpressionData | DBN 时间序列表达矩阵(基因 × 伪时间 bin)。 |
prior | PriorNetwork | 可选的因果方向先验网络。 |
knockGenes | String() | 演示虚拟敲除 / 动态敲除的目标基因集合。 |
overExpr | ValueTuple(Of String, Double)() | 演示虚拟过表达的基因集合(源码 OverexpressGene 仅接受 nSamples,倍率由内部默认;此处传入的基因名用于选取目标)。 |
dynamicSteps | Int32 | 动态级联敲除推演的时间步数,默认 10。 |
outputDir | String | 结果导出目录;为空则不导出。 |
训练好的工作流 + 各类扰动结果(供调用方进一步分析或二次导出)。
GeneExpressionData, GeneModuleColor(), PriorNetwork, String(), String(), Int32, Double)基于 WGCNA 共表达模块划分,逐模块训练 DynamicBayesianNetwork 子网络,并基于模块间 相关度构建子网络关联,对任意显式指定的扰动基因(knockGenes)做全局级联虚拟扰动推断。
与 GeneRegulatoryNetwork.TrainAndIntervene() 的区别:
DynamicBayesianNetwork(2TBN,离散状态 Low/Medium/High, 时间序列参数学习),而非全局高斯 BN;| Name | Type | Description |
|---|---|---|
timeSeries | GeneExpressionData | DBN 时间序列表达矩阵(基因 × 伪时间 bin,来自 Monocle3 + PseudoVelo 链路)。 |
modules | GeneModuleColor() | WGCNA 模块划分结果(geneID / moduleColor / kME),来自 WGCNA.ReadModuleAssignment。 |
prior | PriorNetwork | 合并后的因果方向先验网络(wgcna + 伪速率),用于提取模块内定向边构建 DBN 拓扑。 |
TF | String() | 转录因子基因名称数组(用于识别模块内的调控型接口基因)。 |
knockGenes | String() | 显式指定的虚拟扰动(敲降)目标基因列表。 |
dynamicSteps | Int32 | 级联推演的时间步数,默认 10。 |
crossModuleCorThreshold | Double | 模块 eigengene 相关阈值:|cor| 超过才建立模块间关联,默认 0.3。 |
每个扰动基因的全局最终响应向量(按全部模块基因顺序排列)与训练好的模块子网络字典。
先验知识的证据来源标记。