Can someone recommend a more sophisticated way to annotate heatmaps than the
ColSideColors argument of heatmap and heatmap.2? In particular, I would
like to be able to annotate columns with more than one piece of information,
like in Figure 1 of the article at
http://www3.interscience.wiley.com/cgi-bin/fulltext/117905619/HTMLSTART /
doi:10.1002/hep.22256.
Some example data and a heatmap:
set.seed(1)
y <- matrix(rnorm(100),nrow=20,ncol=5)
colnames(x) <- LETTERS[1:5]
rownames(x) <- paste("r",1:20,sep="")
set.seed(1)
annotation <-
matrix(sample(c("+","-"),15,replace=TRUE),ncol=5)
colnames(annotation) <- colnames(x)
rownames(annotation) <- paste("annotation",1:3)
heatmap(x,Rowv=NA,
ColSideColors=sapply(annotation[1,],function(x)
switch(x,"+"="red","-"="blue")))
This heatmap annotates the columns by the first of the three annotations
with a colored bar along the top of the heatmap, but ideally I would like to
put all three annotations on the heatmap by putting three rows of +/- values
between the top of the heatmap and the dendrogram, or even three colored
bars. Specific or general suggestions would be welcome.
Thank you,
Levi
--
Levi Waldron
post-doctoral fellow
Jurisica Lab, Ontario Cancer Institute
Division of Signaling Biology
IBM Life Sciences Discovery Centre
TMDT 9-304D
101 College Street
Toronto, Ontario M5G 1L7
[[alternative HTML version deleted]]