cluster cells using a NN-network and the Leiden community detection algorithm

doLeidenCluster(
gobject,
name = "leiden_clus",
nn_network_to_use = "sNN",
network_name = "sNN.pca",
python_path = NULL,
resolution = 1,
weight_col = "weight",
partition_type = c("RBConfigurationVertexPartition", "ModularityVertexPartition"),
init_membership = NULL,
n_iterations = 1000,
return_gobject = TRUE,
set_seed = T,
seed_number = 1234
)

## Arguments

gobject giotto object name for cluster type of NN network to use (kNN vs sNN) name of NN network to use specify specific path to python if required resolution weight column to use for edges The type of partition to use for optimisation. initial membership of cells for the partition number of interations to run the Leiden algorithm. If the number of iterations is negative, the Leiden algorithm is run until an iteration in which there was no improvement. boolean: return giotto object (default = TRUE) set seed number for seed

## Value

giotto object with new clusters appended to cell metadata

## Details

This function is a wrapper for the Leiden algorithm implemented in python, which can detect communities in graphs of millions of nodes (cells), as long as they can fit in memory. See the https://github.com/vtraag/leidenalgleidenalg github page or the https://leidenalg.readthedocs.io/en/stable/index.htmlreadthedocs page for more information.

Partition types available and information:

• RBConfigurationVertexPartition: Implements Reichardt and Bornholdt’s Potts model with a configuration null model. This quality function is well-defined only for positive edge weights. This quality function uses a linear resolution parameter.

• ModularityVertexPartition: Implements modularity. This quality function is well-defined only for positive edge weights. It does not use the resolution parameter

Set weight_col = NULL to give equal weight (=1) to each edge.