-
Notifications
You must be signed in to change notification settings - Fork 95
Re-implementating co_occurrence() #975
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
for more information, see https://pre-commit.ci
…nto numba-co-occurrence
for more information, see https://pre-commit.ci
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #975 +/- ##
==========================================
- Coverage 69.99% 66.60% -3.39%
==========================================
Files 39 40 +1
Lines 5532 6079 +547
Branches 1037 1031 -6
==========================================
+ Hits 3872 4049 +177
- Misses 1367 1669 +302
- Partials 293 361 +68
🚀 New features to boost your workflow:
|
@wenjie1991 This already looks very good and promising. But I believe you can squeeze out even more performance. You can start by adjusting the memory access pattern to be efficent. You can also numba_njit the outer function and parallelize it. Also i would cache the kernel that makes it even more efficent. |
IMPORTANT: Please search among the Pull requests before creating one.
Description
Togeter with @MDLDan we reimplement the

squidpy.gr.co_occurrence()
function using Numba.The new algorithm removes the need for a pre-calculated pairwise distance matrix, enabling it to handle large datasets without splitting. Parallel processing is enabled by default, increasing the runtime speed by 40 times.
We also implemented it in Rust using PyO3 and achieved similar performance. We chose to push the Numba implementation.
Following issues are related:
#229
#755
#223
#582
How has this been tested?
squidpy.gr.co_occurrence()
related have passed insquidpy
package test..
Closes
closes #755