How to process Affymetrix HT HG-U133+ PM Array Plate
1
0
Entering edit mode
@agaz-hussain-wani-7620
Last seen 3.2 years ago
India

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.

 

affy affymetrix microarrays preprocessing • 897 views
ADD COMMENT
1
Entering edit mode
Guido Hooiveld ★ 3.0k
@guido-hooiveld-2020
Last seen 1 day ago
Wageningen University, Wageningen, the …

Please familiarize yourselves a little with the design of the Affymetrix arrays. The design of the HG-U133+ PM array differs from the 'original'  HG-U133 Plus 2.0 array at two points, of which this is the relevant one: "Only perfect match (PM) probes from the cartridge design were retained, while mismatch probes were removed." Source. As a consequence, the P/A calls and MAS5 normalization cannot be performed (because for these the MM probes are also required).

How to proceed? I would go for RMA normalization (which has been repeatedly shown to outperform  MAS5 normalization anyway). Obtaining a P/A (like-)call for the probesets on this array is (AFAIK) not possible.

ADD COMMENT
0
Entering edit mode
Thank you for your comment. But when I do that using RMA

file <-  ReadAffy(filenames = file.choose())
rma(file) 
I get an error Error in (function (classes, fdef, mtable)  :  unable to find an inherited method for function ‘rma’ for signature ‘"AffyBatch"’
ADD REPLY
0
Entering edit mode

Thank you I got it by affy::rma(). And please ignore the above comment. Is it possible to get p-values?.

ADD REPLY
0
Entering edit mode

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.

ADD REPLY
0
Entering edit mode

P-values of a sample like we do with

pvalue <- assayData(data.mas5calls)[["se.exprs"]]

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.

ADD REPLY
0
Entering edit mode

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.

ADD REPLY

Login before adding your answer.

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