[BioC] PLIER affinities redux
jeremy at gollub.net
Tue Oct 18 18:31:48 CEST 2005
Hi, James -
Thanks for clarifying that.
Looking at the source code for justPlier, it seems there's a misapprehension
about the probe affinity values - the justPlier code expects to get back
a value for each probe (note, not probe set) in each sample, whereas the
algorithm/C++ code actually returns a single value for each probe pair,
which is applied to all samples. I think the padding with many extra
zeros is done by justPlier, not by the C++ code...?
Crispin, unless I'm missing something, this should probably be considered
a bug. In the meantime, I should be able to deconvolute the matrix back
into the expected vector, but I'm not sure which probe pair to associate
with each value.
James W. MacDonald wrote:
> Hi Jeremy,
> Seems I misunderstood your earlier email. I somehow thought you were
> talking about expression values, not the affinities. I get the same sort
> of result for the affinities that you are reporting.
> However it doesn't appear to be a sparse matrix per se, but a matrix
> with a bunch of zeros padded on the end.
> > pset <- justPlier(dat, get.affinities = TRUE)
> > pset
> Expression Set (exprSet) with
> 54675 genes
> 10 samples
> phenoData object with 1 variables and 10 cases
> sample: arbitrary numbering
> > dim(pset at description@preprocessing$affinity)
>  604258 10
> > sum(rowSums(pset at description@preprocessing$affinity) != 0)
>  54676
> > a <- which(rowSums(pset at description@preprocessing$affinity) != 0)
> > range(a)
>  1 54676
> This is what I get with a HG-U133Plus_2 chip. It looks to me like there
> are indeed affinities for each probeset (rather than each probe), but
> the vector of affinities that is output by the C++ code is padded with a
> bunch of zeros. Maybe the result is different for other chips?
> Anyway, this is probably a question for Crispin Miller, who maintains
> the package.
> Jeremy Gollub wrote:
> > Hi, All -
> > James MacDonald (I think) answered my previous posting, and I promptly
> > lost the message. Thanks, James, and apologies.
> > The issue at hand was strange and (I believe) incorrect reporting of
> > probe affinities from justPlier (plier package). At James' suggestion
> > I have update to R 2.2.0 and plier 1.2.0, but the affinities are still
> > coming back in a sparse <# probe pairs> X <# arrays> matrix, rather than
> > as a useful vector. The colnames of this matrix are the sampleNames from
> > the eset provided to justPlier; the rownames are the probeNames.
> > James, you said this doesn't happen to you. How do you retrieve the
> > affinities? Maybe I'm just looking at the wrong slot (see below).
> > Looking at the justPlier source code, though, I don't see any other
> > way to get them.
> > Also, does justPlier allow one to pass the affinities back to another
> > invocation of the method, rather than computing them from the current
> > data?
> > Thanks,
> > - Jeremy Gollub
> > The session (edited for readability):
> > # ---------------------------------------------------------------------
> > R version 2.2.0, 2005-10-06, i386-pc-mingw32
> > attached base packages:
> >  "tools" "methods" "stats" "graphics" "grDevices" "utils"
> >  "datasets" "base"
> > other attached packages:
> > rae230acdf plier affy Biobase qvalue
> > "1.10.0" "1.2.0" "1.8.1" "1.8.0" "1.4.0"
> >>data <- ReadAffy()
> > AffyBatch object
> > size of arrays=602x602 features (50972 kb)
> > cdf=RAE230A (15923 affyids)
> > number of samples=18
> > number of genes=15923
> > annotation=rae230a
> >>res <- justPlier(data, get.affinities = TRUE)
> >>dim(res at description@preprocessing$affinity)
> >  175477 18
> >>sum(res at description@preprocessing$affinity != 0)
> >  175407
> > # ----------------------------------------------------------------------
> James W. MacDonald
> Affymetrix and cDNA Microarray Core
> University of Michigan Cancer Center
> 1500 E. Medical Center Drive
> 7410 CCGC
> Ann Arbor MI 48109
> Bioconductor mailing list
> Bioconductor at stat.math.ethz.ch
jeremy at gollub.net
More information about the Bioconductor