Welcome to GSEAPY’s documentation!¶
GSEAPY: Gene Set Enrichment Analysis in Python.¶
Release notes : https://github.com/zqfang/GSEApy/releases
Citation¶
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
Installation¶
# 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
, prerank
, ssgsea
, replot
enrichr
, biomart
.
1. The 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.
2. The 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.
3. The 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.
4. The replot
module reproduces GSEA desktop version results.
The only input for GSEAPY is the location to GSEA Desktop output results.
5. The enrichr
module enables you to perform gene set enrichment analysis using Enrichr
API.
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.
- The
biomart
module 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.
The full 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.
Why GSEAPY¶
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.