| GEARS {SMRUCC.genomics.Analysis.GEARS} | .NET clr documentation |
GEARS:基于图神经网络的基因表达调控网络虚拟扰动实验
本类是整个算法的门面(facade),把 readme 中的五个步骤串联为一条完整的实验流水线:
Step 1:由先验调控网络 @F:SMRUCC.genomics.Analysis.GEARS.GEARS.priorNetwork 构建基因-基因调控图(GeneRegulatoryGraph);Step 2:以 control 基线表达 + 基因身份嵌入 + 扰动标记 + 扰动集合向量构成初始节点特征;Step 3:多层边类型感知消息传递,让扰动信号沿调控边向下游级联传播;Step 4:解码器输出 Δ表达,预测 x̂^pert = x^input + Δx̂;Step 5:用(仿真或实测的)Perturb-seq 样本做监督训练,之后即可泛化到未见过的扰动。
使用方式: ' Dim gears As New GEARS(exprData, priorNetwork) Dim ko = gears.KnockoutGene("codY") Dim combo = gears.PredictCombination({"codY", "luxR"}, InterventionMode.Knockout) '
本类实现了 InsilicoPerturbationExperiment 接口, 因此可以与 BNLearn 中已有的贝叶斯网络虚拟扰动实现互换使用。
# namespace SMRUCC.genomics.Analysis.GEARS
export class GEARS {
# 基因名称列表(顺序与表达矩阵行序一致)
GeneNames: string;
# 基因调控图
GraphData: GeneRegulatoryGraph;
# 最近一次训练得到的损失曲线(每个 epoch 的平均 MSE)
LossCurve: double;
# GNN 模型
Model: GEARSModel;
# 当前实验使用的超参配置
Options: GEARSConfig;
# 训练器实例;尚未训练时为 Nothing
Trainer: GEARSTrainer;
# 训练样本集合(默认由内置仿真器生成,可用实测数据覆盖)
TrainingSamples: iterates(PerturbSeqSample);
# control(野生型)表达均值
WildtypeMeans: double;
# control(野生型)表达标准差,用于归一化、Z-score 与显著性判定
WildtypeSDs: double;
}
GraphData: GeneRegulatoryGraphModel: GEARSModelOptions: GEARSConfigTrainer: GEARSTrainerTrainingSamples: iterates(PerturbSeqSample)