nuget server logo nuget api documents
↑

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

InSilicoPerturbationSimulator

Full name SMRUCC.genomics.Analysis.GEARS.Training.InSilicoPerturbationSimulator Assembly SMRUCC.genomics.Analysis.GEARS Members 13

虚拟扰动的计算机仿真器:基于先验调控网络生成伪 Perturb-seq 训练标签

00 Remarks

真实的 GEARS 使用 CROP-seq / Perturb-seq 实测数据做监督训练;当没有实测扰动数据时, 本仿真器沿先验调控网络做带衰减的多跳信号传播,合成出「扰动 → 全转录组响应」的标签, 使 GNN 可以先行拟合出「扰动沿网络级联传播」的一般规律,再泛化到未见过的扰动。

单基因扰动的生成过程:

  1. 直接效应:由 InterventionSpec.GetInterventionValue() 给出被扰动基因的干预值;
  2. 级联效应:沿 TF → Target 方向做多跳扩散,

每一跳乘以衰减系数 decay,并按入度归一化、按边类型取符号(抑制边取反);

  1. 饱和与噪声:用 tanh 做软饱和防止多跳叠加爆量,并叠加少量高斯噪声模拟生物变异。

组合扰动额外引入非加性效应:若某个基因是多个被扰动基因的共同下游, 其响应会被协同放大(乘性增强),这正是 GEARS 相对传统「效应线性叠加」方法的核心优势。

01 Syntax

SMRUCC.genomics.Analysis.GEARS.Training.InSilicoPerturbationSimulator

02 Methods

NameOverloadsSummary
.ctor 1 创建虚拟扰动仿真器
Simulate 1 仿真一次(组合)扰动
Diffuse 1 从单个被扰动基因出发,沿调控方向做多跳扩散,返回每个基因收到的累计贡献
NextGaussian 1 生成标准正态分布随机数(Box-Muller 变换)

03 Fields

NameOverloadsSummary
graphData 1 基因调控图(提供稀疏入边缓存与边类型符号)
controlMean 1 control 条件下每个基因的表达均值
controlSD 1 control 条件下每个基因的表达标准差
decay 1 每一跳的信号衰减系数
maxHops 1 最大传播跳数
synergyStrength 1 组合扰动的协同放大系数
noiseLevel 1 标签噪声水平(以基因标准差为单位)
rand 1 随机数发生器
ContributionEpsilon 1 信号传播的贡献阈值,低于该值的下游基因不参与「共同下游」判定

04 Members

method .ctor #
#ctor(GeneRegulatoryGraph, Double(), Double(), Double, Int32, Double, Double, Int32)

创建虚拟扰动仿真器

Parameters
NameTypeDescription
graphGeneRegulatoryGraph

基因调控图

controlMeanDouble()

control 表达均值 [numGenes]

controlSDDouble()

control 表达标准差 [numGenes](用于饱和上限与噪声尺度)

decayDouble

每跳衰减系数,取值建议在 0.3~0.8 之间

maxHopsInt32

最大传播跳数,通常取 3~4

synergyStrengthDouble

组合扰动的协同放大系数,0 表示退化为线性叠加

noiseLevelDouble

标签噪声水平(以基因为单位的标准差倍数)

seedInt32

随机种子;给定后仿真结果可复现

method Simulate #
Simulate(IEnumerable(Of InterventionSpec))

仿真一次(组合)扰动

Parameters
NameTypeDescription
specsIEnumerable(Of InterventionSpec)

干预定义集合;单个元素为单基因扰动,多个元素为组合扰动

Returns

合成出的训练样本;若所有目标基因都不在图中则返回 Nothing

method Diffuse #
Diffuse(Int32, Double)

从单个被扰动基因出发,沿调控方向做多跳扩散,返回每个基因收到的累计贡献

Parameters
NameTypeDescription
sourceInt32

被扰动基因的节点索引

directDeltaDouble

该基因的直接表达变化量

Returns

每个基因从本次扰动中收到的累计贡献 [numGenes]

method NextGaussian #
NextGaussian

生成标准正态分布随机数(Box-Muller 变换)

Returns

标准正态随机样本

field graphData #
graphData

基因调控图(提供稀疏入边缓存与边类型符号)

field controlMean #
controlMean

control 条件下每个基因的表达均值

field controlSD #
controlSD

control 条件下每个基因的表达标准差

field decay #
decay

每一跳的信号衰减系数

field maxHops #
maxHops

最大传播跳数

field synergyStrength #
synergyStrength

组合扰动的协同放大系数

field noiseLevel #
noiseLevel

标签噪声水平(以基因标准差为单位)

field rand #
rand

随机数发生器

field ContributionEpsilon #
ContributionEpsilon

信号传播的贡献阈值,低于该值的下游基因不参与「共同下游」判定