ssvSignalHeatmap.ClusterBars | R Documentation |
Compared to ssvSignalHeatmap, cluster_bars are displayed on the left once instead of for each facet
ssvSignalHeatmap.ClusterBars(
bw_data,
nclust = 6,
perform_clustering = c("auto", "yes", "no")[1],
row_ = "id",
column_ = "x",
fill_ = "y",
facet_ = "sample",
cluster_ = "cluster_id",
FUN_format_heatmap = NULL,
max_rows = 500,
max_cols = 100,
fill_limits = NULL,
clustering_col_min = -Inf,
clustering_col_max = Inf,
within_order_strategy = c("hclust", "sort")[2],
dcast_fill = NA,
return_data = FALSE,
return_unassembled_plots = FALSE,
rel_widths = c(1, 9),
rect_colors = c("black", "gray"),
text_colors = rev(rect_colors),
show_labels = TRUE,
label_angle = 0,
fun.aggregate = "mean",
...
)
bw_data |
a GRanges or data.table of bigwig signal. As returned from
|
nclust |
number of clusters |
perform_clustering |
should clustering be done? default is auto. auto considers if row_ has been ordered by being a factor and if cluster_ is a numeric. |
row_ |
variable name mapped to row, likely id or gene name for ngs data. Default is "id" and works with ssvFetch* output. |
column_ |
varaible mapped to column, likely bp position for ngs data. Default is "x" and works with ssvFetch* output. |
fill_ |
numeric variable to map to fill. Default is "y" and works with ssvFetch* output. |
facet_ |
variable name to facet horizontally by. Default is "sample" and works with ssvFetch* output. Set to "" if data is not facetted. |
cluster_ |
variable name to use for cluster info. Default is "cluster_id". |
FUN_format_heatmap |
optional function to modify main ggplot (labels, themes, scales, etc.). Take a ggplot and returns a ggplot. Default is NULL. |
max_rows |
for speed rows are sampled to 500 by default, use Inf to plot full data |
max_cols |
for speed columns are sampled to 100 by default, use Inf to plot full data |
fill_limits |
limits for fill legend. values will be cropped to this range if set. Default of NULL uses natural range of fill_. |
clustering_col_min |
numeric minimum for col range considered when clustering, default in -Inf |
clustering_col_max |
numeric maximum for col range considered when clustering, default in Inf |
within_order_strategy |
one of "hclust" or "sort". if hclust, hierarchical clustering will be used. if sort, a simple decreasing sort of rosSums. |
dcast_fill |
value to supply to dcast fill argument. default is NA. |
return_data |
logical. If TRUE, return value is no longer ggplot and is instead the data used to generate that plot. Default is FALSE. |
return_unassembled_plots |
logical. If TRUE, return list of heatmap and
cluster-bar ggplots. Can be customized and passed to
|
rel_widths |
numeric of length 2. Passed to cowplot::plot_grid. Default is c(1, 9). |
rect_colors |
colors of rectangle fill, repeat to match number of clusters. Default is c("black", "gray"). |
text_colors |
colors of text, repeat to match number of clusters. Default is reverse of rect_colors. |
show_labels |
logical, shoud rectangles be labelled with cluster identity. Default is TRUE. |
label_angle |
angle to add clusters labels at. Default is 0, which is horizontal. |
fun.aggregate |
Function to aggregate when multiple values present for facet_, row_, and column_. Affects both clustering and plotting. The function should accept a single vector argument or be a character string naming such a function. |
... |
addtional arguments passed to cowplot::plot_grid |
ggplot heatmap of signal profiles, facetted by sample
data(CTCF_in_10a_profiles_gr)
#the simplest use
ssvSignalHeatmap.ClusterBars(CTCF_in_10a_profiles_gr)
ssvSignalHeatmap.ClusterBars(CTCF_in_10a_profiles_gr, rel_widths = c(1, 5))
#clustering can be done manually beforehand
clust_dt = ssvSignalClustering(data.table::as.data.table(CTCF_in_10a_profiles_gr), nclust = 3)
ssvSignalHeatmap.ClusterBars(clust_dt)
# aggregation, when facet_ is shared by multiple samples
prof_gr = CTCF_in_10a_profiles_gr
prof_gr$mark = "CTCF"
ssvSignalHeatmap.ClusterBars(prof_gr, facet_ = "mark", fun.aggregate = mean)
ssvSignalHeatmap.ClusterBars(prof_gr, facet_ = "mark", fun.aggregate = "sum")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.