Sorry, are you asking how to make a heatmap, or how to make a better heatmap?
If you're just asking how to make a heatmap, then matrix2png is a good recommendation. However, it will crash on large datasets, unless you explicitly specify the numbers of rows and columns as numr and numc options, which enable it to set up the required memory ahead of time.
If you're asking how to make a better heatmap, then reducing the heatmap to general features is recommended. You could use R with the gplots library, which has a heatmap.2 routine that makes it easy to render clusters via row- and column-based dendrograms alongside the heatmap, e.g.,:
> library(gplots)
> m_table <- read.table("foo.txt", as.is=T, header=T, stringsAsFactors=T)
> m_matrix <- data.matrix(m_table)
> pdf("foo.pdf", height=30, width=5)
> hwsr <- heatmap.2(m_matrix, hclustfun=function(x) hclust(x, method="ward"), scale="row", cexCol=0.5, cexRow=0.075)
> dev.off()
Hi Alex, These genes are the smallest subset I could extract. If anyone has written a script/tool to plot large datasets then that will be helpful.