We usually create heatmaps of hierachically clustered microarray data in MeV (multi-experiment viewer, part of the TM4 package). MeV might have its shortcomings, but it produces the nicest heatmap figures I have seen so far, allowing arbitrary sizes, different color schemes and additional class-indicator bars.
We are now facing the problem to generate these figures semi-automatically. Unfortunately, there doesn't seem to be an easy way to script MeV, e.g. via the command line or using script files. It might be possible to access the functionally via Java, but this is beyond our capabilities.
Apart from heatmap display, we are doing everything else using R/bioconductor. The obvious way to go would be to automatize heatmap display in R, which is of course perfectly scriptable. However, I haven't seen an R module that comes even close the heatmap capabilities of Mev. This might be due to my poor grasp on R, but I am not able to 1) create big heatmaps beyond a few thousand pixels, 2) speficy a font size and have a heatmap of a suitable size created from that information - it is always necessary to specify the size of the output frame. Ideally, I would like to get a png file with a fixed font/element size, whose canvas size depends on the number of experiments and genes - without any auto-scaling, and 3) to create more than one colored indicator line that gives information on the class assignment of the genes/experiments.
It would be great if anybody could give a recommendation on either how to script MeV without having to learn Java or which R module to use for generating suitable heatmaps complete with tree and class-indicator lines.
Hi, don't know if you're still looking for a solution, but you might want to glance at: http://slcview.sourceforge.net/ This was a project I worked on a while back and was trying to solve exactly the problem you're posting about. I'm not working on it much any more but could help orient you if you need to make modifications to code. The primary thing that it won't do is indicator lines, unfortunately, but that could be done partially with another coded line in the heatmap matrix. Not an ideal situation though, I agree. But the other things - large heatmaps, font sizes and faces, control over scaling - it already does.