1

我需要一些关于heatmap.2在 R 中生成热图的建议。我有一个用于生成热图的 15,616 行和 27 列的基因表达值矩阵。问题是我正在使用的代码正在创建热图,但由于矩阵大小很大,可视化效果不佳。那么你能给我建议如何从如此巨大的矩阵中获得合适的热图吗?我附上了我用来生成热图的命令和我收到的警告。如果有人可以帮助我调整尺寸以生成适当的热图,那就太好了。

color <- colorpanel(100,low="blue",mid="white",high="red")

heatmap.2(data4,Rowv="none",col=color,trace='none',
        density.info="none",scale="row",labRow=NULL,
        lmat=rbind( c(0, 3), c(2,1), c(0,4) ), lhei=c(1.5, 4, 2 ))

警告信息:

在 heatmap.2(data4, Rowv = "none", col = color, trace = "none", : Discrepancy: Rowv 是 FALSE,而 dendrogram 是 `column'。省略行树状图。

最好有关于正确可视化热图的建议,颜色键面板很小,图像在我的条件列上更明显,并且图像向右移动一点,因为当我生成它时它有点移动到左边。我无法上传热图的图像,因为我是论坛的新手并且没有该特权。在生成热图时,我无法判断矩阵的适当值。

4

2 回答 2

1

你的问题有点模糊,无法得到详细的答案,但是,这里有几件事可以帮助你:

  1. 颜色。通常,您希望该mid点为零。所以你可能想尝试类似的东西:

    breaks = c(seq(min(data4), 0, length.out=128), 
               seq(0, max(data4), length.out=128))
    heatmap.2(..., col=bluered(255), breaks=breaks,...)
    
  2. 你的矩阵太大了 - 让它更小。通常,热图中仅显示“差异表达的基因”。所以选择前 50 个左右的基因,并绘制它们。

于 2013-05-07T14:03:13.257 回答
0

恐怕我无法帮助您解决您的问题heatmap.2,因为我自己发现它在特定任务和数据集上表现不佳。

我建议看一下ComplexHeatmaps哪个可能更适合如此大量的数据。它还有大量关于如何使用它的支持文档,可以在此处找到

在撰写本文时,以下命令可以让您从GitHub获得最新版本,尽管Bioconductor上提供了稳定版本。

最近(您必须使用force = TRUE):

library(devtools)
install_github("jokergoo/ComplexHeatmap", force = TRUE)
library(ComplexHeatmap)

稳定的:

if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install("ComplexHeatmap", version = "3.8")

我知道被告知更改软件包不是最佳选择,但它是一个更全面的工具,并且在支持文件中得到了很好的解释。创作者jokergoo似乎也非常专心。此外,我不确定如何有效/轻松heatmap.2地强制显示我假设的 421,632 个数据单元。我刚刚切换到ComplexHeatmaps并发现它非常彻底。

我将在下面留下一些示例图像,以向您展示ComplexHeatmaps给定您似乎拥有的数据量的范围。

简单的热图示例(不必很华丽):

Simple_Heatmap_Example

复杂热图示例 (i):

Complex_Example(i)

复杂热图示例(ii):

Complex_Example_(ii)

于 2019-04-22T18:16:08.650 回答