-
Notifications
You must be signed in to change notification settings - Fork 924
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
Switch from leiden to leidenbase #6792
Conversation
If you are looking to reduce overhead to a minimum, verify whether you are relying on any feature not already available in |
It's a bit out of my wheelhouse to go through and reimplement the different objective functions to be honest, I just thought this was a useful contribution that doesn't increase the dependency count. |
Pinging @saketkc @samuel-marsh as people who seem to be merging code: Can you have a look at this? Feel free to say you're not interested and close it, or that you want more info/more tests showing equivalence. Either is fine |
I will second @alanocallaghan ping that would be great to have this included! I’m not member of dev team so my actions are limited here but adding @Gesmira from Seurat team. Best, |
Just think of the aggregate wasted CPU cycles across every Seurat analysis for no gain |
Again bump to say
|
Hi Seurat Team, I just thought I would bump this to potentially get new eyes on this in the new year. It would be really great to have this incorporated as the python pass-through is still very slow compared to R native implementations and having faster leiden implementation would help larger workflows significantly. @dcollins15 hope you don’t mind me tagging you here as you are one I’ve seen doing most of merging/code updates lately. Thanks as always! |
Thanks for the poke @samuel-marsh!
Please feel free to continue tagging me on things you think are important 👌 As you can probably tell from the recent flurry of activity, I'm planning to submit a CRAN release for v5.2.0 in the next couple of days. Given that this change shouldn't affect any results, I think this is a no-brainer to include. ATM I'm working on merging in #8271—once it lands this change will be next to go 🚀 I'll try to do a quick sanity check of the clustering results before I start rebasing/pushing up documentation updates. The main ToDos are:
@alanocallaghan I'm happy to take care of these updates since you've given us the necessary permissions 🙌 I'll do my best to rebase carefully but in the future, it saves us from having to do any Git-jitsu if you can avoid using branch names that conflict with the ones in the main repository (i.e. |
LogSeuratCommand doesn't like deprecated(), use NULL instead
@alanocallaghan this turned out to be quite a bit more involved to get running than I initially realized but I think everything is working as expected now 🚀 In addition to the items I laid out above, I also ended up:
If @samuel-marsh could give this a quick sanity check that would be fantastic—specifically the way I'm deprecating the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Going to go ahead and merge this now so I can continue on with the release 🚀 Please do let me know if you spot any issues
Awesome thanks! Sorry it was more work than expected, I'd of course have been happy to do the small extras but I usually default to changelog and documentation changes being done by authors for consistency. Hope the next release goes smoothly for yous! |
The Leiden implementation provided by
leiden
is absurdly slow, way more than I'd expect from the overhead of calling reticulate. This switches for the (mostly) equivalentleidenbase
. Tests pass locally for me, see also the demo below comparing 3 Leiden implementations.See #6754