SuperAPI AI 工具集

alterlab-pydeseq2

编程与开发

查看项目

更新于 10-16 05:00

技能介绍

用途:对批量 RNA-seq 计数矩阵做差异表达分析,比较实验条件(如处理组 vs 对照组),支持多因素设计以校正批次或协变量,也可把 R 版 DESeq2 流程迁移到 Python 并嵌入 Python 分析管线。

主要能力:完整流程从数据加载到结果解读,包含 size-factor 归一化、离散度估计、LFC 计算、Cook's 离群值检测、Wald 检验与多重检验校正、可选 apeGLM 收缩,以及与 pandas、AnnData 集成。

使用方式:安装 uv pip install "pydeseq2>=0.5,<0.6"。核心步骤为准备数据(计数矩阵需为样本×基因,必要时用 .T 转置,过滤低计数基因、剔除元数据缺失样本)、用 Wilkinson 公式指定设计(如 "~batch + condition",校正变量放在关注变量之前)、拟合 DeseqDataSet(...).deseq2()、用 DeseqStats(dds, contrast=[var, test, ref]).summary() 检验并读取 results_df、可选 lfc_shrink() 收缩、按 padj < 0.05 筛选并导出 CSV/pickle。0.4+ 版本并行通过 DefaultInference(n_cpus=8) 配置。技能还提供命令行脚本 scripts/run_deseq2_analysis.py,支持 --counts、--metadata、--design、--contrast、--output、--min-counts、--alpha、--n-cpus、--plots 等参数,适合批量处理多个数据集。

适用场景:批量 RNA-seq 差异表达、两组或多组比较、含批次/协变量的设计、Python 管线集成。

限制:不适用于单细胞差异表达或簇标记基因、FASTQ 到计数矩阵的定量、非计数数据的通用回归、变异检测、微生物组差异丰度。需注意数据方向、样本与基因过滤、设计公式顺序、收缩仅用于可视化与排序(p 值不收缩)、使用 padj 而非原始 p 值、对比格式为 [变量, 测试水平, 参考水平],稀疏计数可用 size_factors_fit_type="poscounts"。系统要求 Python ≥3.11 及 numpy、pandas、scipy、scikit-learn、anndata、formulaic、matplotlib 等依赖。