Repository navigation
Releases: scverse/decoupler
Releases · scverse/decoupler
Release list
v2.3.1
2.3.1
Bugfixes
- Fixed
mt.zscoreswapping theKSEAandRoKAIflavors, restoring the behaviour ofdecoupler<2. Scores from the defaultRoKAIflavor change (#382) - Fixed
mt.gseagiving p-values of 0 when no permutation reached the observed score. The observed score is now counted as one of the permutations, as inmt.waggr(#383) - Fixed
mt.waggraborting the Python process with numba'sworkqueuethreading layer (default when TBB/OpenMP are unavailable, e.g. macOS arm64) due to nested parallel regions
v2.3.0
2.3.0
Changes
- Updated the bundled decoupler Agent Skill, and
decoupler-install-skillsnow supports multiple agent frameworks pp.filter_by_propnow defaults tomin_prop=0.1(was0.2) to match the value used in the vignettesds.msvisiumnow returns log-normalized data (sc.pp.normalize_total+sc.pp.log1p), with the log-normalized matrix also stored inadata.layers["norm"], instead of raw counts- Dropped support for Python 3.11; decoupler now requires Python 3.12 or newer
- Updated to the scverse cookiecutter template v0.8.0 (hash-pinned GitHub Actions checked by zizmor,
prekinstead ofpre-commit,sphinx-designinstead ofsphinx-tabs, shared Sphinx extensions fromscverse-misc)
Bugfixes
- Fixed
mt.oraselecting the bottomnvar - n_upfeatures instead of the topn_upones. Ranks are ascending, so the threshold is nownvar - n_up, restoring the behaviour ofdecoupler<2. With the defaultn_up(top 5%) this selected 95% of the features as observed, which also mademt.orafail withinvalid contingency tablewhenevernvar - n_upexceededn_bg(#346) - Fixed
n_bminmt.oraselecting the bottomn_bm - 1features instead ofn_bm mt.oranow validates thatn_upandn_bmdo not overlap and thatn_bgis large enough for the number of selected features, instead of failing inside the Fisher exact testmt.query_setnow raises an informative error whenn_bgis smaller than the number of features to test, instead of failing insidescipy.stats.fisher_exact- Fixed
mt.gseanot shuffling the permutation indices whenseed=0, which produced identical permutations and invalid p-values (#355) - Fixed
mt.waggrfolding its already two-sided permutation p-values as one-sided, which gave scores near 0 the smallest p-value (#373) - Fixed
pl.dotplotshowing an empty size legend when all dots have the same size (#370) - Fixed
ds.msvisiumfailing with HTTP 403 by fetching the spot metadata fromcells.ucsc.eduinstead of thecells-test.gi.ucsc.edumirror
v2.2.0
2.2.0
Added
- Bundled a Claude Code Agent Skill that teaches coding agents to use decoupler correctly (method selection, calling conventions, output locations, priors, datasets, and benchmarking)
- Added the
decoupler-install-skillsconsole script to install the skill into~/.claude/skills/decoupler/(use--forceto refresh after upgrading, or--print-pathto pointCLAUDE_SKILLS_PATHat the bundled copy in place)
v2.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_download - Fixed
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)
v2.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 mirrors - Made
tqdmprogress bar compact in_download
Bugfixes
v2.1.4
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._download - Added missing
decoupler.mt.query_setdocumentation
v2.1.3
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 them- Added a dedicated header and 5 attempts to
_downloadto mitigate 429 Client Error from Zenodo downloads
v2.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_keysargument- Most 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
v2.1.1
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 error - Fixed corner case in
decoupler.mt.gseawhen p-values were infitite and could not be corrected
v2.1.0
Changes
- Updated logo
decoupler._download._downloadnow returns bytes instead of a dataframe. To transform topandas.DataFrameusedecoupler._download._bytes_to_pandas- Enrichment 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.