一次(虚拟)扰动实验样本,等价于 Perturb-seq 中的一条记录
PerturbSeqSample
00 Remarks
训练样本由三部分组成:
- 输入侧的 control 表达谱 —— 注意被扰动基因自身的表达值已被改写为干预值
(readme §4.2 的关键设计:扰动基因自身的表达改变会作为信息在网络中传播);
- 输入侧的扰动基因集合(单基因或组合扰动);
- 标签侧的扰动后真实表达谱。
模型实际学习的是 Δ = 扰动后表达 − 输入表达,而不是绝对表达值, 这样标签分布近似零均值、训练更稳定(readme §6.3)。
01 Syntax
SMRUCC.genomics.Analysis.GEARS.Training.PerturbSeqSample
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| Delta | 1 | 计算标签 Δ = 扰动后表达 − 输入表达 |
| PerturbationFlag | 1 | 构建扰动 multi-hot 标记向量 |
| IsCombination | 1 | 判断是否为组合扰动(同时扰动两个及以上基因) |
| ToString | 1 | 输出样本摘要 |
03 Properties
| Name | Overloads | Summary |
|---|---|---|
| PerturbedGeneIndices | 1 | 被扰动基因的节点索引集合 |
| PerturbedGeneNames | 1 | 被扰动基因的基因名集合,顺序与 PerturbSeqSample.PerturbedGeneIndices 一致 |
| ControlExpression | 1 | 输入侧表达谱 [numGenes],被扰动基因位置已被改写为干预值 |
| PerturbedExpression | 1 | 标签侧表达谱 [numGenes],即扰动之后的真实表达 |
| Label | 1 | 样本描述标签,例如 "codY_Knockout" 或 "codY+luxR_Knockout" |
| Mode | 1 | 本次扰动所使用的干预模式(组合扰动取第一个基因的模式) |
04 Members
Delta
计算标签 Δ = 扰动后表达 − 输入表达
Returns
每个基因的表达变化量
PerturbationFlag(
Int32)构建扰动 multi-hot 标记向量
Parameters
| Name | Type | Description |
|---|---|---|
numGenes | Int32 | 基因总数 |
Returns
长度为 numGenes 的标记向量,被扰动位置为 1
IsCombination
判断是否为组合扰动(同时扰动两个及以上基因)
Returns
组合扰动返回 True
ToString
输出样本摘要
Returns
描述字符串
PerturbedGeneIndices
被扰动基因的节点索引集合
Returns
节点索引数组
PerturbedGeneNames
被扰动基因的基因名集合,顺序与 PerturbSeqSample.PerturbedGeneIndices 一致
Returns
基因名数组
ControlExpression
输入侧表达谱 [numGenes],被扰动基因位置已被改写为干预值
Returns
表达向量
PerturbedExpression
标签侧表达谱 [numGenes],即扰动之后的真实表达
Returns
表达向量
Label
样本描述标签,例如 "codY_Knockout" 或 "codY+luxR_Knockout"
Returns
样本标签字符串
Mode
本次扰动所使用的干预模式(组合扰动取第一个基因的模式)
Returns
InterventionMode 枚举值