SuperAPI AI 工具集

pydeseq2

编程与开发

查看项目

更新于 10-16 00:31

技能介绍

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

主要能力:提供 DeseqDataSet 与 DeseqStats 两类核心对象,完成归一化(size factors)、基因离散度拟合、MAP 离散度收缩、log fold change 拟合、Cook's 距离离群检测与可选重拟合;Wald 检验支持 alpha 阈值、Cook's 过滤与独立过滤,padj 采用 Benjamini-Hochberg FDR 校正;可选 lfc_shrink() 应用 apeGLM 收缩,仅影响 log2FoldChange,不改变 p 值。结果 DataFrame 含 baseMean、log2FoldChange、lfcSE、stat、pvalue、padj。

使用方式:安装 uv pip install pydeseq2。计数矩阵需为样本×基因,常需 .T 转置;元数据为样本×变量。设计公式用 R 风格,如 "~condition"、"~batch + condition"、"~age + condition"。典型流程:读取 counts 与 metadata、过滤低计数基因(如总和≥10)、构建 DeseqDataSet 并调用 dds.deseq2()、用 DeseqStats 指定 contrast=[变量, 测试水平, 参考水平] 并 summary()、按 padj<0.05 筛选、可导出 CSV 或 pickle。技能附带命令行脚本 scripts/run_deseq2_analysis.py,支持 --counts、--metadata、--design、--contrast、--output、--min-counts、--alpha、--n-cpus、--plots 等参数。

适用场景:两组比较、多处理组对对照、批次校正、连续协变量、火山图与 MA 图可视化、结果排序与导出。

限制:需 Python 3.10-3.11 及 pandas、numpy、scipy、scikit-learn、anndata 等依赖;设计矩阵须满秩,变量混杂会报错;样本名需与元数据一致;低表达基因与缺失元数据样本应预先过滤;收缩值仅用于可视化与排序,显著性仍以未收缩 p 值为准。官方文档 https://pydeseq2.readthedocs.io,仓库 https://github.com/owkin/PyDESeq2。