| PropagationMode {SMRUCC.genomics.Analysis.CellPhenotype} | .NET clr documentation |
虚拟扰动的效应传播方式。
# namespace SMRUCC.genomics.Analysis.CellPhenotype
export class PropagationMode extends Enum {
# 沿调控边级联迭代直到稳态(默认)。
#
# 被扰动的基因在每一轮迭代之中都会被强制回设到干预值(do 算子语义), 因此它不会被自己的上游调控因子"修复"回去;其余基因按照 x_t = c_t + sum(beta * x_r) 的 Jacobi 迭代更新。
#
# 这是贝叶斯网络引擎"按拓扑序一次性联合采样"在有环线性图上面的等价物。
Cascade: PropagationMode = 0;
# 只计算一阶(直接)效应,不进行级联迭代。
#
# 只有被扰动基因的直接靶基因会产生变化,等价于 delta_target = beta * delta_regulator。结果保守且绝对不会发散。
OneHop: PropagationMode = 1;
# 只传播"变化量"(推荐用于外部背景之下的条件化预测)。
#
# 迭代从零开始,被扰动基因被钳制为 目标值 - 基线,其余基因按照 delta_t = sum(beta * delta_r) 更新(不含截距项)。由仿射变换的性质可知
#
#
# x(k+1) = c + B * x(k) ==> (x_mutant - x_control)(k+1) = B * (x_mutant - x_control)(k)
#
#
# 因此这里的 delta 精确等于"同一个背景之下,扰动后的预测减去无扰动对照的预测"。 结果对象之中的 InterventionResult.WildtypeMeans 仍然是调用方给定的 背景,InterventionResult.MutantMeans 等于 背景 + delta, 两者的差就是净扰动效应。
#
# 与 PropagationMode.Cascade 的区别:绝对量级联在外部背景之上会把预测拉向模型自身的 平均水平(回归到均值),这部分漂移会混进变化量;本模式没有这个问题。
Delta: PropagationMode = 2;
}
Cascade: PropagationModeOneHop: PropagationModeDelta: PropagationMode