Recent Releases of gseapy

gseapy - gseapy-v1.1.9

bump version

  • fix #309
  • bump the version to fix a potential compilation issue that makes results inconsistent between versions #311

Full Changelog: https://github.com/zqfang/GSEApy/compare/v1.1.8...v1.1.9

- Python
Published by zqfang 12 months ago

gseapy - gseapy-v1.1.8

Fix the gene names order when call gsea() with permutation_type='gene_set' #308

The affected versions are v1.1.6 and v1.1.7. If you happen to run gseapy.gsea(...., permutation_type='gene_set'), please update and re-run

Full Changelog: https://github.com/zqfang/GSEApy/compare/v1.1.7...v1.1.8

- Python
Published by zqfang about 1 year ago

gseapy - gseapy-v1.1.7

bump version

  1. fix input dataframe format issue. #303, #306,
  2. fix linux wheel build #307

Full Changelog: https://github.com/zqfang/GSEApy/compare/v1.1.6...v1.1.7

- Python
Published by zqfang about 1 year ago

gseapy - gseapy-v1.1.7

bump version

fix input dataframe format issue. #303, #306

Full Changelog: https://github.com/zqfang/GSEApy/compare/v1.1.6...v1.1.7

- Python
Published by zqfang about 1 year ago

gseapy - gseapy-v1.1.6

What's Changed

  • Only check_uppercase for string genes
  • Better performance of rust implementation

Full Changelog: https://github.com/zqfang/GSEApy/compare/v1.1.5...v1.1.6

- Python
Published by zqfang over 1 year ago

gseapy - gseapy-v1.1.5

What's Changed

  • GSEA module
    • output: RES (running enrichment score) error fixed. #299
    • output cls file
    • output rnk file
  • new save keyword for func get_library(), now can write GMT file to disk
  • better gene_name checking. Lowercase gene symbols will try up case implicitly if most gene symbols are not found in the given gene set

Full Changelog: https://github.com/zqfang/GSEApy/compare/v1.1.4...v1.1.5

- Python
Published by zqfang over 1 year ago

gseapy - v1.1.4

What's Changed

  • fix windows build for python 3.13.
  • Add ax keyword to dotplot, barplot
  • fix: throw error for empty gene lists in enrich by @quasi-deus in https://github.com/zqfang/GSEApy/pull/278
  • Update plot.py by @byemaxx in https://github.com/zqfang/GSEApy/pull/281

Full Changelog: https://github.com/zqfang/GSEApy/compare/v1.1.3...v1.1.4

- Python
Published by zqfang over 1 year ago

gseapy - v1.1.3

What's Changed

  • Add Python 3.12 wheels
  • Improve Dotplot usage
  • Update on singlecell example nb to be compatible with missing edges and isolated nodes by @Alireza-Majd in https://github.com/zqfang/GSEApy/pull/263

Full Changelog: https://github.com/zqfang/GSEApy/compare/v1.1.2...v1.1.3

- Python
Published by zqfang about 2 years ago

gseapy - v1.1.2

What's Changed

  • Fixed to run prerank without error with rnk (type(pd.Series.name) == str) by @136s in https://github.com/zqfang/GSEApy/pull/240
  • align gene hits track in TracePlot (fixes zqfang/GSEApy#248) by @136s in https://github.com/zqfang/GSEApy/pull/249
  • Fixed key error in rnk file with duplicated gene names #251

Full Changelog: https://github.com/zqfang/GSEApy/compare/v1.1.1...v1.1.2

- Python
Published by zqfang over 2 years ago

gseapy - gseapy-v1.1.1

What's Changed

  • Corrected odds ratio formula, #237 by @136s in https://github.com/zqfang/GSEApy/pull/238

  • Refactor internal data parser for files .rnk, .gct. etc

Full Changelog: https://github.com/zqfang/GSEApy/compare/v1.1.0...v1.1.1

- Python
Published by zqfang over 2 years ago

gseapy - gseapy-1.1.0

What's Changed

New: * Add gsva module: This is the Rust implementation of GSVA algorithm. #226

Fixed:

  • #211, Now, pheno_pos and pheno_neg can define with

```python from gseapy import GSEA

gs = GSEA(data="./tests/extdata/Leukemiahgu95av2.trim.txt", genesets='KEGG_2016', classes = "./tests/extdata/Leukemia.cls" )

set here

gs.phenopos = ... gs.phenoneg = ... gs.run() ```

  • improvement for barplot #224. Specify colors for each group explicity python barplot( ...., color= {'KEGG_2021_Human': 'salmon', 'MSigDB_Hallmark_2020':'darkblue'})

Full Changelog: https://github.com/zqfang/GSEApy/compare/v1.0.6...v1.1.0

- Python
Published by zqfang over 2 years ago

gseapy - gseapy-v1.0.6

What's Changed

  • Fix issue: The gseaplot bar hits aligned incorrectly that happened in v1.0.5, #222
  • Add Msigdb API, now mouse symbol/entrze could be download easy, #204, check the docs here
  • Add MacOS-Arm64 binary
  • A few other minor issues

Full Changelog: https://github.com/zqfang/GSEApy/compare/v1.0.5...v1.0.6

- Python
Published by zqfang almost 3 years ago

gseapy - gseapy-1.0.5

New Features:

  • support user-defined background for Enrichr Web Service (on line mode)
  • multiple gseaplot. refer to examples. #205
  • Enrichr module: add Combined Score output in the local mode

Bug Fixed - minor issues, #195, #194

Full Changelog: https://github.com/zqfang/GSEApy/compare/v1.0.4...v1.0.5

- Python
Published by zqfang almost 3 years ago

gseapy - v1.0.4

Major: * Fixed critical bug #190. The wrong output of Lead genes and heatmap are fixed when call gsea with permutationtype = 'geneset' Others * dotplot visualization improvement * add new keyword correl_norm_type to ssgsea()

Full Changelog: https://github.com/zqfang/GSEApy/compare/v1.0.3...v1.0.4

- Python
Published by zqfang over 3 years ago

gseapy - gseapy-1.0.3

Fix issues with

  • biomart return status #182
  • enrichr gmt output name #181
  • logging's log file #180

Full Changelog: https://github.com/zqfang/GSEApy/compare/v1.0.2...v1.0.3

- Python
Published by zqfang over 3 years ago

gseapy - gseapy-1.0.2

Bump verision

  • add more control for dotplot x,y axis order

Full Changelog: https://github.com/zqfang/GSEApy/compare/v1.0.1...v1.0.2

- Python
Published by zqfang over 3 years ago

gseapy - gseapy-v1.0.1

Minor improvement

  • Add enrichment_map function to export GSEApy results to cytoscape, networkx etc. #147
  • Refactor DotPlot class to unify dotplot, barplot, enrichment_map.
  • Fix dimension when only one significant enriched pathway is left for dotplot, barplot #175
  • ringplot has been deprecated. Just use dotplot instead.
  • Minor improvements for heatmap.

Full Changelog: https://github.com/zqfang/GSEApy/compare/v1.0.0...v1.0.1

- Python
Published by zqfang over 3 years ago

gseapy - gseapy-v1.0.0

GSEApy is published in Bioinformatics !

New Features:

  • Use Github Actions to build binaries automatically
  • Add scRNA-seq tutorial
  • Add warnings for duplicated values in the ranking list
  • Add Scientific Palettes
  • Fix missing ax in barplot ax #171
  • Fix other minor issues

Full Changelog: https://github.com/zqfang/GSEApy/compare/v0.14.0...v1.0.0

- Python
Published by zqfang over 3 years ago

gseapy - gseapy-v0.14.0

🚀 This version further improves the speed of calculation.

New features: - GSEA, ssGSEA speed up 10x than NumPy implementation (<=0.10.8) - add read_gmt function to parse gmt file. - add get_library function to download enrichr library and return a dict - add enrich function to make over-representation analysis less confusing when using enrichr - biomart API speedup: bioservices dependency is no longer needed.

Bug fixed - dotplot, ringplot now supports GSEA results

Full Changelog: https://github.com/zqfang/GSEApy/compare/v0.13.0...v0.14.0

- Python
Published by zqfang over 3 years ago

gseapy - gseapy-v0.13.0

Fixed a critical bug in NES null distribution calculation in the Rust code. #162

And FDR values is affected in when NES < 0 for gseapy version (0.12.0, 0.12.1).

Please update at least to v0.13.0 to get the correct FDR values.

minor

  • improve output files (sort by abs(NES) in descending order)
  • generate output gene signature file (gmt) used in the calculation

Full Changelog: https://github.com/zqfang/GSEApy/compare/v0.12.0...v0.13.0

- Python
Published by zqfang over 3 years ago

gseapy - GSEApy-v0.12.0

This is the first Rust binding of GSEApy

NOTE

This version have bugs in NES calculation Please update to at lease v0.13.0 to get the correct FDR values!!!

Summary

  • This version is re-written in Rust, which solve major problems such a memory cost and speed.
  • Rust Binding of GSEApy is at lease 3-fold faster than Numpy implementation and 4 times less memory cost (Prerank module). #134, #142
  • New output format are used in this version and will be adpoted in the future releases.
  • All API remain the same to the older version of GSEApy(< v0.10.8).

New features:

  • Rust binding of GSEApy is much faster than the Numpy version (<=v0.10.8)
  • The gene_sets argument in gsea, ssgsea, prerank, now support multiple library inputs, e.g:

    • list: ['KEGG2016,'KEGG2021_Human']
    • dict: {'term_1': ['gene1', 'gene2,' ...], ...}
    • multiple libraries seperated by comma: "KEGG2016,KEGG2021_Human"
    • single libraries: KEGG_2016
    • or gmt file: "KEGG_2016.gmt"
    • Note: it will save you a lot of time if you put multi-values at once, instead of run each seprately.
  • dotplot, heatmap, ringplot improvement quite a lot !

Deprecated

  • argument processes are now renamed to threads

- Python
Published by zqfang almost 4 years ago

gseapy - gseapy-v0.10.7

  • Fix t_test statistics, #141
  • Fix a critical bug in phenotype permutation percedure (the permutation for null distribution is accidently not correct for phenotype shuffling proceducre) #140. Please update your results using v0.10.7 (only affects phenotype permutation)
  • Add odds ratio output to Enrichr output
  • minor docs improvement

- Python
Published by zqfang over 4 years ago

gseapy - gseapy-v0.10.3

Fix Enrichr URL error. #110 , #111

- Python
Published by zqfang over 5 years ago

gseapy - gseapy-v0.10.1

This is a major update.

  • Fixed a critical bug in NES calculation #105.
  • A few minor improvements for a better and cleaner interactive computing experience
  • add a new ranking method: genes with absolute value of signal to noise ( abs_signal_to_noise or abs_s2n)
  • change cache directory from ~/.gseapy to ~/.cache/gseapy.

- Python
Published by zqfang almost 6 years ago

gseapy - gseapy-v0.9.18

  • Drop dependency of bs4
  • Performance improvement for large dataset: use joblib instead of multiprocessing #92, #70
  • Fixed random seeding. Now FDR results are reproducible #95, #70
  • Improve heatmap ticks layout

- Python
Published by zqfang about 6 years ago

gseapy - gseapy-v0.9.13

Bump version

- Python
Published by zqfang about 7 years ago

gseapy - gseapy-v0.9.12

Enrichr module:

  1. Support modEnrich (https://amp.pharm.mssm.edu/modEnrichr/) . Add organism argument. Now, Human, Mouse, Fly, Yeast, Worm, Fish are supported.
  2. background argument bug fixed, #66 .
    Now, background type could be: list, tuple, set, Series, ndarray, int, a txt file or biomart dataset name.

- Python
Published by zqfang about 7 years ago

gseapy - gseapy-v0.9.9

  1. Add new module biomart: Convert gene ids using BioMart API
  2. Fixed heatmap bug in gsea output.
  3. Support custom gene set input for enrichr. Hypergeometric test using scipy
  4. Fixed other small issues

- Python
Published by zqfang over 7 years ago

gseapy - gseapy-v0.9.8

Highlight

  1. Visualization improvement for gseaplot, barplot, dotplot, heatmap. Now these function could be used in python console. see Examples for details.
  2. Leading edge genes now output to the results.
  3. Fixed small bugs in v0.9.5

- Python
Published by zqfang over 7 years ago

gseapy - gseapy-v0.9.5

Important Please note : from version 0.9.5 on, GSEApy only works on Python 3.4+ and Python 2.x will no longer be supported. For a Python 2 version you can install v0.9.4.

  • Now, set outdir=None, there will be not any output files on your hard disk. Usefull inside python console. #43
  • GSEA,Prerank,ssGSEA api improvement

    • gene_sets now support input type: dict. This is usefull when use your own genesets builded in python console. genesets dict looks like this:

    genesets = { "geneset1": ["geneA", "geneB", ...], "geneset2": ["geneB", "geneC", ...], ... "geneset100": ["geneA", "gene_T", ...] }

  • enrichr api improvment

    • gene_sets now support input type: list, str. see details: here
    • fixed loop break when enrichr server block the connection if you have large amount of queries
  • small bugs in ssgsea

- Python
Published by zqfang over 7 years ago

gseapy -

Last version support Python2

  • improve barplot output style
  • fixed logging issues when used in another package #44
  • enrichr: multi-libraries input support.

- Python
Published by zqfang almost 8 years ago

gseapy - v0.9.3

Most stable version so far.

  • fixed memory error when Input data generate big 3D numpy array. #39
  • improved docs

- Python
Published by zqfang over 8 years ago

gseapy - v0.9.2

This version still cause memory error, when using gsea with big array.

All existed APIs will no be deleted any longer.

New feature: * add no_plot keyword to all modules to skip plotting - this is useful only if output data are interested - also useful when re-run your analysis by skip plotting * docs are more clear now, particularly ssgsea - ssgsea output file improvement. - see docs and Examples

- Python
Published by zqfang over 8 years ago

gseapy - v0.9.1

Note: if you have limited RAM (1 core needs 1G), use v0.8.11.

  • Fixed stack overflow bug in module ssgsea with v0.9.0.
    • drop high dimensional numpy array for computing while using ssgsea, but need more running time.
    • ssgsea source code: revert back to old version of 0.8.11, which with multiprocessing support.

Notes about ssGSEA

  • ES values from ssgsea are consistent with GSVA:gsva(method='ssgsea'), see here.

  • download comparison.zip and, run these two files to compare gseapy.ssgsea and GSVA:gsva(method='ssgsea')

    • test.ssgesa.gseapy.py
    • test.ssgesa.R.r

comparison.zip

- Python
Published by zqfang over 8 years ago

gseapy - v0.9.0

Next generation of GSEApy

ssgsea using too much memory. Please use >=0.9.1

  • Using high dimension numpy arrays to accelerate computation.
  • drop multiprocessing, but reserved the keyword argument for future development.
  • docs more clear
  • APIs and internal structure of gseapy become more consistent and easier to maintain.
  • minor bugs fixed

- Python
Published by zqfang over 8 years ago

gseapy -

update some docs

- Python
Published by zqfang over 8 years ago

gseapy -

  • change matplotlib to export Type 2/TrueType fonts.
  • add --no-scale option in command line
  • add comments to the output raw.es, nes file
  • ES values from ssgsea now are consistence with GSVA:gsva(method='ssgsea'), see here

- Python
Published by zqfang over 8 years ago

gseapy - v0.8.8

bug fixed version

  • improved the output file in ssgsea:

    • samples.raw.es.txt: enrichment score for all samples
    • samples.normalized.es.txt: normalized enrichment score (nes) for all samples
    • subfolders of each sample: nes, fdr, p-values are calculated by original GSEA method.
    • note: enrichment plot only shows es
  • ssgsea: scaled ES, add sample_norm_type argument to specify rank method. #36, rank method including:

    • rank
    • log_rank
    • log how these methods rank genes, see ssGSEAprojection , line 86.
  • improved gct file input for ssgsea, gsea

    • reset_index for pandas series index after sorting values (gct input)
  • enrichr: fixed bug in single column input of dataframe

  • docs improvement: new links, and more examples, see http://gseapy.rtfd.io/

- Python
Published by zqfang over 8 years ago

gseapy - gseapy-v0.8.6

Since 0.8.0, multiprocessing have been added to speed up calculation. However, when multiprocessing mode is on, null distribution generated from random permutation are the same if each gene set has same gene member. This will affect a few users when input subsets only differ in enrich terms inside gene_set.gmt file. But from 0.8.5 and later, the broken null distribution are not issues any more.

Users should use 0.8.5 and later to get most accurate results.

For detail bugs:

  • critical: fixed broken null distribution when permutation type is phenotype #28, thanks for iseekwonderful
  • critical: now, fixed random permutation bug in Prerank and ssGSEA module. see #32.

And now, data input improvment * ssGSEA: - Accept a Series with gene names as index and return a dataframe #27 - Accept gene expression matrix in gct format #27 - Accept dataframe with only one column but gene names as index. * Prerank: - supports datafame with only one column but gene names as index - supports Seires input - dataframe with only two column, first col is gene name. * Replot: - fixed attribute no found bugs

- Python
Published by zqfang over 8 years ago

gseapy - gseapy-v0.8.3

bug fixed version

  • add retry logic when query Enrichr database (fixed timeout error)
  • fixed bugs in enrichr API when using latest Enrichr libraries(2017)
  • fixed bugs in log file output
  • handle NA or duplicated gene names in prerank module
  • handle fdr q-value when fdr q-value > 1, thanks for Matteo Zhang.

- Python
Published by zqfang almost 9 years ago

gseapy - gseapy-v0.8.1

GSEApy-0.8.1: An evolved version

New Features:

  • Add new Single Sample GSEA function to gseapy. Either Use it in command line or interactive python console. Please see documentations for more details
  • Parallel Computing support for GSEApy. Now, you could use -p parameter to specify cpu numbers you would like to use.
  • The time cost for phenotypepermutation (in gsea procedure) is much decreased.
  • The source code for GSEApy has been re-build and re-designed. It become more extendable and easier to maintain

API changes:

  • call module have been renamed to gsea for better usage, previous call() is been deprecated, and you should use gsea() instead.
  • The option -p for permutation_type has changed to -t. -p is used to specify processor number now. see details in documents.

Bugs fixes

  • fixed some minor bugs when using Enrichr and Replot module
  • fixed a potential bug in preprocessing step(in gsea mode, prerank or ssgsea is not affected). GSEApy filtered out genes when standard deviation of samples equal to zero.
  • fixed column and row orders in gsea heatmap output.
  • optimized the report output and naming rules.

- Python
Published by zqfang almost 9 years ago