Entering edit mode
Mikko Korpela
▴
10
@mikko-korpela-1573
Last seen 10.3 years ago
Hello!
There are some differences in the way the RMA background adjustment
formula is presented in different documents, and the way it's
implemented
in the affy package. I wonder what causes the differences, and whether
I
should be worried about the RMA values produced by affy.
The relevant part of the code, I think, is this (copy-paste from affy
1.9.6, same as in many previous versions of affy, at least in
affy-1.5.8):
---
void bg_adjust(double *PM,double *MM, double *param, int rows, int
cols,
int co$ int i;
double a;
for (i=0; i < rows; i++){
a = PM[column*rows + i] - param[1] - param[0]*param[2]*param[2];
PM[column*rows + i] = a + param[2] *
phi(a/param[2])/Phi(a/param[2]);
}
}
---
where the array "param" is as described by the following comment (also
copy-paste):
** note we will assume that param[0] is alpha, param[1] is mu,
param[2]
is sigma
The documents that do not agree with the above are builtinMethods.pdf
(documentation of the affy package) and
http://stat-
www.berkeley.edu/users/bolstad/stuff/AffyLowLevelWorkshop_Poster_20$
In particular, some terms are missing from both the numerator and the
denominator of the division operation in the affy implementation. The
documents also do not agree with each other...
Am I missing something simple here? I hope someone knows the right
formula for the background adjustment and the reason why the
implementation is different (it seems) from the documentation.
Thanks,
Mikko