nuget server logo nuget api documents
↑

API Docs / SMRUCC.genomics.Analysis.GEARS / GeneRegulatoryGraph

GeneRegulatoryGraph

Full name SMRUCC.genomics.Analysis.GEARS.Graph.GeneRegulatoryGraph Assembly SMRUCC.genomics.Analysis.GEARS Members 16

基因调控图:由先验调控网络构建用于 GNN 消息传递的异质有向图

00 Remarks

本类型负责 readme 中 Step 1 的工作:把 PriorNetwork 中的 TF → TargetGene 调控关系转换为 GNN 的图结构,并且可选地根据 control 表达谱的 相关性追加共表达边(GEARS 双通道设计中的「共表达协方差图」)。

除了构建 Graph 之外,这里还会预先把入边按照目标节点分组缓存为 稀疏邻接结构(源节点索引 / 关系类型 / 归一化权重),供 GEARSConvLayer 做 O(|E|) 的稀疏聚合,避免 350+ 节点场景下 稠密邻接矩阵乘法带来的巨大开销。

01 Syntax

SMRUCC.genomics.Analysis.GEARS.Graph.GeneRegulatoryGraph

02 Methods

NameOverloadsSummary
.ctor 1 构建基因调控图
BuildGeneIndex 1 建立基因名称到节点索引的映射
TopCoExpressionEdges 1 计算基因两两之间的 Pearson 相关系数,为每个基因挑选相关性最强的 Top-K 条共表达边
InEdgeSources 1 获取指向指定节点的所有入边源节点索引
InEdgeTypes 1 获取指向指定节点的所有入边关系类型
InEdgeWeights 1 获取指向指定节点的所有入边的归一化权重(已折算自环,权重之和小于 1)
SelfWeight 1 获取指定节点自环信息的保留权重
TryGetGeneIndex 1 尝试按照基因名称获取节点索引
ToString 1 输出图结构的摘要信息

03 Properties

NameOverloadsSummary
GeneNames 1 基因名称列表,顺序与表达矩阵的行顺序严格一致
NumGenes 1 基因数量(图中的节点数量)
Graph 1 GNN 图结构对象
GeneIndex 1 基因名称到节点索引的映射(大小写不敏感)
NumPriorEdges 1 实际生效的调控边数量(不含共表达边与自环)
NumCoExpressionEdges 1 追加的共表达边数量
RelationTypeCounts 1 图中每种关系类型的边数量统计

04 Members

method .ctor #
#ctor(String(), PriorNetwork, Double[0:,0:], Int32, Double)

构建基因调控图

Parameters
NameTypeDescription
geneNamesString()

表达矩阵中的基因名称列表(行名),决定节点索引顺序

priorPriorNetwork

先验调控网络;两端基因不在 geneNames 中的边会被丢弃

controlExprDouble[0:,0:]

control 条件下的表达矩阵 [gene, sample];当 coexpressionTopK 大于 0 时 用于计算基因间 Pearson 相关并追加共表达边

coexpressionTopKInt32

每个基因保留的共表达边数量(按 |Pearson r| 降序);0 表示关闭共表达图

minCoexpressionDouble

共表达边的最小相关系数阈值,低于该阈值的关系不会被加入图中

method BuildGeneIndex #
BuildGeneIndex(String())

建立基因名称到节点索引的映射

Parameters
NameTypeDescription
geneNamesString()

基因名称列表

Returns

大小写不敏感的基因名索引字典

method TopCoExpressionEdges #
TopCoExpressionEdges(Double[0:,0:], Int32, Double)

计算基因两两之间的 Pearson 相关系数,为每个基因挑选相关性最强的 Top-K 条共表达边

Parameters
NameTypeDescription
exprDouble[0:,0:]

表达矩阵 [gene, sample]

topKInt32

每个基因保留的边数量

minCorrDouble

相关系数阈值

Returns

共表达边列表,元素为 (基因A索引, 基因B索引, |相关系数|)

method InEdgeSources #
InEdgeSources(Int32)

获取指向指定节点的所有入边源节点索引

Parameters
NameTypeDescription
nodeIndexInt32

目标节点索引

Returns

源节点索引数组

method InEdgeTypes #
InEdgeTypes(Int32)

获取指向指定节点的所有入边关系类型

Parameters
NameTypeDescription
nodeIndexInt32

目标节点索引

Returns

关系类型索引数组,与 GeneRegulatoryGraph.InEdgeSources() 一一对应

method InEdgeWeights #
InEdgeWeights(Int32)

获取指向指定节点的所有入边的归一化权重(已折算自环,权重之和小于 1)

Parameters
NameTypeDescription
nodeIndexInt32

目标节点索引

Returns

归一化权重数组,与 GeneRegulatoryGraph.InEdgeSources() 一一对应

method SelfWeight #
SelfWeight(Int32)

获取指定节点自环信息的保留权重

Parameters
NameTypeDescription
nodeIndexInt32

节点索引

Returns

自环权重,取值在 (0, 1] 区间内

method TryGetGeneIndex #
TryGetGeneIndex(String, Int32)

尝试按照基因名称获取节点索引

Parameters
NameTypeDescription
geneNameString

基因名称(大小写不敏感)

indexInt32

返回的节点索引;基因不存在时返回 -1

Returns

基因存在则返回 True,否则返回 False

method ToString #
ToString

输出图结构的摘要信息

Returns

描述图规模的字符串

property GeneNames #
GeneNames

基因名称列表,顺序与表达矩阵的行顺序严格一致

Returns

基因名称数组

property NumGenes #
NumGenes

基因数量(图中的节点数量)

Returns

节点数量

property Graph #
Graph

GNN 图结构对象

Returns

Graph 实例

property GeneIndex #
GeneIndex

基因名称到节点索引的映射(大小写不敏感)

Returns

基因名 → 节点索引 的字典

property NumPriorEdges #
NumPriorEdges

实际生效的调控边数量(不含共表达边与自环)

Returns

先验网络中被成功映射到表达矩阵上的边数量

property NumCoExpressionEdges #
NumCoExpressionEdges

追加的共表达边数量

Returns

共表达边数量

property RelationTypeCounts #
RelationTypeCounts

图中每种关系类型的边数量统计

Returns

长度为 EdgeRelationTypes.NumRelationTypes 的计数数组