I am using Louvain clustering (1,2) to cluster cells in scRNAseq data, as implemented by scanpy.

One of the parameter required for this kind of clustering is the number of neighbors used to construct the neighborhood graph of cells (docs).

Larger values result in a more global view of the manifold, leading to lower number of clusters, while reducing the number of neighbors goes in the opposite direction. However, it is unclear how to choose this parameter.

The resolution parameter seems to work in the opposite way.

Do you know of any methodology and/or rule-of-thumb to define these parameters? E.g. depending on the size of the dataset?

  1. Levine, Jacob H., et al. "Data-driven phenotypic dissection of AML reveals progenitor-like cells that correlate with prognosis." Cell 162.1 (2015): 184-197.
  2. Blondel, Vincent D., et al. "Fast unfolding of communities in large networks." Journal of statistical mechanics: theory and experiment 2008.10 (2008): P10008.
  • 1
    $\begingroup$ The Louvian algorithm has an issue with disconnected communities. The Leiden algorithm is recommended to resolve this. See Traag et al. arxiv.org/abs/1810.08473 $\endgroup$
    – Tom Kelly
    Nov 22, 2018 at 15:16
  • $\begingroup$ If I remember correctly the phenograph paper shows that their algorithm is fairly robust for different (reasonable) values for k. $\endgroup$
    – Pallie
    Dec 10, 2018 at 9:10
  • $\begingroup$ @gc5 did you get the answer? I also want to know what is the best resolution ? As we can get more communities when we increase resolution and vice-versa. Thanks $\endgroup$ May 30, 2019 at 8:02
  • $\begingroup$ @KhalidUsman no satisfying answer so far. $\endgroup$
    – gc5
    May 30, 2019 at 14:37

2 Answers 2


A general rule of thumb is that in order to improve the variance $n$ times you need $n^2$ neighbours. This is only applicable if you consider the $n^2$ nearest neighbours of a cell to be biologically identical (i.e. "similar enough"); if your data includes 10 types of cells with 10 cells each, then using the 20 nearest neighbours for smoothing will obscure the data.

As far as I know, there is no single best answer to this question. I would suggest trying different numbers and sticking to what agrees more with the biology of the dataset.

  • 2
    $\begingroup$ Can you put some references on the rule of thumb you wrote? However, I ended up selecting progressive resolutions. Of note, different parts of a dataset may need different resolutions. Thanks. $\endgroup$
    – gc5
    Sep 10, 2018 at 15:04

I read a paper where the authors used different combinations of parameters to iteratively perform LSI until some criteria. Maybe a similar strategy can be applied to Louvain clustering as well?

The paper can be found here: https://www.nature.com/articles/s41587-019-0332-7. You can also check their code to see how they implemented it.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.