Cluster a set of neurons

Share:

Description

Given an nblast all by all score matrix (which may be specified by a package default) and/or a vector of neuron identifiers use hclust to carry out a hierarchical clustering. The default value of the distfun argument will handle square distance matrices and R dist objects.

Usage

1
2
nhclust(neuron_names, method = "ward", scoremat = NULL, distfun = as.dist,
  ..., maxneurons = 4000)

Arguments

neuron_names

character vector of neuron identifiers.

method

clustering method (default Ward's).

scoremat

score matrix to use (see sub_score_mat for details of default).

distfun

function to convert distance matrix returned by sub_dist_mat into R dist object (default= as.dist).

...

additional parameters passed to hclust.

maxneurons

set this to a sensible value to avoid loading huge (order N^2) distances directly into memory.

Value

An object of class hclust which describes the tree produced by the clustering process.

See Also

hclust, dist

Other scoremats: sub_dist_mat

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
library(nat)
kcscores=nblast_allbyall(kcs20)
hckcs=nhclust(scoremat=kcscores)
# divide hclust object into 3 groups
library(dendroextras)
dkcs=colour_clusters(hckcs, k=3)
# change dendrogram labels to neuron type, extracting this information
# from type column in the metadata data.frame attached to kcs20 neuronlist
labels(dkcs)=with(kcs20[labels(dkcs)], type)
plot(dkcs)
# 3d plot of neurons in those clusters (with matching colours)
open3d()
plot3d(hckcs, k=3, db=kcs20)
# names of neurons in 3 groups
subset(hckcs, k=3)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.