Clusters cells according to their copy number profile.
clusterCells(cnps, k=NA, h=NA, weights=NULL, minSegLength=1E6,
chrOrder=NULL, HFUN="ward.D2", crit="AIC",...)
List with three fields:
Segment-by-cell matrix of copy number states.
The clone membership of each cell (that is, columns in cnps).
An object of class hclust.
Segment-by-cell matrix of copy number states (output of segmentExpression2CopyNumber
).
Desired number of clusters (see also cutree
).
Threshold used to define clones from hierarchical clustering result. A subtree is defined as a clone if the maximum distance between its cell members is less than 100*\(h\)% of the genome.
Vector of weights assigning differential importance to segments (typically calculated based on segment lengths).
Minimum number of base pairs below which a segment is to be excluded when defining clones.
Specifies order in which chromosomes should be plotted.
Agglomeration method used to compute the hierarchical clustering (see also hclust
).
Criterion used to opimize number of clusters.
additional arguments passed on to heatmap.2
Noemi Andor
Let CNF be the matrix of copy number states per non-private segment per cell, with entries \((i, j)\) pointing to the copy number state of cell \(j\) at locus \(i\).
Pairwise distances between cells are calculated in Hamming space of their segmental copy number profiles (rows in CNF), weighted by segment length. Hierarchical clustering is used to build a tree of the cells from the distance matrix. A subtree is defined as a clone if the maximum distance between its cell members is less than a user-defined fraction of the genome (\(h\)).
Alternatively, if \(k\) is set, the tree is cut to obtain \(k\) clones.
If neither \(h\) nor \(k\) are set, Akaike information criterion is used to decide on anywhere between 1 and 30 clones.
Andor, N.*, Lau, B.*, Catalanotti, C., Kumar, V., Sathe, A., Belhocine, K., Wheeler, T., et al. (2018) Joint single cell DNA-Seq and RNA-Seq of gastric cancer reveals subclonal signatures of genomic instability and gene expression. doi: https://doi.org/10.1101/445932
data(cnps)
set.seed(3)
rcells = sample(colnames(cnps), 120)
outc = clusterCells(cnps[apply(cnps, 1, var)>0, rcells])
Run the code above in your browser using DataLab