Register new clustering methods

register_clustering_methods(...)

Arguments

...

A named list of clustering functions, see Details.

Details

The user-defined functions should accept at least one argument which is the input matrix. The second optional argument should always be ... so that parameters for the clustering function can be passed by control argument from cluster_terms, simplifyGO or simplifyEnrichment. If users forget to add ..., it is added internally.

Please note, the user-defined function should automatically identify the optimized number of clusters.

The function should return a vector of cluster labels. Internally it is converted to numeric labels.

Value

No value is returned.

Examples

register_clustering_methods(
  # assume there are 5 groups
  random = function(mat, ...) sample(5, nrow(mat), replace = TRUE)
)
all_clustering_methods()
#>  [1] "binary_cut"     "kmeans"         "pam"            "dynamicTreeCut"
#>  [5] "mclust"         "apcluster"      "hdbscan"        "fast_greedy"   
#>  [9] "louvain"        "walktrap"       "MCL"            "random"        
remove_clustering_methods("random")