This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Plot heatmap using pheatmap library

I want to plot heatmap in pheatmap , i can make the plot but I have issues showing the names in the plot the gene ID or annotation , i read the manual but its confusing can anyone show me how to overcome this problem

GENE               Value1                   Value 2
DDX11L1        3.87765e-02          4.07321e-02
AL627309.2`   3.06198e-02     0.00000e+00
RP11-34P13.9 0.00000e+00  2.12375e-03
OR4F29          0.00000e+004         .84229e-05

This is my data ,small data set how i want to put the names of gene in my heatmap ....any help would be appreciated

r

Can you post your code for plotting heatmap? So that people here can check what is missing.

Well I just used it to plot the heatmap only containing the values column

"pheatmap(data.matrix(p1.matrix), cluster_rows=T,cluster_cols=T, scale="column", col=colors)"

this is my basic sample code its just i converted my data frame into data matrix excluding the gene name ..

2 answers

This works for me, including annotating names:

mat<-matrix(ncol=2,nrow=4)
mat[,1]<-c(0.0387765,0.0306198,0,0)
mat[,2]<-c(0.0407321,0,0.00212375,0.0000484229)
colnames(mat)<-c("Value1","Value2")
rownames(mat)<-c("DDX11L1","AL627309.2","RP11-34P13.9","OR4F29")
pheatmap(mat)

pheatmap uses row names to annotate, so I think the issue is your GENE column not being the row names. You could use this to make it row names and remove GENE column:

mat1<-mat
rownames(mat1)<-mat1[,1]
mat1<-mat1[,-1]

Good luck.

Thanks for the fast response I read the manual but it quite confusing .I will give it a try with my whole data set.

To add annotation, try the following code

If your columns can be made into two groups G1 and G2, ncol(G1)) is no of columns in Group1, ncol(G2)) is no of columns in Group2

annotation <- data.frame(type = factor(c(rep("GI",ncol(G1)),rep("G2",ncol(G2)))))

rownames(annotation) <- colnames(mat1)

cols <- c("red", "darkgreen")

names(cols) <- c("Group1", "Group2")

pheatmap(mat1,col=bluered(200), annotation = annotation, scale="none", border_color = "white", cluster_rows=TRUE, cluster_cols=TRUE,show_rownames = TRUE ,show_colnames = TRUE, fontsize_row=4)

so can you show me how i do it with my data set which I have given above ..since Im quite new to R and Im learning I have liitle idea about the factor function I read it what it does but I fail to apply it my data set ...show me how I do use you code in my data frame.Help would be greatly appreciated ..

Log in to answer this question.