Welcome to GSEAPY’s documentation!¶
GSEAPY: Gene Set Enrichment Analysis in Python.¶
Release notes : https://github.com/zqfang/GSEApy/releases
Zhuoqing Fang, Xinyuan Liu, Gary Peltz, GSEApy: a comprehensive package for performing gene set enrichment analysis in Python, Bioinformatics, 2022;, btac757, https://doi.org/10.1093/bioinformatics/btac757
# if you have conda $ conda install -c bioconda gseapy # or use pip to install the latest release $ pip install gseapy
GSEApy is a Python/Rust implementation of GSEA and wrapper for Enrichr.¶
GSEApy has six subcommands:
gsea module produces GSEA results.
The input requries a txt file(FPKM, Expected Counts, TPM, et.al), a cls file, and gene_sets file in gmt format.
prerank module produces Prerank tool results.
The input expects a pre-ranked gene list dataset with correlation values, which in .rnk format, and gene_sets file in gmt format.
prerank module is an API to GSEA pre-rank tools.
ssgsea module performs single sample GSEA(ssGSEA) analysis.
The input expects a gene list with expression values(same with
.rnk file, and gene_sets file in gmt format. ssGSEA enrichment score for the gene set as described by D. Barbie et al 2009.
replot module reproduces GSEA desktop version results.
The only input for GSEAPY is the location to GSEA Desktop output results.
enrichr module enables you to perform gene set enrichment analysis using
Enrichr is open source and freely available online at: http://amp.pharm.mssm.edu/Enrichr . It runs very fast and generates results in txt format.
biomartmodule helps you convert gene ids using BioMart API.
GSEApy could be used for RNA-seq, ChIP-seq, Microarry data. It’s used for convenient GO enrichments and produce publishable quality figures in python.
GSEA is far too extensive to describe here; see
GSEA documentation for more information. All files’ formats for GSEApy are identical to
GSEA desktop version.
I would like to use Pandas to explore my data, but I did not find a convenient tool to do gene set enrichment analysis in python. So, here are my reasons:
- Ability to run inside python interactive console without having to switch to R!!!
- User friendly for both wet and dry lab users.
- Produce or reproduce publishable figures.
- Perform batch jobs easy.
- Easy to use in bash shell or your data analysis workflow, e.g. snakemake.