# [BioC] Question on afy/gcrma probe indexes

Rich Haney rhaney1 at nc.rr.com
Tue Apr 27 23:39:28 CEST 2004

I am using gcrma with the HG-133A dataset.  When I ask for the location (
index ) of the first probe I get:

(1.) Probe = 1007_s_at1

Index = 129340    [ The probe is at (x,y) =(467,181) ]

As I understand it, the probe position is found using the affy routine
'xy2i'.  There, the logic for finding a position from x and y is 0-based for
y and 1-based for x.  So:

(2.) Index = x + nrows * ( y - 1 )    with nrows = 712 and, as above, x=467
and y=181

Index = 467 + 712 * ( 181 - 1 )
= 128627 ( that is, 712 + 1 less than answer given above, 129340
).

So the question is, in affy, is the Index of probes stored with 1-based (
not 0-based ) y- coordinates, while xy2i assumes 0-based coordinates?

----------------------------------------------------------------------------
-

Notes:

(a.) I believe that this is why my background adjustment is then not
correct:

Index <- unlist(indexProbes(abatch,"both"))

for(i in 1:length(abatch)){
if(verbose) cat(".")
exprs(abatch)[Index,i] <- exprs(abatch)[Index,i] -
min(exprs(abatch)[Index,i],na.rm=TRUE) + minimum
}

(b.) The probe index is created using the following lines of gcrma:

##put it in an affybatch
tmp <- get("xy2i",paste("package:",cdfpackagename,sep=""))
affinity.info <- new("AffyBatch",cdfName=cdfname)
pmIndex <-  unlist(indexProbes(affinity.info,"pm"))
mmIndex <-  unlist(indexProbes(affinity.info,"mm"))
subIndex <- match(tmp(p\$x,p\$y),pmIndex)