[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