SuperAPI AI 工具集

tooluniverse-rnaseq-deseq2

数据与分析

查看项目

更新于 10-16 03:52

技能介绍

用途

该技能面向 RNA-seq 计数数据的差异表达分析,使用 PyDESeq2 完成 DESeq2 标准化、离散度估计、Wald 检验和 LFC 收缩,并可选集成 gseapy 进行富集分析、ToolUniverse 进行基因注释。适用于用户拥有 RNA-seq 计数矩阵、需要识别差异表达基因(DEG)、比较多种菌株/条件/处理、校正批次效应,或对 DEG 进行 GO/KEGG/Reactome 富集分析等场景。

主要能力

  • 差异表达分析:基于 PyDESeq2 执行标准化、离散度估计、Wald 检验和 LFC 收缩。
  • 多因素设计:支持单因素、多因素及交互设计,并强调将批次/协变量纳入设计公式。
  • 结果过滤:按 padj、log2FC、baseMean 等阈值筛选 DEG,支持方向性过滤和集合运算。
  • 离散度分析:可提取 genewise、fitted、MAP、final 等离散度估计。
  • 富集分析:可选使用 gseapy 对 DEG 进行 GO、KEGG、Reactome 富集。
  • 基因注释:可选使用 ToolUniverse 进行基因 ID 转换和基因详情查询。
  • 输出格式化:按问题要求格式化数值精度、百分比、计数等。

使用方式

  1. 问题解析:在编写代码前解析数据文件、阈值、设计因素、对比方向、富集需求及特定基因。
  2. 设计公式决策:检查元数据中所有变量,区分生物学兴趣因素、批次/区组协变量和无关列,确定设计公式。
  3. 数据加载与验证:加载计数矩阵和元数据,确保样本为行、基因为列,验证整数计数并对齐样本名。
  4. 检查元数据结构:打印元数据各列及水平,识别所有实验因素。
  5. 运行 PyDESeq2:设置参考水平,构建设计公式,执行 deseq2(),提取结果并可选进行 LFC 收缩。
  6. 过滤结果:按问题阈值筛选 DEG,支持方向性过滤和集合操作。
  7. 离散度分析(如需要):访问 dds.var 获取离散度数据。
  8. 富集分析(可选):使用 gseapy 对 DEG 进行通路富集。
  9. 基因注释(可选):使用 ToolUniverse 进行基因 ID 转换和查询。
  10. 输出格式化:按问题要求格式化答案。

安装命令:

pip install pydeseq2 gseapy pandas numpy scipy anndata

核心导入:

import pandas as pd
import numpy as np
from pydeseq2.dds import DeseqDataSet
from pydeseq2.ds import DeseqStats
import gseapy as gp
from tooluniverse import ToolUniverse

适用场景

  • 拥有 RNA-seq 计数矩阵并希望进行差异表达分析。
  • 询问 DESeq2、DEG、差异表达、padj、log2FC 等。
  • 需要离散度估计或诊断。
  • 希望对 DEG 进行 GO、KEGG、Reactome 富集分析。
  • 询问特定基因在条件间的表达变化。
  • 需要比较多个菌株/条件/处理。
  • 询问 RNA-seq 中的批次效应校正。
  • 问题提及“count data”“count matrix”“RNA-seq”“transcriptomics”。

限制

  • PyDESeq2 与 R DESeq2 在数值上存在差异,尤其是极低离散度基因(< 1e-05),源于 Python 与 R 数值优化方法不同;结果仍具统计有效性和生物学意义。若需与 R DESeq2 完全一致,可考虑通过 rpy2 使用 R DESeq2。
  • gseapy 与 R clusterProfiler 的富集结果可能因算法、数据库版本、术语简化方法不同而存在差异。若需与 R clusterProfiler 完全一致,可通过 rpy2 调用 R 包。
  • 默认使用 gseapy,无需 R 依赖,适用于大多数分析。
  • 该技能已在 53 个 BixBench 问题上验证,覆盖 15 个计算生物学项目,涉及 RNA-seq、miRNA-seq 和差异表达分析任务。
  • 其他具体限制暂未提供。