I am trying to process data from Affymetrix HT HG-U133+ PM Array Plate GSE27544 by using affy R package. I am interested to generate the expression values, present/absent calls and p-values. I am using the following code
# read file file <- ReadAffy(filenames = file.choose()) eset.mas5 = mas5(file) # generate expression values exprSet.nologs = exprs(eset.mas5) # calls data.mas5calls = mas5calls(file) data.mas5calls.calls = exprs(data.mas5calls) # print(head(data.mas5calls.calls)) # pvalues pvalue <- assayData(data.mas5calls)[["se.exprs"]] # print(head(pvalue)) data.full <- cbind(exprSet.nologs, data.mas5calls.calls, pvalue)
But it does not produce expression, which is supposed to done by
# generate expression values exprSet.nologs = exprs(eset.mas5)
It just gets NA values
head(exprSet.nologs) GSM680176.CEL 1007_PM_s_at NA 1053_PM_at NA 117_PM_at NA 121_PM_at NA 1255_PM_g_at NA 1294_PM_at NA
And when I try to generate calls by
# calls data.mas5calls = mas5calls(file)
I get Error in FUN(X[[i]], ...) : NA/NaN/Inf in foreign function call (arg 2)
Which is due to the above NA values. How can I process the data from the above mentioned array.
Thank you I got it by affy::rma(). And please ignore the above comment. Is it possible to get p-values?.
P-values of what? I assume you would like to compare two or more groups? Use the package
limma
for this (link), and 'feed' it the normalized data. Please be sure to carefully read the very extensive vignette (manual), since this document contains tons of examples/approaches on how to do this.Also, the workflow on the F1000 may be helpful. For that click here.
P-values of a sample like we do with
I am not interested to compare two or more groups (and I know that I can do with limma), But what I am interested is shown in the example code.
In order to calculate the MAS5-like detection calls (P, A, M), you will need the MM probes. Since you meanwhile know that these are lacking on this PM only array, how could you do this....?
Answer: you can't, so what you would like to do makes no sense....
The only alternative I know of that allows you to calculate a probability of expression (p-value) for PM only arrays is the Universal exPression Codes (UPC) algorithm available in the package
SCAN.UPC
(link). See?SCAN
and the related PNAS paper for more info.