Agent Skills
返回列表
📊

PyDESeq2 差异表达分析

数据分析 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/pydeseq2。

技能介绍

要解决什么问题

Bulk RNA-seq 的差异表达分析通常依赖 R 里的 DESeq2。若整条管线都在 Python(pandas、AnnData、下游机器学习或可视化)里,在 R 与 Python 之间来回导出计数矩阵和元数据,既容易搞错样本名对齐,也难把分析嵌进自动化流程。

PyDESeq2 是 DESeq2 的 Python 实现,本技能把从数据准备到结果解释的工作流写清楚,便于在 Python 环境里完成与经典 DESeq2 思路一致的分析。

技能如何组织工作流

核心步骤与 DESeq2 一致,并强调与 pandas / AnnData 的衔接:

  • 数据准备:计数矩阵为 samples × genes 的非负整数;元数据为样本 × 实验因子。常见坑是基因×样本矩阵需 .T 转置,以及低表达基因与缺失元数据样本的过滤。
  • 设计公式:Wilkinson 符号(R 风格),单因素如 ~ condition,多因素如 ~ batch + condition;调整变量应放在关注变量之前。
  • 拟合:DeseqDataSet 与 deseq2() 完成大小因子、离散度估计与收缩、log2 倍数变化及 Cook 距离等步骤。
  • 检验与导出:Wald 检验;对比格式为 [变量, 检验水平, 参考水平]。结果含 log2FoldChange、pvalue、padj(Benjamini–Hochberg)。可选 apeGLM 收缩仅影响 LFC 展示与排序,不改变 p 值。

技能还指向 scripts/run_deseq2_analysis.py,用于标准 CLI 批量分析;复杂 API 与工作流细节见 references/api_reference.md、references/workflow_guide.md。

适用边界与注意点

  • 面向 bulk RNA-seq 计数,不是单细胞专用流程。
  • 设计矩阵满秩:批次与处理完全混淆时,需改设计或加交互项,否则拟合失败。
  • 显著性以 padj < 0.05 为准;可视化可用收缩后的 LFC,报告显著性仍用未收缩检验结果。
  • 环境要求 Python 3.10–3.11 及文档列出的科学计算依赖;可视化需额外安装 matplotlib/seaborn。

使用场景

  • 已具备 samples×genes 计数矩阵与样本元数据,要在 Python 里完成处理组 vs 对照的 Wald 检验并导出含 padj 的差异基因表。
  • 同一批数据分两次测序,需要在设计公式中加入批次项,再估计处理条件的 log2FC 与 FDR 校正 p 值。
  • 课题原先在 R 中跑 DESeq2,希望把加载、拟合、对比与 CSV 导出改成 pandas 可复现的 Python 流程。
  • 多个处理水平都要与同一对照比较,需按 contrast 三元组逐组检验并整理多重比较后的显著基因列表。

适合人员

  • 维护 NGS 分析脚本的生物信息工程师,要把 DESeq2 式统计嵌入 Python 服务或流水线,避免与 R 来回传数。
  • 撰写 bulk RNA-seq 论文的研究生,需要从 count 矩阵跑到 Wald 结果,并用 padj 与 log2FoldChange 做火山图与解读。
  • 负责动物或细胞处理实验的转录组分析员,常在控制批次或协变量后向合作者交付差异表达基因清单。
  • 在 Python 环境做公共数据再分析的数据分析师,希望 DE 步骤与 AnnData、pandas 及下游建模共用同一套依赖。