Changelog#
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.1.6#
Bugfixes#
Fixed
op.translate(and everyop.resourcecall for non-human organisms) failing with HTTP 404 after HGNC dropped thegenenames/subtree from the EBI FTP mirror; the HCOP fifteen-column files are now fetched from the new HGNC Google Cloud Storage bucket (#303)Removed a redundant
pd.read_csvcall inop.translatethat re-downloaded the HCOP file a second time and bypassed the retry logic in_downloadFixed
bm.benchmarkground-truth matrix row order not matching score matrix afterpivot, which silently misaligned perturbation labels when obs names sort differently from their original order (#302)
2.1.5#
Added#
pl.volcanonow accepts a gene name (str) or list of gene names (list[str]) for thetopparameter to annotate specific features on volcano plots
Changes#
Refactored
ds.ensmbl_to_symbolto reuse_downloadand fixed mirror fallback to actually switch between Ensembl mirrorsMade
tqdmprogress bar compact in_download
Bugfixes#
Fixed
pl.dotplotignoringvcenter=0due to falsy check (#293)Fixed
_logsetting the root logging level to INFO for all packages (#296)
2.1.4#
Changes#
Added
alternativeargument todecoupler.mt.query_set. By default'greater', before it was'two-sided'Unpinned
scipyversion limit
Bugfixes#
Fixed missing progressbar for
decoupler._download._downloadAdded missing
decoupler.mt.query_setdocumentation
2.1.3#
Changes#
pp.adjmatnow returns the same features as used as input instead of the subset ofnetpp.pseudobulknow returns the same order features as used as input instead of shuffling themAdded a dedicated header and 5 attemps to
_downloadto mitigate 429 Client Error from Zenodo downloads
2.1.2#
Added#
pp.query_setto test overlap between a given feature set against a database of sets
Changes#
tl.rankby_obsmnow acceptsAnnData.obscolumn names specified in theobs_keysargumentMost plotting functions now accept extra arguments through
kw_arguments.p-values now are corrected using a custom numba-optimized version of
scipy.stats.false_discovery_controlcalled_fdr_bh_axis1_numba
2.1.1#
Added#
mypy checks in CI
notebook checks in CI
Bugfixes#
Fixed error in
decoupler.pp.pseudobulkwhenadata.obs_nameswere not unique, now throws verbose errorFixed corner case in
decoupler.mt.gseawhen p-values were infitite and could not be corrected
2.1.0#
Changes#
Updated logo
decoupler._download._downloadnow returns bytes instead of a dataframe. To transform topandas.DataFrameusedecoupler._download._bytes_to_pandasEnrichment methods and pseudobulking now work with backed AnnData objects, useful when working with big datasets and memory is limited
Bugfixes#
Fixed error in
pl.obsmwhere default value ofcmap_obswas not properly set.
2.0.7#
Changes#
Added
pre-commitfunctionality to the repository
2.0.6#
Changes#
Modified links and paths to follow scverse’s repository
2.0.5#
Bugfixes#
Fixed error message when extra dependencies where not installed
2.0.4#
Bugfixes#
Fixed
dcorimport bug as an external dependency
2.0.3#
Bugfixes#
Fixed error in
pp.pseudobulkwhen obs columns were not categorical
2.0.2#
Changes#
Allowed ordering functions (
pp.bin_order,pl.orderandpl.order_targets) not to be bound between 0 and 1Added ipywidgets as dependency
Silenced xgboost warnings
Bugfixes#
Handled corner case in
bm.metric.aucwhen scores are all 0Fixed error in
bm.metric.hmeanwhen metrics were str instead of listFixed error when
obscolumn is a list inpp.pseudobulk
2.0.1#
Bugfixes#
Fixed an error in
pp.pseudobulkwhen handling empty samples or features
2.0.0#
Major update to accomodate the scverse template [VBH+23].
All functions have been rewritten to follow the new API, errors when running previous versions (1.X.X) are expected if decoupler >= 2.0.0 is installed.
Changes#
Methods are now in the
mtmodule and are built from shared classMethodUse
decoupler.mt.<method_name>to call a methodmin_nargument has been renamedtminNew argument
bsizeallows to run a method with batches in case excessive memory usage is an issueof the enrichment scores are now corrected by Benjamini-Hochberg
mdtandudtare now based onxgboostinstead ofsklearnfor better scalability.udtstatistic is now the coefficient of determination instead of the importance of a single decision tree.mlmandulmnow include atvalparameter, which allows returning either the t-value of the slope or the slope itself as the enrichment statisticoranow returns the odds ratio of the contingency table as a statistic, and computes a two-sided Fisher exact test instead of a one-sided onevipernow correctly estimates shadow regulons when network weights are values other than -1 or +1wsumandwmeanare deprecated, instead now the methodwaggrallows to run both methods and any custom function. This makes it easier to quickly test new enrichment methods without having to deal withdecoupler’s implementation
Databases from Omnipath can now be accessed through the new
opmoduleUse
decoupler.op.<resource_name>to access a databaseRemoved the
omnipathpackage as a dependancyFixed
collectrito the publication version instead of the OmniPath oneMade
progenyonly return significant genes by default instead of the top N genes per pathway
Plots are now in a new
plmoduleUse
decoupler.pl.<plot_name>to call a plotThey use a common class
Plotterto make it easier to share arguments between themplot_violinshas been deprecatedNames that have changed
plot_psbulk_samplestofilter_samplesplot_running_scoretoleading_edgeplot_associationstoobsmplot_targetstosource_targets
Preprocessing functions are now in the new
ppmoduleRenamed
check_corrtonet_corr, now also returns adjustedRenamed
get_actstoget_obsmRenamed
get_pseudobulktopseudobulk. Now it does not automatically remove low quality samples, this is now done with the functionfilter_samplesDeprecated
get_contrast,get_top_targetsandformat_contrast_results.PyDESeq2should be used insteadMoved
rank_sources_groupsto the newtlmodule asrankby_groupMoved
get_metadata_associationsto the newtlmodule asrankby_obsm
Moved the benchmarking pipeline inside a new
bmmodule, with its metrics and plotting functions in further submodules (bm.metricandbm.pl)
Added#
dsmodule with functions to download several datasets at different resolutionsBulk:
hsctgfbandknocktfSingle-cell:
pbmc3k,covid5kanderygast1kSpatial:
msvisiumToy data:
toyandtoy_benchUtils:
ensmbl_to_symbol
New database functions in the
opmoduleAdded
hallmarkas a custom resource
New plotting funcitons in the
plmoduleAdded
obsbarto plot size of metadata columns inanndata.AnnData.obsAdded
orderto plot sources or features along a continous process such as a trajectoryAdded
order_targetsto plot the targets of a given source along a continous process
New preprocessing functions in the
ppmoduleAdded two functions to format networks,
adjmatto return an adjacency matrix, andidxmaxto return a list of setsAdded
filter_samplesto filter pseudobulk profiles after runningpseudobulkAdded
knnto calculate K-Nearest Neighbors similarities based on spatial distancesAdded
bin_orderto bin features across a continous process
tlmodule with functions to perform statistical testsAdded
rankby_orderto test for non-linear associations of features with a continous process
New benchmarking metrics and plotting related functions in the
bmmoduleAdded two more metrics,
F-scoreandqrankAdded shared plots for metrics,
bm.pl.auc,bm.pl.fscoreandbm.pl.qrankAdded a summary plot across metrics
bm.pl.summary