用途:在通路层面解释基因表达变化,对 RNA-seq、蛋白质组学及单细胞聚类标记基因做富集分析。主要能力:enrich 模块通过 Enrichr API 对基因列表做过度代表分析(ORA),覆盖 GO、KEGG、MSigDB Hallmarks、Reactome、WikiPathways 等 200+ 数据库;prerank 与 gsea 模块对预排序基因列表或表达矩阵运行 GSEA,计算 NES 与 FDR;可直接使用 DESeq2 或 scanpy 差异表达输出的 pandas DataFrame。使用方式:先安装 pip install gseapy,可用 python -c "import gseapy; print(gseapy.version)" 验证;ORA 用 gp.enrichr(gene_list=..., gene_sets=[...], organism="human"),数据库名可用 gp.get_library_name(organism="human") 查询;GSEA 用 gp.prerank(rnk=ranked, gene_sets="MSigDB_Hallmark_2020", threads=4, min_size=15, max_size=500, permutation_num=1000, seed=42);运行得分图用 gseaplot。适用场景:解释 DESeq2/edgeR 差异表达结果、对 log2 倍数变化排序列表做 prerank、识别 scRNA-seq 簇标记基因富集通路、生成富集点图与 GSEA 曲线图。限制:enrich 模块需联网访问 Enrichr API,离线时可用本地 GMT 文件;基因需为 HGNC 符号而非 Ensembl ID,列表建议不少于 10 个基因;prerank 的 rnk 必须降序排序;permutation_num 越大 p 值越精细但耗时越多;不同基因集版本可能导致结果与 Java GSEA 不一致。官方 GUI 分析可用 GSEA Java 应用,R 用户可考虑 fgsea。
gseapy-gene-enrichment
数据与分析
更新于 10-15 22:40