Return Heatmap row order from ComplexHeatmap heatmap object
Source:R/jamba-heatmap-order.R
heatmap_row_order.Rd
Return Heatmap row order from ComplexHeatmap heatmap object
Arguments
- hm
Heatmap
orHeatmapList
object as defined by the Bioconductor package viaComplexHeatmap::Heatmap()
.- which_heatmap
integer
, default NULL, used when the input is aHeatmapList
with multiple heatmaps.
Value
output depends upon the heatmap:
When heatmap rows are grouped using
row_split
, and when the data matrix contains rownames, returns acharacter
vector of rownames in the order they appear in the heatmap. When there are no rownames,integer
row index values are returned. If the heatmap has row labels, they are returned as vector names.When rows are grouped using
row_split
, it returns alist
of vectors as described above. Thelist
is named using therow_title
labels only when there is an equal number of row labels.
Details
This function is a helpful utility to return the fully
qualified list of rownames in a ComplexHeatmap::Heatmap
object.
The core intention is for the output to be usable with the
original data matrix used in the heatmap. Therefore, the
vector values are rownames()
when present, or integer
row index values when there are no rownames()
. If heatmap
row_labels
are defined, they are returned as names()
.
Note that names()
are assigned inside try()
to allow the
case where row_labels
, or row_title
labels cannot be
coerced to character
values, for example using gridtext
for markdown formatting.
Final note: It is best practice to draw the heatmap first
with ComplexHeatmap::draw()
then store the output in a new
object. This step creates the definitive clustering and
therefore the row order is absolutely final, not subject
to potential randomness during clustering.
See also
Other jam heatmap functions:
cell_fun_label()
,
heatmap_column_order()