bedapub / bedapub/besca

KeyError: 'base' when using bc.tl.dge.get_de() or bc.st.additional_labeling()

Open
#271 3 comments 0 reactions 1 assignee Claimed by @kohleman View on GitHub
bug
Dominant language
Python
Stars
50
Forks
17
Avg merge
1d 4h
Merged PRs (30d)
3

Description

By using besca25 I get the following error in the celltype annotation notebook:

`DEgenes = bc.tl.dge.get_de(adata, clusters, demethod="wilcoxon", topnr=5000, logfc=1, padj=0.05)`

```
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
Cell In [17], line 1
----> 1 DEgenes = bc.tl.dge.get_de(adata, clusters, demethod="wilcoxon", topnr=5000, logfc=1, padj=0.05)

File ~/scratch/conda/envs/besca25_LAS/lib/python3.8/site-packages/besca/tl/dge/_dge.py:698, in get_de(adata, mygroup, demethod, topnr, logfc, padj)
696 mygroups = list(sort(list(set(adata.obs[mygroup]))))
697 delist = {}
--> 698 rank_genes_groups(
699 adata,
700 groupby=mygroup,
701 use_raw=True,
702 n_genes=adata.raw.X.shape[1],
703 method=demethod,
704 )
705 for i in mygroups:
706 df = DataFrame(adata.uns["rank_genes_groups"]["names"]).head(topnr)[i]

File ~/scratch/conda/envs/besca25_LAS/lib/python3.8/site-packages/scanpy/tools/_rank_genes_groups.py:590, in rank_genes_groups(adata, groupby, use_raw, groups, reference, n_genes, rankby_abs, pts, key_added, copy, method, corr_method, tie_correct, layer, **kwds)
580 adata.uns[key_added] = {}
581 adata.uns[key_added]['params'] = dict(
582 groupby=groupby,
583 reference=reference,
(...)
587 corr_method=corr_method,
588 )
--> 590 test_obj = _RankGenes(adata, groups_order, groupby, reference, use_raw, layer, pts)
592 if check_nonnegative_integers(test_obj.X) and method != 'logreg':
593 logg.warning(
594 "It seems you use rank_genes_groups on the raw count data. "
595 "Please logarithmize your data before calling rank_genes_groups."
596 )

File ~/scratch/conda/envs/besca25_LAS/lib/python3.8/site-packages/scanpy/tools/_rank_genes_groups.py:93, in _RankGenes.__init__(self, adata, groups, groupby, reference, use_raw, layer, comp_pts)
82 def __init__(
83 self,
84 adata,
(...)
90 comp_pts=False,
91 ):
---> 93 if 'log1p' in adata.uns_keys() and adata.uns['log1p']['base'] is not None:
94 self.expm1_func = lambda x: np.expm1(x * np.log(adata.uns['log1p']['base']))
95 else:

KeyError: 'base'
```

This is a blocking error for my analysis. I hope you can help.
Best,
Llucia

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.