用途:对 bulk RNA-seq 计数数据进行差异表达分析,比较处理组与对照组基因表达,支持多因子设计以校正批次或协变量,并将 R 版 DESeq2 流程迁移到 Python 管道。
主要能力:可指定设计公式(如 "~condition"、"~batch + condition"、"~group + condition + group:condition");运行完整 DESeq2 流程(计算 size factors、基因离散度、趋势曲线、MAP 离散度收缩、log fold change、Cook's 距离及异常值重拟合);执行 Wald 检验,对比度格式为 [变量, 测试水平, 参考水平],并用 Benjamini-Hochberg 校正得到 padj;可选 apeGLM LFC 收缩(仅影响 log2FoldChange,不影响 p 值);结果含 baseMean、log2FoldChange、lfcSE、stat、pvalue、padj,可导出 CSV 或 pickle。
使用方式:安装 uv pip install pydeseq2;输入为样本×基因的非负整数计数矩阵和样本×变量元数据。基本流程:加载并转置计数、过滤低计数基因(如总计数 <10)、构建 DeseqDataSet、调用 dds.deseq2()、用 DeseqStats 指定对比度并 summary(),再按 padj<0.05 筛选。也提供命令行脚本 scripts/run_deseq2_analysis.py,支持 --counts、--metadata、--design、--contrast、--output、--min-counts、--alpha、--n-cpus、--plots 等参数。
适用场景:双组比较、多处理组分别与对照比较、批次效应校正、连续协变量(如年龄)纳入模型、结果可视化与基因排序。
限制与注意:计数矩阵需为样本×基因方向,否则应转置;需保证样本名一致,剔除元数据缺失样本;设计矩阵须满秩,避免变量混杂;应使用 padj 而非原始 p 值判断显著性;LFC 收缩应在统计检验后、仅用于可视化或排序;Python 版本要求 3.10-3.11,依赖 pandas、numpy、scipy、scikit-learn、anndata,可视化可选 matplotlib、seaborn;收费、价格、平台等信息暂未提供。