Produces a heatmap as a grid grob.
Usage
plot_heatmap(
  y,
  cluster_samples = FALSE,
  cluster_features = TRUE,
  sample_labels = NULL,
  feature_labels = NULL,
  baseline = NULL,
  baseline_label = "row\nmean",
  scale_label = "difference from\nrow mean",
  n = Inf,
  baseline_to = NULL,
  scale_to = NULL,
  show_baseline = TRUE,
  show_tree = TRUE
)Arguments
- y
- A matrix of expression levels, such as a transformed counts matrix as produced by - varistran::vst.
- cluster_samples
- Should samples (columns) be clustered? 
- cluster_features
- Should features (rows) be clustered? 
- sample_labels
- Names for each sample. If not given and y has column names, these will be used instead. 
- feature_labels
- Names for each feature. If not given and y has row names, these will be used instead. 
- baseline
- Baseline level for each row, to be subtracted when drawing the heatmap colors. If omitted, the row mean will be used. Specify - baseline=0to not subtract anything and not show a baseline bar graph.
- baseline_label
- Text description of what the baseline is. 
- scale_label
- Text description of what the heatmap colors represent (after baseline is subtracted). 
- n
- Show only this many rows. Rows are selected in order of greatest span of expression level. 
- baseline_to
- If provided, the scale for the row means or baseline will include this value or these values. Use this if there is some meaningful "zero" for your data. 
- scale_to
- If provided, the heatmap color scale will include this value. Use this to provide consistency of scales between heatmaps (note values larger than scale_to will cause the scale to be extended). 
- show_baseline
- Show baseline barplot? 
- show_tree
- Show dendrogram tree(s)? These dendrograms arguably over-interpret the data without adding much of values, so it may be better to hide them. 
Value
A grid grob. print()-ing this value will cause it to be displayed.
Additionally $info$row_order will contain row ordering and $info$col_order will contain column ordering.
Details
This heatmap differs from other heatmaps in R in the method of clustering used:
1. The distances used are cosine distances (i.e. the magnitude of log fold changes is not important, only the pattern).
2. hclust() is used to produce a clustering, as normal.
3. Branches in the hierarchical clustering are flipped to minimize sharp changes between neighbours, using the seriation package's OLO (Optimal Leaf Ordering) method.
