[BioC] problem with duplicateCorrelation and ExpressionSet objects
Jenny Drnevich
drnevich at uiuc.edu
Thu May 24 17:52:16 CEST 2007
Hi Gordon,
I'm still having the problem with duplicateCorrelation on an
ExpressionSet object, even though I upgraded to limma 2.10.4.
Additionally, the 'fix' of not having the Matrix package loaded
doesn't work either, unless there's a difference between never having
loaded the package and detaching the package... Am I doing something wrong?
Thanks,
Jenny
> gcrma.no1 <- gcrma(raw[,-1])
> detach(package:Matrix)
> corfit <-
duplicateCorrelation(gcrma.no1,design.no1,ndups=1,block=targets$pair[-1])
Error in as.vector(x, mode) : cannot coerce to vector
> sessionInfo()
R version 2.5.0 (2007-04-23)
i386-pc-mingw32
locale:
LC_COLLATE=English_United States.1252;LC_CTYPE=English_United
States.1252;LC_MONETARY=English_United
States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252
attached base packages:
[1] "splines" "tools" "stats" "graphics" "grDevices" "utils"
[7] "datasets" "methods" "base"
other attached packages:
bovineprobe bovinecdf affyQCReport geneplotter RColorBrewer
"1.16.0" "1.16.0" "1.14.0" "1.14.0" "0.2-3"
simpleaffy made4 scatterplot3d ade4 affyPLM
"2.10.11" "1.10.0" "0.3-24" "1.4-3" "1.12.0"
affydata affycoretools annaffy xtable gcrma
"1.11.2" "1.8.0" "1.8.1" "1.4-3" "2.8.1"
matchprobes biomaRt RCurl XML GOstats
"1.8.1" "1.10.0" "0.8-0" "1.7-1" "2.2.3"
Category lattice genefilter survival KEGG
"2.2.3" "0.15-4" "1.14.1" "2.31" "1.16.0"
RBGL annotate GO graph limma
"1.12.0" "1.14.1" "1.16.0" "1.14.1" "2.10.4"
affy affyio Biobase RWinEdt
"1.14.1" "1.4.0" "1.14.0" "1.7-5"
>
At 02:32 AM 5/18/2007, Gordon Smyth wrote:
>Hi Jenny,
>
>Well may you ask, how this could be. Just to make it more
>interesting, you'll find that the problem disappears if you don't
>have the Matrix package attached to your session.
>
>Thanks to Martin Morgan for correctly diagnosing the problem. The
>problem arises because (i) I forgot to declare the as.matrix method
>for ExpressionSet objects in the limma NAMESPACE and (ii) the Matrix
>package declares as.matrix to be an S4 generic causing a conflict with limma.
>
>I have corrected the limma NAMESPACE in limma 2.10.4 and 2.11.4.
>This means that you will be able to re-install limma soon from
>either the BioC release or devel branches and be protected from this
>error. In the meantime, just make sure that you don't have the
>Matrix package loaded when using duplicateCorrelation() or lmFit() in limma.
>
>Best wishes
>Gordon
>
>At 05:16 AM 18/05/2007, Jenny Drnevich wrote:
>>Hi Gordon,
>>
>>The gcrma.pres object from the previous example was created by
>>subsetting an object created by gcrma() on an AffyBatch object
>>(code below). I get the same error if I use the original
>>ExpressionSet object created by gcrma() and if I use an
>>ExpressionSet object created by rma(). I would assume that rma()
>>and gcrma() would output real ExpressionSet objects?!? Actually,
>>calling as.matrix() on any of my ExpressionSet objects works fine
>>on it's own, but somehow not within duplicateCorrelation (see code)
>>- how can this be?
>>
>>Thanks,
>>Jenny
>>
>>
>> > raw <- ReadAffy()
>>
>> > gcrma.all <- gcrma(raw)
>>
>> > gcrma.pres <- gcrma.all[num.pres>0,]
>>
>> > corfit <-
>> duplicateCorrelation(gcrma.pres,design,ndups=1,block=c(2,2,1,1,3,3))
>>Error in as.vector(x, mode) : cannot coerce to vector
>>
>> > corfit <-
>> duplicateCorrelation(gcrma.all,design,ndups=1,block=c(2,2,1,1,3,3))
>>Error in as.vector(x, mode) : cannot coerce to vector
>>
>> > rma.all <- rma(raw)
>>Background correcting
>>Normalizing
>>Calculating Expression
>>
>> > corfit <-
>> duplicateCorrelation(rma.all,design,ndups=1,block=c(2,2,1,1,3,3))
>>Error in as.vector(x, mode) : cannot coerce to vector
>>
>> > temp <- as.matrix(rma.all)
>> #this works fine, but somehow not in
>> duplicateCorrelation!!! From the debugger:
>>
>>Browse[1]> M <- as.matrix(object)
>>Error in as.vector(x, mode) : cannot coerce to vector
>>
>>
>> >class(raw)
>>[1] "AffyBatch"
>>attr(,"package")
>>[1] "affy"
>>
>> > class(gcrma.all)
>>[1] "ExpressionSet"
>>attr(,"package")
>>[1] "Biobase"
>>
>> > class(gcrma.pres)
>>[1] "ExpressionSet"
>>attr(,"package")
>>[1] "Biobase"
>>
>> > typeof(raw)
>>[1] "S4"
>>
>> > typeof(gcrma.all)
>>[1] "S4"
>>
>> > typeof(gcrma.pres)
>>[1] "S4"
>>
>>At 05:59 PM 5/16/2007, Gordon K Smyth wrote:
>>>Dear Jenny,
>>>
>>>limma already has an as.matrix method for ExpressionSet
>>>objects. I've just run the following code
>>>which demonstrates that duplicateCorrelation() does work on such objects:
>>>
>>> > library(Biobase)
>>> > library(limma)
>>> > x <- matrix(rnorm(50*4),50,4)
>>> > y <- new("ExpressionSet",exprs=x)
>>> > dupcor <- duplicateCorrelation(y,ndups=2)
>>> Loading required package: statmod
>>> > dupcor$consensus
>>> [1] -0.07112392
>>>
>>>I suspect that your data object is not actually an ExpressionSet
>>>object, although perhaps it is
>>>something which inherits from ExpressionSet. I can't tell from
>>>your code where you object has
>>>come from or what class it is.
>>>
>>>Because as.matrix() is an S3 generic, there is a problem with S4
>>>objects which inherit from
>>>ExpressionSet. Can you give more information about how your problem arises?
>>>
>>>Best wishes
>>>Gordon
>>>
>>>On Thu, May 17, 2007 5:15 am, Jenny Drnevich wrote:
>>> > Hi Gordon and others,
>>> >
>>> > I just tried calling duplicateCorrelation on an ExpressionSet object
>>> > with the newest versions of R, Bioconductor and limma (codes and
>>> > sessionInfo() below) and it won't work. I don't think the problem
>>> > lies with duplicateCorrelation() itself, rather that as.matrix() does
>>> > not work for ExpressionSet objects whereas it did work for exprSet
>>> > objects. The help file for duplicateCorrelation has this description
>>> > for the input object:
>>> >
>>> > "a numeric matrix of expression values, or any data object from which
>>> > as.matrix will extract a suitable matrix such as an
>>> >
>>> <mk:@MSITStore:C:\PROGRA~1\R\R-25~1.0\library\limma\chtml\limma.chm::/malist.html>MAList,
>>> > marrayNorm or exprSet object."
>>> >
>>> > The code and error:
>>> >
>>> > > corfit <-
>>> > duplicateCorrelation(gcrma.pres,design,ndups=1,block=c(2,2,1,1,3,3))
>>> > Error in as.vector(x, mode) : cannot coerce to vector
>>> >
>>> > From debugging duplicateCorrelation, the problem is in the very
>>> > first line of code:
>>> >
>>> > Browse[1]> M <- as.matrix(object)
>>> > Error in as.vector(x, mode) : cannot coerce to vector
>>> >
>>> >
>>> > If you don't intend as.matrix() to work for ExpressionSet objects,
>>> > then the code for duplicateCorrelation maybe should be changed. Of
>>> > course, the easy work-around is to pass exprs(gcrma.pres) to
>>> > duplicateCorrelation.
>>> >
>>> > Cheers,
>>> > Jenny
>>> >
>>> > > sessionInfo()
>>> > R version 2.5.0 (2007-04-23)
>>> > i386-pc-mingw32
>>> >
>>> > locale:
>>> > LC_COLLATE=English_United States.1252;LC_CTYPE=English_United
>>> > States.1252;LC_MONETARY=English_United
>>> > States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252
>>> >
>>> > attached base packages:
>>> > [1] "splines" "tools" "stats" "graphics" "grDevices" "utils"
>>> > [7] "datasets" "methods" "base"
>>> >
>>> > other attached packages:
>>> > hgu133plus2probe hgu133plus2cdf affyQCReport geneplotter
>>> > "1.16.0" "1.16.0" "1.14.0" "1.14.0"
>>> > RColorBrewer simpleaffy made4 scatterplot3d
>>> > "0.2-3" "2.10.11" "1.10.0" "0.3-24"
>>> > ade4 affyPLM affydata affycoretools
>>> > "1.4-3" "1.12.0" "1.11.2" "1.8.0"
>>> > annaffy xtable gcrma matchprobes
>>> > "1.8.1" "1.4-3" "2.8.0" "1.8.0"
>>> > biomaRt RCurl XML GOstats
>>> > "1.10.0" "0.8-0" "1.7-1" "2.2.1"
>>> > Category Matrix lattice genefilter
>>> > "2.2.2" "0.9975-11" "0.15-4" "1.14.1"
>>> > survival KEGG RBGL annotate
>>> > "2.31" "1.16.0" "1.12.0" "1.14.1"
>>> > GO graph limma affy
>>> > "1.16.0" "1.14.0" "2.10.0" "1.14.0"
>>> > affyio Biobase RWinEdt
>>> > "1.4.0" "1.14.0" "1.7-5"
>>> > >
>>> >
>>> >
>>> > Jenny Drnevich, Ph.D.
>>> >
>>> > Functional Genomics Bioinformatics Specialist
>>> > W.M. Keck Center for Comparative and Functional Genomics
>>> > Roy J. Carver Biotechnology Center
>>> > University of Illinois, Urbana-Champaign
>>> >
>>> > 330 ERML
>>> > 1201 W. Gregory Dr.
>>> > Urbana, IL 61801
>>> > USA
>>> >
>>> > ph: 217-244-7355
>>> > fax: 217-265-5066
>>> > e-mail: drnevich at uiuc.edu
>>
>>Jenny Drnevich, Ph.D.
>>
>>Functional Genomics Bioinformatics Specialist
>>W.M. Keck Center for Comparative and Functional Genomics
>>Roy J. Carver Biotechnology Center
>>University of Illinois, Urbana-Champaign
>>
>>330 ERML
>>1201 W. Gregory Dr.
>>Urbana, IL 61801
>>USA
>>
>>ph: 217-244-7355
>>fax: 217-265-5066
>>e-mail: drnevich at uiuc.edu
Jenny Drnevich, Ph.D.
Functional Genomics Bioinformatics Specialist
W.M. Keck Center for Comparative and Functional Genomics
Roy J. Carver Biotechnology Center
University of Illinois, Urbana-Champaign
330 ERML
1201 W. Gregory Dr.
Urbana, IL 61801
USA
ph: 217-244-7355
fax: 217-265-5066
e-mail: drnevich at uiuc.edu
More information about the Bioconductor
mailing list