mergeClusters: Unsupervised cluster merging based on their observed overlap...

Description Usage Arguments Value Author(s) References See Also Examples

Description

The function uses contour density estimation as computed by the clusGPS function to merge significantly overlapping clusters in an unsupervised manner. In each step, clusters with highest overlap are merged, their individual density estimates are updated in a computational feasible manner, and the process continues until the maximum overlap between any given pair of clusters drops swiftly, as detected by the cpt.mean function in the changepoint package.

Usage

1
mergeClusters(clus, clus.method = "unweighted", cpt.method = "mean", logscale = TRUE, brake = rep(1, length(clus@clus)), plt = TRUE, mc.cores = 1)

Arguments

clus

A clusGPS object from which we want to merge clusters with a significant overlap when visualized on a chroGPS MDS map. This is quite useful when a clustering method (i.e. hierarchical clustering with average linkage) tends to return a high number of overlapping clusters.

clus.method

Currently only 'unweighted' method is supported, that is, cluster overlap is computed based on spatial location of contours, but the computed overlaps are not weighted for cluster size.

cpt.method

Use 'mean' for using cpt.mean function in changepoint package for computing overlap changepoint. Use 'var' for cpt.var. See specific function help for details.

logscale

Defaults to TRUE. Whether to use decimal or log scale values for computing overlap changepoint.

brake

(Optional). By default, the function returns the clusters from the optimal merging step as detected by the changepoint functions (brake=1). By using smaller values (0, -1, -2, ...) or bigger ones (2, 3, 4, ...) the algorithm can be forced to return the result from any previous or later merging step respectively.

plt

Set to TRUE to visualize maximum cluster overlap for each merging step and changepoint detection (optimal merging step).

mc.cores

Numbers of cores to use in parallel computation.

Value

A clusGPS object where significantly overlapping clusters are merged, highly improving visualization, cluster robustness and further study of the epigenetic configuration of the chroGPS map.

Author(s)

Oscar Reina.

References

Changepoint package from Killick et al, 2012.

See Also

See documentation for package changepoint, clusGPS for epigenetic cluster generation.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# Not run
# data(s2)
# # Computing distances
# d <- distGPS(s2.tab,metric='tanimoto',uniqueRows=TRUE)
# # Creating MDS object
# mds1 <- mds(d,type='isoMDS')
# mds1
# plot(mds1)
# Precomputing clustering
# h <- hclust(as.dist(d@d),method='average')
# # Calculating densities (contours and probabilities), takes a while
# clus <- clusGPS(d,mds1,preMerge=TRUE,k=300) # Generating a high number of clusters
# clus <- mergeClusters(clus)

chroGPS documentation built on Oct. 31, 2019, 4:52 a.m.