This is a test version of Biostars. For the public version, visit https://www.biostars.org.
P-value calculation for gene expression data

Hi,

I am trying to calculate p-values in excel from microarray gene expression fold change values. Below is the example of my data. In the example row3 and 4 are data obtained by calculating ratio. In row5 and 6 I have converted these values into fold change i.e., if a value is 0.793 then it will be -1.25 but if the value is 1.25 then it will be 1.25. (using a formula =IF(A3>=1,A3,-1/A3) .

Next when I am trying to calculate p-value ("=TTEST(A1:J1,K1:T1,2,1)") I am getting different p-value for same gene. For example in row3 and row5 is the same gene but the p-value is different. One is significant and other is not. My question is which method is correct? Is it correct to change ratio values into fold and then calculate p-values or I should calculate p-values from ratio value only?

Thanks for your help.

Row1        A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   "=TTEST(A1:J1,K1:T1,2,1)"
Row2    genes   POST    POST    POST    POST    POST    POST    POST    POST    POST    POST    PRE PRE PRE PRE PRE PRE PRE PRE PRE PRE P-value
Row3    MIR200A 0.793903549 1.041297812 0.935881628 1.259302622 1.018066956 1.405006135 0.830455204 1.075470025 1.067827835 1.147513785 1.048014049 1.098519176 1.365454977 1.252943807 1.052584341 1.141137949 1.01583548  1.088913998 1.248712552 1.075903947 0.211796283
Row4    ACTRT2  0.768022    0.860582443 1.037630064 0.969008653 0.971323718 1.032467218 0.80152065  0.906789601 1.054415209 1.02758982  1.352438848 1.540969723 1.321062539 1.375975107 0.926210536 1.19926436  1.284087942 0.732445988 1.010349674 1.772633979 0.01479599
Row5    MIR200A -1.259598854    1.041297812 -1.068511199    1.259302622 1.018066956 1.405006135 -1.204158871    1.075470025 1.067827835 1.147513785 1.048014049 1.098519176 1.365454977 1.252943807 1.052584341 1.141137949 1.01583548  1.088913998 1.248712552 1.075903947 0.085649884
Row6    ACTRT2  -1.302046036    -1.16200372 1.037630064 -1.031982529    -1.029522889    1.032467218 -1.247628493    -1.10279165 1.054415209 1.02758982  1.352438848 1.540969723 1.321062539 1.375975107 -1.079668133    1.19926436  1.284087942 -1.365288386    1.010349674 1.772633979 0.02295461
gene expression p-value ratio

You shouldn't calculate p-values in excel at all! A t-test in excel is not suitable for microarray analysis. Try to use limma in R, there is a very good user's guide for this package and it is statistical sound (ttest from excel not).

"You shouldn't calculate p-values in excel at all! A t-test in excel is not suitable for microarray analysis." Why? If you could please explain.

Because for microarrays it is better not to use a t-test but use eBayes moderated t-statistics which is not available in excel, but is available in R limma.

I agree - definitely do not use excel! You might consider using CLC workbench if you don't know how to use R.

2 answers

hi,

Kindly make use of R if you have programming knowledge or make use of Chipster which is very good for microarray data analysis. You can avail trail version for 1 month time in chipster

This code will work to get the p-values. Where you want to calculate p -values between Samples 1 to 5 as one category vs Samples 6 to 10 as another category.(dat here represents expression values)

pv.list <- apply(dat,1, function(x) tryCatch( 
  t.test(x[1:5],x[6:10],paired=TRUE)$p.value, error=function(x) NA ))

Do not use directly a t-test for microarray. Use limma as adviced above

Log in to answer this question.