Comments (8)
My opinion: maybe it's time to use igraph directly.
https://igraph.org/r/doc/cluster_leiden.html
@SamGG the leiden package already does this by default for igraph objects, although limited parameters are supported compared to calling Python. This has been supported for over a year with the 0.4 version.
maybe it has to do with inefficient transfer of data between R and Python
@szhorvat thatβs correct it does (reticulate supports dense matrices but not sparse matrices or igraph objects so igraph objects are passed as an edge list and recreated in Python). This only applies to older versions of the R package for the reasons discussed above so the comment in Seurat documentation is likely no longer relevant for users running igraph 1.2.7 and leiden 0.4.0 or later.
from leidenalg.
Presumably yes. But you need to discuss this with the packages that implemented these methods. This choice of methods does not come from the leidenalg Python package.
from leidenalg.
Thanks Szabolcs. Hopefully someone from Seurat will give some input.
from leidenalg.
Using a matrix is not a feature of this library. It is entirely specific to the leiden R package, which will convert that matrix to a graph before doing any community detection.
Given what the leiden
package does, the claim in Seurat's documentation that the "matrix"
method is faster for small data seems rather strange ... maybe it has to do with inefficient transfer of data between R and Python.
from leidenalg.
Thanks @szhorvat -- just so I understand it correctly, did you mean specifying method="matrix"
or method="igraph"
does not really impact the resulting clusters but it is simply helpful for efficiency of how the data is processed before community detection? For example, with large dataset, specifying method=igraph will skip the conversion of the data to a dense matrix, thereby speeding up the whole clustering (community detection).
from leidenalg.
Probably @TomKellyGenetics could bring some clues.
My opinion: maybe it's time to use igraph directly.
https://igraph.org/r/doc/cluster_leiden.html
from leidenalg.
Thanks for this information and your feedback.
from leidenalg.
Thanks all for commenting in my absence! I believe all questions are addressed, so I'm closing this.
from leidenalg.
Related Issues (20)
- How to cite leidenalg? HOT 3
- python Segmentation fault: 11 when running the partition function of leidenalg HOT 4
- find_partition_temporal order of list of membership HOT 1
- Get different result after upgrading to 0.10.1 HOT 2
- Problems installing leidenalg on a remote cluster HOT 4
- Can't Finished running on million nodes and one hundred million edges data HOT 1
- Release supporting python-igraph 0.11
- Assigning new nodes to existing communities HOT 4
- Modularity (Q value) for each cluster HOT 3
- Weighted CPM clustering takes much longer when scale of weights is higher HOT 1
- resolution_profile/quality() for temporal communties HOT 1
- Time Slices to Layers Returns Uniform Account Count Across All Layers, HOT 1
- A bunch of strings are broken HOT 1
- Disconnected communities with ModularityVertexPartition on very large graphs HOT 3
- Dendrogram retrieval? HOT 3
- Error while using Leiden algorithm in Seurat HOT 1
- Error with find_partition_multiplex HOT 1
- find_partition_multiplex HOT 4
- Links to igraph documentation should be updated
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from leidenalg.