Question: Which package for gene expression correlation analysis
0
9.4 years ago by
Naomi Altman6.0k
Naomi Altman6.0k wrote:
When you do thousands of correlations with only 4 samples, you can expect a lot of very high correlations just by chance. So, you should filter your genes by some criterion of "interestingness" before performing correlation analysis. --Naomi At 12:02 PM 6/28/2010, Steve Lianoglou wrote: >Hi, > >On Mon, Jun 28, 2010 at 10:53 AM, Yuan Hao <yuan.hao at="" cantab.net=""> wrote: > > Dear List, > > > > I would like to ask if there is such a bioconductor package available that > > can help to achieve the following purpose. Thank you very much in advance! > > > > I got 16 Affy chips corresponding to 4 samples: wild-type treated, > > wide-type untreated, knocked-down treated, and knocked-down untreated, > > i.e. 4 replicates for each sample. > > > > I want to look at the expression correlations between genes. Say, my gene > > of interest is gene X. I would like to find out other genes on the chip > > which have the similar expression profiles with gene X across samples. In > > other words, if expression levels of gene X increased from wild- type > > treated to knocked-out treated, I would like to find all the other genes > > have the same trend. > >Given the size of the bioconductor universe, it's hard to say with any >certainty that a certain function does NOT exist, but I'd be somehow >surprised if this function actually is there, since it's relatively >easy for you to implement yourself. > >You are essentially repeatedly performing a test against each row of >your expression matrix, so think "loops" or some incantation of *apply >methods. > >Here's an easy one. Let's assume: > * exprs is a (gene x experiment) matrix with your expression value. > * the value x holds the row index of the gene you are interested > >R> set.seed(123) >R> exprs <- matrix(rnorm(100), 5) >R> x <- 1 > >Now you want to test the correlation of the vector @ x with the rest. > >R> cors <- apply(exprs[-x,], 1, cor.test, exprs[x,]) > >This gives you a list of correlation tests that you can (i) get the >statistic out of; and (ii) order > >R> cors.estimate <- sapply(cors, '[[', 'estimate') ## (i) >R> alike <- order(cors.estimate, decreasing=TRUE) ## (ii) > >alike now has the indices of genes that are "most + correlated" to >"most - correlated" to gene "x" > >+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > >If you're a bit more familiar with R functions, you might have known >the there is function named "cor" that creates a correlation matrix >out of matrix. This function works column-wise, so you first have to >transpose your matrix: > >R> all.cors <- cor(t(exprs)) > >R> cors.estimate > cor cor cor cor >-0.01971735 -0.26353249 0.03361119 -0.11578081 > >R> all.cors[1,] >[1] 1.00000000 -0.01971735 -0.26353249 0.03361119 -0.11578081 > >++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > >The various cluster/heatmap fucntions do correlation based clustering >by default (I believe), which will group your genes row-wise (and >column wise) for you. >Look at ?heatmap and check what that function returns to you in the >"Value" section. > >-steve > >-- >Steve Lianoglou >Graduate Student: Computational Systems Biology > | Memorial Sloan-Kettering Cancer Center > | Weill Medical College of Cornell University >Contact Info: http://cbio.mskcc.org/~lianos/contact > >_______________________________________________ >Bioconductor mailing list >Bioconductor at stat.math.ethz.ch >https://stat.ethz.ch/mailman/listinfo/bioconductor >Search the archives: >http://news.gmane.org/gmane.science.biology.informatics.conductor Naomi S. Altman 814-865-3791 (voice) Associate Professor Dept. of Statistics 814-863-7114 (fax) Penn State University 814-865-1348 (Statistics) University Park, PA 16802-2111
cancer affy • 1.2k views