[BioC] Question on afy/gcrma probe indexes

Rich Haney rhaney1 at nc.rr.com
Thu Apr 29 04:28:43 CEST 2004


Thanks very much for the notes.  Here is one simple way to reproduce what I
see:

-------------------------------------------------------------------
Library(gcrma);              [ Use the library 
H133 = ReadAffy();           [ Could my H133 data possibly be "old" ????? ]
Debug(bg.adjust.optical);    [ be able to step through one of the routines,
bg.adjust.optical]
Gcrma(H133);                 [ runs gcrma ]
...                          [ runs until it enters bg.adjust.optical. ]
N                            [ go to next line ]
Index[1]                     [ ask for data from the first probe]           
--------------------------------------------------------------------
*****It is entering Index[1] that gives the surprising answer I show on the
first note*** 

"Index[1]" gives data from "indexProbes".  Index[1] gives:

(1.) Probe       at:
     
     1007_s_at1  129340
  
Probe 1007_s_at1 is at (x,y) =(467,181) according to the CDF file I have.
Data from the actual CDF data is as follows:

[Unit1100_Block1]
Name=1007_s_at
...
CellHeader=X	Y	PROBE	FEAT	QUAL	EXPOS	POS	CBASE
PBASE	TBASE	ATOM	INDEX	CODONIND	CODON	REGIONTYPE
REGION
Cell1=467	181	N	control	1007_s_at	0	13	G
C	G	0	129339	-1	-1	99	
Cell2=467	182	N	control	1007_s_at	0	13	G
G	G	0	130051	-1	-1	99	
...

This CDF File is from
https://www.affymetrix.com/support/technical/libraryfilesmain.affx, using
the link for the 8th Catalog array, that is,
http://www.affymetrix.com/Auth/support/downloads/library_files/hgu133_librar
yfile.zip.

But, according to x2yi:

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

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


Simple answer(?)
---------------
So I think the simple answer is just that "x2yi" type indexing is not used
to get the data found in "indexProbes" and ( in bg.optical.correct ) index.


However, somehow(?) x2yi still can work to match up probe positions, as is
done in compute.affinities:

##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)  
  tmp.exprs=matrix(NA,nrow=max(cbind(pmIndex,mmIndex)),ncol=1)
  tmp.exprs[pmIndex[subIndex]]=apm
  if(!is.null(amm)){ tmp.exprs[mmIndex[subIndex]]=amm }
  exprs(affinity.info)=tmp.exprs
  return(affinity.info)

It is the "somehow(?) x2yi still can work" that I haven't yet seen the
answer to.

Best regards, Rich


-----Original Message-----
From: bioconductor-bounces at stat.math.ethz.ch
[mailto:bioconductor-bounces at stat.math.ethz.ch] On Behalf Of Wolfgang Huber
Sent: Wednesday, April 28, 2004 5:10 PM
Cc: rphaney at bigfoot.com; bioconductor at stat.math.ethz.ch
Subject: Re: [BioC] Question on afy/gcrma probe indexes

Hi Richard,

can you please provide details? An example for when a call to the these
functions produces a wrong result? So if you are right, we can repair them?

Note that these functions are really simple - e.g. for a hgu133plus2 chip,
they are

> xy2i
function (x, y)
{
     y * 1164 + x + 1
}

> i2xy
function (i)
{
     r = cbind((i - 1)%%1164, (i - 1)%/%1164)
     colnames(r) = c("x", "y")
     return(r)
}



Best wishes
  Wolfgang

Park, Richard wrote:
> Hello,
> 
> I have tried to access the x and y coordinates using xy2i() and i2xy()
functions. I would be very cautious about the values you get from these
functions. I tried creating a fake .cel file using these functions and the
result was never fully correct. 
> 
> I eventually had to download some library file from the affymetrix site
that had a full list of each x and y value for each probe set. I am unsure
where these files lie on the affymetrix site, since they have undergone a
significant revision of their site. But probably on average those functions
gave me 30-40 percent correct x and y positions. The only way I was able to
get a functional fake .cel file was to use the x and y positions given out
by affymetrix. 
> 
> hth,
> richard Park
>

_______________________________________________
Bioconductor mailing list
Bioconductor at stat.math.ethz.ch
https://www.stat.math.ethz.ch/mailman/listinfo/bioconductor



More information about the Bioconductor mailing list