differential expression analysis
2
0
Entering edit mode
7.0 years ago
au.rinki.bio ▴ 20

hello, i have pre-processed 9 set of microarray data belonging different subtype of ovarian cancer and trying to find out differentially expressed gene in each condition.for finding differentially expressed gene, i have filtered genes with p -value <0.05 and fold change 2. but problem is that there too large number of genes comming. example. 1500 genes are downregulated and 1768 genes upregulated. is this possible? The codes which i havve use for pre-processing and t- test calculate aregive below-

mydata <- ReadAffy() 
mydata
eset <- rma(mydata) 
exprSet <- exprs(eset)
pvalue.exprSet = apply(exprSet, 1, function(x){t.test(x[1:4], x[5:45]) $p.value}) 
Combine.exprset.pvalue = cbind(exprSet,pvalue.exprSet)
write.table(Combine.exprset.pvalue,"NormalizedValues.xls",sep="\t",col.names = NA)

Kindly give me solution,where is the problem ? thanking you.

microarray differential expression • 2.3k views
ADD COMMENT
0
Entering edit mode

Did you use adjusted p-values ? or nominal p-values prior multitesing correction ? You should use adjusted ones.

ADD REPLY
0
Entering edit mode

Why not use limma, which is standardised for these types of microarray analyses?

Even Devon mentions it here: A: affymetrix microarray gene expression analysis

ADD REPLY
1
Entering edit mode
7.0 years ago

A possible solution is to use adjusted pvalue instead of raw pvalue to account for multiple testing.

To illustrate this, imagine that there are 20 000 genes considered in your experiment. With a 5% pvalue cutoff, you accept to have 1000 false positives in your DEGs, which is bad. Instead, you could use FDR (false discovery rate) : with a 5% FDR cutoff, you accept to have 5% of your DEGs that are false positives. So if you end up with 1000 DEGs, only 50 should be false positives, which is much better.

ADD COMMENT
0
Entering edit mode

what is adjusted p-value i have no idea? how it can be calculate?

ADD REPLY
0
Entering edit mode

what is adjusted p-value i have no idea?

Then you should read about it. Search for "multiple testing correction" and "adjusted p-value".

how it can be calculate?

You can calculate it from a set of uncorrected p-value, see Piechota answerL

ADD REPLY
1
Entering edit mode
7.0 years ago

You should start with this paper by Storey & Tibshirani

Then update your code accordingly

fdrValue = p.adjust(pvalue.exprSet, method="fdr")

It is also important to know that you are mixing parametric and non-parametric statistical tests. In your case it is probably better to use only parametric t.test

t.test(x[1:4], x[5:45], var.equal = TRUE)
ADD COMMENT
0
Entering edit mode

when i am using code for t-test which are given below: pvalue.exprSet = apply(exprSet, 1, function(x){t.test(x[1:4], x[5:17],var.equal = true) $p.value}) the error occur which are mentioned below. Error in t.test.default(x[1:4], x[5:17], var.equal = true) : object 'true' not found Error during wrapup: cannot open the connection

ADD REPLY
2
Entering edit mode

its TRUE not true. So pvalue.exprSet = apply(exprSet, 1, function(x){t.test(x[1:4], x[5:17],var.equal = TRUE) $p.value})

ADD REPLY
1
Entering edit mode

I have edited my answer.

ADD REPLY

Login before adding your answer.

Traffic: 2221 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