Construct a simple heatmap.

plotHeatmap(object, ...)

plotCorrelationHeatmap(object, ...)

plotQuantileHeatmap(object, ...)

# S4 method for DESeqAnalysis
plotHeatmap(object, ...)

# S4 method for DESeqAnalysis
plotCorrelationHeatmap(object, ...)

# S4 method for DESeqAnalysis
plotQuantileHeatmap(object, ...)

Arguments

object

Object.

...

Additional arguments.

Value

pheatmap.

Note

Updated 2019-11-07.

Scaling

Here we're scaling simply by calculating the standard score (z-score).

  • mu: mean.

  • sigma: standard deviation.

  • x: raw score (e.g. count matrix).

  • z: standard score (z-score).

z = (x - mu) / sigma

See also:

  • pheatmap:::scale_rows().

  • scale() for additional scaling approaches.

Hierarchical clustering

Row- and column-wise hierarchical clustering is performed when clusterRows and/or clusterCols are set to TRUE. Internally, this calls hclust(), and defaults to the Ward method.

Automatic hierarchical clustering of rows and/or columns can error for some datasets. When this occurs, you'll likely see this error:

Error in hclust(d, method = method) :
NA/NaN/Inf in foreign function call

In this case, either set clusterRows and/or clusterCols to FALSE, or you can attempt to pass an hclust object to these arguments. This is recommended as an alternate approach to be used with pheatmap(), which is called internally by our plotting code. Here's how this can be accomplished:

mat <- assay(mat)
dist <- dist(mat)
hclust <- hclust(dist, method = "ward.D2")

See also

Examples

data(deseq) ## DESeqAnalysis ==== plotHeatmap(deseq)
#> Using DESeqTransform varianceStabilizingTransformation counts.
#> Scaling matrix per row (z-score).
#> Performing hierarchical clustering. #> Using 'stats::hclust(method = "ward.D2")'.
#> Arranging rows using 'hclust()'.
#> Warning: 'hclust()' row calculation failed. Skipping.
#> Arranging columns using 'hclust()'.
plotCorrelationHeatmap(deseq)
#> Using DESeqTransform varianceStabilizingTransformation counts.
#> Calculating correlation matrix using 'pearson' method.
plotQuantileHeatmap(deseq)
#> Using DESeqTransform varianceStabilizingTransformation counts.