heatmap.2 function and the scale option
1
0
Entering edit mode
john herbert ▴ 560
@john-herbert-4612
Last seen 10.2 years ago
Dear Bioconductors, I am using the the heatmap.2 function to plot out a heatmap of 130 genes from Q-PCR expression. If I plot them out scaling by row, I get a heatmap that looks a bit blotchy. However, if I scale by column, the heatmap looks a lot better. The clustering of samples is the same but I don't really know the theory behind why column scaling looks better than row scaling. Please can someone advise me on any theory behind this? The data is in a matrix, like microarray, with columns of different conditions and rows of genes. Thank you,
Microarray Clustering Microarray Clustering • 8.3k views
ADD COMMENT
0
Entering edit mode
Aleš Maver ▴ 80
@ales-maver-3556
Last seen 10.2 years ago
Hi! I think it depends on what information you have stored in rows and what in columns. It also depends what data you have stored in the matrix. For example, if your input values are deltaCt values (you mentioned you work on RT-PCR results), they may differ substantially across genes, which may cause your heatmap to look anomalous. If you look at an exemplar matrix with dCt values for three genes in rows (Gene1-Gene3) and ten samples in columns: mat<-matrix(c(rnorm(n=10, mean=5, sd=1), rnorm(n=10, mean=6, sd=1), rnorm(n=10, mean=15, sd=1)), ncol=10, byrow=T, dimnames=list(paste("Gene", c(1:3), sep=""), paste("Sample", c(1:10), sep=""))) Here the distributions of measured values differ substantially between genes (means 5,10 and 15). If you inspect the plot where scaling across columns is used: heatmap(mat, scale="column") you will notice Gene3 to be always more yellow in color than Gene1 or Gene2, as Gene3 values are always more than other two. However, using scaling across rows brings out the differences between samples - separately for each gene (row), as value range is calculated for each gene (row) seperately: heatmap(mat, scale="row") Hope this explains it, Ales 2011/10/3 john herbert <arraystruggles@gmail.com> > Dear Bioconductors, > I am using the the heatmap.2 function to plot out a heatmap of 130 > genes from Q-PCR expression. > > If I plot them out scaling by row, I get a heatmap that looks a bit > blotchy. > > However, if I scale by column, the heatmap looks a lot better. > > The clustering of samples is the same but I don't really know the > theory behind why column scaling looks better than row scaling. > > Please can someone advise me on any theory behind this? > > The data is in a matrix, like microarray, with columns of different > conditions and rows of genes. > > Thank you, > > _______________________________________________ > Bioconductor mailing list > Bioconductor@r-project.org > https://stat.ethz.ch/mailman/listinfo/bioconductor > Search the archives: > http://news.gmane.org/gmane.science.biology.informatics.conductor > -- Ales Maver, MD Institute of Medical Genetics, Department of Obstetrics and Gynaecology UMC Ljubljana ©lajmerjeva 3 SI-1000 Ljubljana Slovenia [[alternative HTML version deleted]]
ADD COMMENT
0
Entering edit mode
Dear Ales, Thank you for your reply. If I ask myself the same question, I can see there is a lot of variation between groups. So, although I have 12 subjects per group and hence significant biological replicates, I am only finding one or two significant deferentially expressed genes. So the variability is looking like the reason I don't get nice heatmaps. The information I have is like log2 fold change. So the the CT of a gene, minus the CT of the control gene and this value to log2 scale. I think it is similar to log 2 fold change like MA in microarray. 2011/10/5 Ale? Maver <ales.maver at="" gmail.com="">: > Hi! > I think it depends on what information you have stored in rows and what in > columns. It also depends what data you have stored in the matrix. > For example, if your input values are deltaCt values (you mentioned you work > on RT-PCR results), they may differ substantially across genes, which may > cause your heatmap to look anomalous. > > If you look at an exemplar matrix with dCt values for three genes in rows > (Gene1-Gene3) and ten samples in columns: > mat<-matrix(c(rnorm(n=10, mean=5, sd=1), > ??? ??? ??? rnorm(n=10, mean=6, sd=1), > ??? ??? ??? rnorm(n=10, mean=15, sd=1)), ncol=10, byrow=T, > dimnames=list(paste("Gene", c(1:3), sep=""), paste("Sample", c(1:10), > sep=""))) > > Here the distributions of measured values differ substantially between genes > (means 5,10 and 15). If you inspect the plot where scaling across columns is > used: > heatmap(mat, scale="column") > > you will notice Gene3 to be always more yellow in color than Gene1 or Gene2, > as Gene3 values are always more than other two. > > However, using scaling across rows brings out the differences between > samples? - separately for each gene (row), as value range is calculated for > each gene (row) seperately: > heatmap(mat, scale="row") > > Hope this explains it, > Ales > > 2011/10/3 john herbert <arraystruggles at="" gmail.com=""> >> >> Dear Bioconductors, >> I am using the the heatmap.2 function to plot out a heatmap of 130 >> genes from Q-PCR expression. >> >> If I plot them out scaling by row, I get a heatmap that looks a bit >> blotchy. >> >> However, if I scale by column, the heatmap looks a lot better. >> >> The clustering of samples is the same but I don't really know the >> theory behind why column scaling looks better than row scaling. >> >> Please can someone advise me on any theory behind this? >> >> The data is in a matrix, like microarray, with columns of different >> conditions and rows of genes. >> >> Thank you, >> >> _______________________________________________ >> Bioconductor mailing list >> Bioconductor at r-project.org >> https://stat.ethz.ch/mailman/listinfo/bioconductor >> Search the archives: >> http://news.gmane.org/gmane.science.biology.informatics.conductor > > > > -- > Ales Maver, MD > Institute of Medical Genetics, Department of Obstetrics and Gynaecology > UMC Ljubljana > ?lajmerjeva 3 > SI-1000 Ljubljana > Slovenia >
ADD REPLY

Login before adding your answer.

Traffic: 819 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6