Search
Question: heatmap.2 function and the scale option
0
7.2 years ago by
john herbert560
john herbert560 wrote:
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,
modified 7.2 years ago by Aleš Maver80 • written 7.2 years ago by john herbert560
0
7.2 years ago by
Aleš Maver80
Aleš Maver80 wrote:
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]]
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 >

Content
Help
Access

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