SuperAPI AI 工具集

pydeseq2

数据与分析

查看项目

更新于 10-15 21:39

技能介绍

用途:对 bulk RNA-seq 计数数据进行差异表达分析,比较实验条件(如处理组与对照组),支持多因子设计以校正批次或协变量,可将 R 版 DESeq2 工作流迁移到 Python 并嵌入现有分析管线。

主要能力:以 samples × genes 的非负整数计数矩阵和样本元数据为输入;使用公式化设计(如 "~condition"、"~batch + condition"、含连续协变量或交互项);deseq2() 完成归一化、离散度拟合与收缩、log fold change 计算与 Cook 距离异常检测;DeseqStats 执行 Wald 检验,提供 Benjamini-Hochberg FDR 校正的 padj;结果列含 baseMean、log2FoldChange、lfcSE、stat、pvalue、padj;可选 apeGLM 的 LFC 收缩,仅影响 log2FoldChange,不改变 p 值,适用于火山图、热图或效应量排序;结果可导出 CSV 及可移植的 .h5ad AnnData。

使用方式:安装 uv pip install pydeseq2==0.5.4。典型流程为加载数据(CSV/TSV 常需转置,或从 AnnData 读取)、过滤低计数基因与缺失元数据样本、构建 DeseqDataSet 并调用 deseq2()、用 DeseqStats 指定 contrast(格式 [变量, 检验水平, 参考水平])、调用 summary() 后按 padj < 0.05 筛选。也可用附带命令行脚本 scripts/run_deseq2_analysis.py,通过 --counts、--metadata、--design、--contrast、--output 等参数运行,可选 --min-counts、--alpha、--n-cpus、--shrink-coeff、--plots。

适用场景:两组比较、多处理组对对照、控制批次效应、连续协变量建模、结果排序与可视化(火山图、MA 图)、质量指标检查(size factors、离散度分布、p 值分布)。

限制:需要 Python 3.11+ 及 pandas 2.2.0+、numpy 2.0.0+、scipy 1.12.0+、scikit-learn 1.4.0+、anndata 0.11.0+、formulaic 1.0.2+ 等依赖;设计矩阵可能不满秩,需处理混杂变量;应使用 padj 而非原始 p 值判断显著性;PyDESeq2 0.5.x 默认 contrast 不再支持,必须显式提供;避免加载不可信来源的 pickle 文件,交换优先使用 CSV 与 .h5ad。官方文档与更多参数细节见其 API 参考和工作流指南。