Unify `method`/`flavor`/`backend`/… parameters
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.6k
- Forks
- 779
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 27
Description
I’d classify the kinds of selections we make into
- recipe/algorithm/statistical test/…
- backend/implementation package/…
Of course there’s overlap, but I think that’s broadly it.
Currently, we have the following.
-
flavorsc.pp.highly_variable_genes: choose algorithm/recipe (seurat, seurat_v3, cell_ranger)sc.tl.louvain: choose implementation package (vtraag’s louvain package, igraph, rapids)
-
method-
sc.pp.neighbors: choose algorithm to calculate connectivity (gauss or umap). kNN impl istransformer -
sc.tl.umap: choose implementation package (umap or rapids)Note
should probably be changed -
sc.tl.rank_genes_groups: choose differential expression test (t-test, wilcoxon test, …) (also hascorr_methodfor p-value correction) -
sc.tl.marker_gene_overlap: choose how to determine overlap (overlap_count, overlap_coef, jaccard)
-
-
backend: nowhere -
algorithm: nowhere
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing the public parameters in sc.pp.highly_variable_genes, sc.tl.louvain, sc.pp.neighbors, sc.tl.umap, sc.tl.rank_genes_groups, and sc.tl.marker_gene_overlap. Review how each parameter selects an algorithm, implementation package, or statistical method; done means the naming scheme is consistently defined and applied across the affected entry points.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend-api-design, bioinformatics
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100