把生物学层级"编译"为 P-NET 网络拓扑的构建器
NNBuilder
00 Remarks
P-NET 与常规神经网络最大的区别在于:它的层数、每一层的节点数量以及层与层之间的连接方式 全部由外部的生物通路数据库(Reactome 的 .gmt 文件)所决定,而不是由数据决定。 因此"构建网络"这一步的本质就是把层级包含关系翻译为逐层的二值掩码矩阵。
典型用法:
Dim hierarchy As PathwayHierarchy = DemoData.CreateHierarchy(seed:=123)
Dim model As PNETModel = NNBuilder.Build(hierarchy)
由于本类型原先已经在项目中被声明,这里保留了类型名与文件名, 只是把它从空类型改写为真正的网络构建工厂。
01 Syntax
SMRUCC.genomics.Analysis.HTS.P_NET.NNBuilder
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| Build | 1 | 由生物层级本体构建 P-NET 网络 |
| BuildFromGmt | 1 | 由一组按照由精细到粗顺序排列的 .gmt 文件构建 P-NET 网络 |
| EstimateParameterCount | 1 | 计算给定的层级在稀疏与稠密两种连接模式下的参数量,用于在构建之前评估网络规模 |
03 Members
Build(PathwayHierarchy, PNETBuildConfig)
由生物层级本体构建 P-NET 网络
Remarks
构建流程为:
- 清洗层级,剔除空通路与越界成员;
- 逐层编译稀疏连接边表(基因层为每基因 3 条边的块状稀疏结构);
- 为每一层创建 MaskedDenseLayer 与对应的 PredictionHead;
- 按照深度线性递增分配深度监督预测头的损失权重。
Parameters
| Name | Type | Description |
|---|---|---|
hierarchy | PathwayHierarchy | 生物层级本体(基因 + 由精细到粗排列的若干层通路) |
config | PNETBuildConfig | 构建配置,取 Nothing 时使用默认配置 |
Returns
构建完成的 P-NET 模型
BuildFromGmt(
IEnumerable(Of String), PNETBuildConfig)由一组按照由精细到粗顺序排列的 .gmt 文件构建 P-NET 网络
Parameters
| Name | Type | Description |
|---|---|---|
gmtFiles | IEnumerable(Of String) | gmt 文件路径数组,第 0 个文件的成员必须为基因名 |
config | PNETBuildConfig | 构建配置,取 Nothing 时使用默认配置 |
Returns
构建完成的 P-NET 模型
EstimateParameterCount(PathwayHierarchy)
计算给定的层级在稀疏与稠密两种连接模式下的参数量,用于在构建之前评估网络规模
Parameters
| Name | Type | Description |
|---|---|---|
hierarchy | PathwayHierarchy | 生物层级本体 |
Returns
长度为 2 的数组,第 0 项为稀疏(P-NET)参数量,第 1 项为同等节点数稠密网络的参数量