scverse / scverse/scanpy

Possible enhancement: multithreaded (via numba) mann-whitney tests

Open
#2,060 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area – Differential Expression Area – Performance 🐌
Dominant language
Python
Stars
2.6k
Forks
779
Avg merge
1d 4h
Merged PRs (30d)
27

Description

  • Additional function parameters / changed functionality / changed defaults?

I recently wrote up a parallelized implementation of the Mann-Whitney U test, for my own use (gist is here). For the types of tests we tend to do in scRNAseq (lots of different features, 2d arrays) it basically scales with the number of cores you can throw at it. When you're doing a lot of tests this is very nice!

Given that scanpy already has a dependency on numba this would be a pretty simple thing to add, if you want to do so. Thought I would just point it out!

  • James

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the linked gist and locating Scanpy's existing Mann-Whitney test entry point. Compare the proposed parallelized behavior with the current implementation, then define the supported API and validation needed before considering the enhancement complete.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
bioinformatics, performance
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.