pydeseq2
作者 K-Dense-AIpydeseq2 是一个面向 bulk RNA-seq 差异基因表达分析的 Python DESeq2 技能。可用于比较不同条件、拟合单因素或多因素设计、执行 Wald 检验和 FDR 校正,并在 pandas 和 AnnData 工作流中生成火山图或 MA 图。
该技能得分 80/100,值得收录。仓库提供了足够的证据,说明目录用户和代理都能判断何时使用它、按真实的 PyDESeq2 差异表达流程执行,并且比泛化提示更少猜测。它并非包装得最完善,但包含较完整的操作内容,对做 bulk RNA-seq 分析的用户具有明确的安装与使用价值。
- 触发性强:frontmatter 和 “When to Use This Skill” 明确指向 DESeq2、差异表达、bulk RNA-seq 计数和 PyDESeq2。
- 操作流程完整:技能正文包含基于 pandas、DeseqDataSet、DeseqStats、过滤、Wald 检验和 FDR 校正的具体快速上手步骤。
- 对代理很友好:覆盖单因素和多因素设计、batch/covariate 处理、apeGLM shrinkage,以及 pandas/AnnData 集成。
- 未提供安装命令或支持文件,因此用户可能需要自行推断环境/安装细节。
- 仓库带有实验/测试信号,并且看起来只是一个没有参考资料或辅助资产的单独 SKILL.md。
pydeseq2 技能概览
pydeseq2 适用于什么
pydeseq2 是一个用于 bulk RNA-seq 计数数据差异基因表达分析的 Python 技能。它可以帮助你从原始计数和样本元数据出发,得到差异表达结果、fold change、校正后 p 值,以及火山图和 MA 图等常见探索性输出。
适合谁使用
如果你想在 Python 里做 DESeq2 风格分析、需要多因素设计,或者希望把差异表达分析无缝接入 pandas/AnnData 工作流,就适合使用 pydeseq2 技能。它更适合已经手头有计数矩阵以及临床或实验元数据的分析人员,而不是想要一整套 RNA-seq 预处理流水线的用户。
它的价值在哪里
pydeseq2 的核心价值在于,它为原本可能要转去 R 才能做 DESeq2 的 Python 用户减少了迁移成本。它支持 Wald 检验、多重检验校正、可选的 apeGLM shrinkage,以及适合在 notebook 或 pipeline 中复现的工作流。
如何使用 pydeseq2 技能
安装 pydeseq2
先把该技能安装到你的 Claude skill 集中,然后在提问前打开技能文件:
npx skills add K-Dense-AI/claude-scientific-skills --skill pydeseq2
在决定是否安装和配置 pydeseq2 时,先确认你的环境里已经有 RNA-seq 计数表、样本元数据,以及你的工作流所需的 Python 包。这个技能最适合你能提供“样本 × 基因”的计数数据,并且已经有设计公式或分组变量的场景。
从正确的输入开始
高质量的 pydeseq2 使用,首先取决于输入结构是否清晰:
- 计数矩阵:样本作为行,基因为列
- 按 sample ID 索引的元数据
- 明确的 condition 列,以及你想纳入模型的 batch 或协变量列
- 明确的比较目标,例如 treated vs control
低质量的提问会说:“帮我对 RNA-seq 数据做差异表达分析。”
更好的提问会说:“请用 pydeseq2 分析一个 bulk RNA-seq 计数矩阵,24 个样本,比较 treated vs control,把 batch 作为协变量,过滤掉极低计数基因,并返回显著基因以及火山图/MA 图代码。”
先读这些文件
先从 SKILL.md 入手,了解工作流和预期分析步骤。然后再查看 README.md、AGENTS.md、metadata.json,以及仓库中可能存在的 rules/、resources/、references/ 或 scripts/ 文件夹。对这个仓库来说,最关键的实践信息在 SKILL.md 里,所以不要默认还会有额外的辅助文件。
正确使用 pydeseq2
把 pydeseq2 当作一种分析方法,而不只是代码生成器。你需要明确告诉模型:
- 你的物种和实验类型
- 样本如何分组
- 你需要单因素还是多因素设计
- 你是否需要 shrinkage、排序或可视化
- 你需要什么输出格式,例如 dataframe、notebook cells,或可复用脚本
这样可以明显提升 pydeseq2 的使用效果,因为模型能据此选择合适的设计、过滤和解释步骤,而不是靠猜。
pydeseq2 技能常见问题
pydeseq2 只适合 DESeq2 用户吗?
不是。任何想在 Python 里做 DESeq2 风格差异表达分析的人都可以用。对于已经在 pandas、scanpy 或 AnnData 里工作的用户,它尤其有用,因为你可以把分析留在同一技术栈里完成。
使用它一定要写出完美提示词吗?
不需要,但过于模糊的提示词通常只会得到泛化的分析代码。pydeseq2 技能在你提供计数表形状、关注的比较,以及已知混杂因素时,效果最好。
pydeseq2 适合新手吗?
如果你已经理解 RNA-seq 计数和实验设计的基本概念,它对新手是友好的。若你还需要在差异表达之前处理比对、定量或上游 QC,那么它就不太合适。
什么情况下不该用 pydeseq2?
不要把它用于单细胞差异表达、没有原始计数的标准化表达分析,或者需要完整端到端转录组流水线的工作流。如果你真正需要的是统计解释而不是基因层面的计数数据,它也不是合适选择。
如何改进 pydeseq2 技能
给出更好的生物学背景
最好的 pydeseq2 结果,来自能说明研究设计的提示词,而不只是文件名。请补充响应变量、对照条件、批次效应、重复数,以及你是否需要基因排序、绘图代码或结果解释。
明确你关心的分析决策
告诉技能如何处理低计数基因、是否使用多因素模型,以及是否需要对效应量做 shrinkage。这些选择会实质性影响 pydeseq2 的输出,也能避免走默认流程而得到并不适合你研究的结果。
让输出可以直接复用
不要只问“给我结果”,而是要一个可保存的 dataframe schema、绘图片段,或者可直接放进 notebook 的工作流。例如:“返回 pydeseq2 代码,完成模型拟合、提取校正后 p 值,并把显著基因及其 log2 fold change 和 padj 写入 CSV。”
从诊断开始迭代,而不只是盯最终命中
如果第一次运行结果不对劲,优先让它做 QC 相关检查:样本聚类、计数过滤依据、保留下来的基因数,或者设计公式是否存在混杂。这是在结果偏弱或异常稀疏时,改进 pydeseq2 for Data Analysis 的最快办法。
