[BioC] Error in QAReport function of package affyQCReport
Robert Gentleman
rgentlem at fhcrc.org
Sun Jul 29 05:36:55 CEST 2007
Hi Mark,
Let's see if we cannot fix some of the problems and hopefully life
will get better.
Mark W Kimpel wrote:
> Seth and Robert,
>
> Looks like I may have more than one problem. To clarify one point first,
> in my original post I was using affy.batch.sub, which consisted of just
> some of the arrays from my affy.batch. To make sure I'm not having a
> problem with subsetting, in my subsequent posts I am using the affybatch
> object created just today with ReadAffy. No old versions here, just what
> comes out of my sessionInfo().
>
> As you can see below, there may be a problem with my boxplot method but
> also with the affybatch object. The latter is of class AffyBatch but is
> not a valid object.
>
> Thanks, Mark
>
> > class(affy.batch)
> [1] "AffyBatch"
> attr(,"package")
> [1] "affy"
>
> > require(affy)
> > showMethods("boxplot")
> Error in get(if (inherited) ".AllMTable" else ".MTable", envir = env) :
> variable ".AllMTable" was not found
there is something very odd about this - I have not seen it before,
but it suggests that you might need to do a clean re-install of R and
packages as something in the methods package (I think) is very confused.
Not good news, I know, but you should not have this problem. And just to
be sure this happens if you just start up R, load the affy library and
then issue the commands above? That is what you need to check.
Does this only happen for boxplot? What if you look at
showMethods(exprs) or something of that nature?
>
> Enter a frame number, or 0 to exit
>
> 1: showMethods("boxplot")
> 2: .showMethodsTable(getGeneric(f, where = where), includeDefs,
> inherited, cla
> 3: get(if (inherited) ".AllMTable" else ".MTable", envir = env)
>
>
> > validObject(affy.batch)
> Error in validObject(affy.batch) :
> invalid class "AffyBatch" object: sampleNames differ between assayData
> and phenoData
This is a bit easier to fix. Simply change the sampleNames on one of
the two structures to be the same as the others.
Basically this is saying that the column names for your expression
data do not agree with the row names of the phenotypic data. They might
be different, or they might be out of order. You should look at both
again using the AffyBatch example data:
colnames(exprs(affybatch.example))
rownames(pData(affybatch.example))
need to be the same. If they are not then you need to figure out why
not and fix them (maybe they are not in the same order, or one of them
might be missing).
I hope that helps
Robert
>
> Enter a frame number, or 0 to exit
>
> 1: validObject(affy.batch)
>
> > par(mfrow=c(2, 1))
> > ArrayIndex = as.character(1:length(sampleNames(affy.batch)))
> >
> boxplot(affy.batch,names=ArrayIndex,ylab="Log2(Intensity)",xlab="Array
> Index")
> Error in attr(groups, "names") <- names :
> 'names' attribute [80] must be the same length as the vector [1]
>
> Enter a frame number, or 0 to exit
>
> 1: boxplot(affy.batch, names = ArrayIndex, ylab = "Log2(Intensity)",
> xlab = "A
> 2: boxplot(affy.batch, names = ArrayIndex, ylab = "Log2(Intensity)",
> xlab = "A
> 3: boxplot.default(affy.batch, names = ArrayIndex, ylab =
> "Log2(Intensity)", x
>
> Selection:
>
> ---
>
> Mark W. Kimpel MD ** Neuroinformatics ** Dept. of Psychiatry
> Indiana University School of Medicine
>
> 15032 Hunter Court, Westfield, IN 46074
>
> (317) 490-5129 Work, & Mobile & VoiceMail
> (317) 663-0513 Home (no voice mail please)
>
> ******************************************************************
>
> Robert Gentleman wrote:
>> It looks to me like you are using a function named QCReport, not
>> QAReport (and indeed there is no such thing - you might look at
>> affyQAReport, which is in the same package but is very different).
>>
>> You can try to see what is happening by looking at the code from
>> signalDist:
>>
>> par(mfrow=c(2, 1))
>> ArrayIndex = as.character(1:length(sampleNames(object)))
>> boxplot(object,names=ArrayIndex,ylab="Log2(Intensity)",xlab="Array
>> Index")
>>
>>
>> where instead of object you use affy.batch.sub. The code looks pretty
>> straightforward, so I don't know what the problem might be. It is a
>> bit odd, it seems to me to use integers in place of the sample names...
>>
>> I used the affybatch.example and it worked for me.. ( one issue with
>> that was
>> Warning message:
>> In data.row.names(row.names, rowsi, i) :
>> some row.names duplicated:
>> 2,26,51,76,101,126,151,176,201,226,251,276,301,326,351,376,401,426,451,476,501,526,551,576,601,626,651,676,701,726,751,776,801,826,
>>
>> ....
>>
>> which we may need to look at).
>>
>> best wishes
>> Robert
>>
>>
>> Mark W Kimpel wrote:
>>> I am running into an error when I run QAReport on an affybatch
>>> object. Below is my sessionInfo and output. I am using the devel
>>> versions of R and BioC, all newly updated. Please advise.
>>>
>>> Thanks,
>>> Mark
>>>
>>> Browse[1]> sessionInfo()
>>> R version 2.6.0 Under development (unstable) (2007-06-30 r42095)
>>> i686-pc-linux-gnu
>>>
>>> locale:
>>> LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=en_US.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTIFICATION=C
>>>
>>>
>>> attached base packages:
>>> [1] grDevices datasets splines graphics stats tools utils
>>> [8] methods base
>>>
>>> other attached packages:
>>> [1] hgu95av2cdf_1.17.0 rat2302cdf_1.17.0 affyQCReport_1.15.2
>>> [4] geneplotter_1.15.2 lattice_0.16-2 RColorBrewer_1.0-1
>>> [7] affyPLM_1.13.6 affydata_1.11.2 simpleaffy_2.11.21
>>> [10] affycoretools_1.9.2 annaffy_1.9.1 xtable_1.4-6
>>> [13] gcrma_2.9.1 matchprobes_1.9.10 biomaRt_1.11.4
>>> [16] RCurl_0.8-1 XML_1.9-0 GOstats_2.3.8
>>> [19] Category_2.3.16 genefilter_1.15.3 survival_2.32
>>> [22] KEGG_1.17.0 RBGL_1.13.3 annotate_1.15.2
>>> [25] AnnotationDbi_0.0.83 RSQLite_0.6-0 DBI_0.2-3
>>> [28] GO_1.17.0 graph_1.15.10 limma_2.11.9
>>> [31] affy_1.15.7 preprocessCore_0.99.12 affyio_1.5.6
>>> [34] Biobase_1.15.21
>>>
>>> loaded via a namespace (and not attached):
>>> [1] cluster_1.11.7 grid_2.6.0 KernSmooth_2.22-20
>>>
>>> > affy.batch.sub
>>> AffyBatch object
>>> size of arrays=834x834 features (14 kb)
>>> cdf=Rat230_2 (31099 affyids)
>>> number of samples=16
>>> number of genes=31099
>>> annotation=rat2302
>>> notes=
>>> > QCReport(affy.batch.sub)
>>> Error in attr(groups, "names") <- names :
>>> 'names' attribute [16] must be the same length as the vector [1]
>>>
>>> Enter a frame number, or 0 to exit
>>>
>>> 1: QCReport(affy.batch.sub)
>>> 2: signalDist(object)
>>> 3: boxplot(object, names = ArrayIndex, ylab = "Log2(Intensity)", xlab
>>> = "Array
>>> 4: boxplot.default(object, names = ArrayIndex, ylab =
>>> "Log2(Intensity)", xlab
>>>
>>> Selection: 4
>>> Called from: eval(expr, envir, enclos)
>>> Browse[1]> ls()
>>> [1] "add" "args" "at" "border" "col"
>>> [6] "groups" "horizontal" "log" "n" "namedargs"
>>> [11] "names" "notch" "outline" "pars" "plot"
>>> [16] "range" "*tmp*" "varwidth" "width" "x"
>>> Browse[1]> names
>>> [1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12"
>>> "13" "14" "15"
>>> [16] "16"
>>> Browse[1]> names(group)
>>> NULL
>>> Browse[1]> names(groups)
>>> [1] ""
>>> Browse[1]> names(groups) <- names
>>> Error during wrapup: 'names' attribute [16] must be the same length
>>> as the vector [1]
>>> Browse[1]>
>>
>
--
Robert Gentleman, PhD
Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M2-B876
PO Box 19024
Seattle, Washington 98109-1024
206-667-7700
rgentlem at fhcrc.org
More information about the Bioconductor
mailing list