[ PROMPT_NODE_27082 ]
Pydeseq2 API 参考
[ SKILL_DOCUMENTATION ]
# PyDESeq2 API 参考
本文档提供 PyDESeq2 类、方法和工具的全面 API 参考。
## 核心类
### DeseqDataSet
用于差异表达分析的主要类,处理从归一化到对数倍数变化拟合的数据处理过程。
**目的:** 实现 RNA-seq 计数数据的离散度和对数倍数变化 (LFC) 估计。
**初始化参数:**
- `counts`: pandas DataFrame,形状为 (样本 × 基因),包含非负整数读取计数
- `metadata`: pandas DataFrame,形状为 (样本 × 变量),包含样本注释
- `design`: str,指定统计模型的 Wilkinson 公式 (例如 "~condition", "~group + condition")
- `refit_cooks`: bool,是否在移除 Cook 距离异常值后重新拟合参数 (默认: True)
- `n_cpus`: int,用于并行处理的 CPU 数量 (可选)
- `quiet`: bool,抑制进度消息 (默认: False)
**关键方法:**
#### `deseq2()`
运行完整的 DESeq2 流水线进行归一化和离散度/LFC 拟合。
**执行步骤:**
1. 计算归一化因子 (size factors)
2. 拟合基因级离散度
3. 拟合离散度趋势曲线
4. 计算离散度先验
5. 拟合 MAP (最大后验) 离散度
6. 拟合对数倍数变化
7. 计算用于异常值检测的 Cook 距离
8. 如果 `refit_cooks=True`,则可选重新拟合
**返回:** 无 (原地修改对象)
#### `to_picklable_anndata()`
将 DeseqDataSet 转换为可使用 pickle 保存的 AnnData 对象。
**返回:** 包含以下内容的 AnnData 对象:
- `X`: 计数数据矩阵
- `obs`: 样本级元数据 (1D)
- `var`: 基因级元数据 (1D)
- `varm`: 基因级多维数据 (例如 LFC 估计值)
**用法:**
python
import pickle
with open("result_adata.pkl", "wb") as f:
pickle.dump(dds.to_picklable_anndata(), f)
**属性 (运行 deseq2() 后):**
- `layers`: 包含各种矩阵的字典 (归一化计数等)
- `varm`: 包含基因级结果的字典 (对数倍数变化、离散度等)
- `obsm`: 包含样本级信息的字典
- `uns`: 包含全局参数的字典
---
### DeseqStats
用于执行统计检验和计算差异表达 p 值的类。
**目的:** 使用 Wald 检验和可选的 LFC 收缩来促进 PyDESeq2 统计检验。
**初始化参数:**
- `dds`: 已使用 `deseq2()` 处理过的 DeseqDataSet 对象
- `contrast`: list 或