[BioC] Problems with affycomp - quantile.default

James W. MacDonald jmacdon at med.umich.edu
Mon Aug 13 15:41:56 CEST 2007


Hi Markus,

There is an argument to read.table(), 'check.names', that is by default 
set to TRUE. This argument tells R that you want to ensure that all 
names are syntactically valid (and a name that starts with a number is 
not). You can get around that by adding check.names=FALSE to your call 
to read.AnnotatedDataFrame():

 > pd <- read.AnnotatedDataFrame("spikein_pdata.txt", header=TRUE, sep=" 
", row.names="filename", check.names=FALSE)
 > colnames(pData(pd))
  [1] "37777_at" "684_at"   "1597_at"  "38734_at" "39058_at" "36311_at"
  [7] "36889_at" "1024_at"  "36202_at" "36085_at" "40322_at" "407_at"
[13] "1091_at"  "1708_at"  "33818_at" "546_at"


Best,

Jim



Markus Schmidberger wrote:
> Hi Jim,
> 
> thanks a lot, now it works.
> But what is wrong by reading the phenodata-File
> 
>  > pd95<-read.AnnotatedDataFrame(filename="spikein_pdata.txt", 
> header=TRUE, row.names="filename", sep=" ")
> 
>  > colnames(pData(pd95))
> [1] "X37777_at" "X684_at"   "X1597_at"  "X38734_at" "X39058_at" "X36311_at"
> [7] "X36889_at" "X1024_at"  "X36202_at" "X36085_at" "X40322_at" 
> "X407_at" [13] "X1091_at"  "X1708_at"  "X33818_at" "X546_at"
> Attached the pdata-File from the affycompII website 
> (http://affycomp.biostat.jhsph.edu/)
> (set="\t" also does not work)
> 
> Thanks
> Markus
> 
> 
> James W. MacDonald schrieb:
>> Are you sure you have the correct phenoData? What do you get from
>>
>> colnames(pData(eset))?
>>
>> You should get this:
>>
>> > colnames(pData(eset))
>>  [1] "37777_at" "684_at"   "1597_at"  "38734_at" "39058_at" "36311_at"
>>  [7] "36889_at" "1024_at"  "36202_at" "36085_at" "40322_at" "407_at"
>> [13] "1091_at"  "1708_at"  "33818_at" "546_at"
>>
>> If you don't, you have the incorrect phenoData, and you should use
>>
>> pd <- as(data(spikein.phenodata), "AnnotatedDataFrame")
>>
>> Best,
>>
>> Jim
>>
>>
>>
>> Markus Schmidberger wrote:
>>> Hello,
>>>
>>> Phenodata do not help. I changed my code to this:
>>>
>>> library(affy)
>>> library(affycomp)
>>> pathRawData <- "~/Microarray/hgu95a-spikein/rawdata"
>>> pathPhenoData <- "~/Microarray/hgu95a-spikein/spikein_pdata.txt"
>>> celFile <- list.celfiles(path=pathRawData,full.names=TRUE);
>>> pd<-read.AnnotatedDataFrame(filename=pathPhenoData, header=TRUE, 
>>> row.names="filename", sep=" ")
>>> affyBatch <- ReadAffy(filenames=celFile, phenoData=pd);
>>> eset <- rma(affyBatch)
>>> assessFC(eset,method.name="RMA")
>>>
>>> and I still have the same error:
>>> Fehler in quantile.default(m[-spikeindex], prob = probs) :
>>>         missing values and NaN's not allowed if 'na.rm' is FALSE
>>>
>>> (same error with the hgu133 dataset)
>>>
>>> What I have to change?
>>>
>>> Thanks,
>>> Markus
>>>
>>> James MacDonald schrieb:
>>>> Hi Markus,
>>>>
>>>> Markus Schmidberger wrote:
>>>>> Hello,
>>>>>
>>>>> I want to do some comparison with affycomp and use the affycompII 
>>>>> data. This is my code
>>>>>
>>>>> library(affy)
>>>>> library("affycomp")
>>>>> path <- "/Microarray/hgu95a-spikein/rawdata"
>>>>> celFile <- list.celfiles(path=path,full.names=TRUE);
>>>>> affyBatch <- ReadAffy(filenames=celFile);
>>>>> eset1 <- rma(affyBatch)
>>>>> assessFC(eset1,method.name="RMA.2")
>>>>>
>>>>> and I get the ERROR:
>>>>> Fehler in quantile.default(m[-spikeindex], prob = probs) :
>>>>>         missing values and NaN's not allowed if 'na.rm' is FALSE
>>>> If you look at the code for assessFC(), you will see that the 
>>>> spikeindex comes from the phenoData slot of the ExpressionSet object 
>>>> (in particular the genenames column, which I assume lists the 
>>>> probesets that were spiked in). If you don't have this information 
>>>> in your phenoData slot, then assessFC() won't work, and I assume 
>>>> this to be true of the other assessXX() functions as well.
>>>>
>>>> The phenoData can be accessed using data(spikein.phenodata). 
>>>> Unfortunately this is an old-style phenoData object instead of an 
>>>> AnnotatedDataFrame, so you have to update first.
>>>>
>>>> pd <- data(spikein.phenodata)
>>>> pd <- as(pd, "AnnotatedDataFrame")
>>>> ## you will see warnings here that I think you can ignore
>>>> affyBatch <- ReadAffy(filenames=celFile, phenoData=pd)
>>>>
>>>> should get you going.
>>>>
>>>> Best,
>>>>
>>>> Jim
>>>>
>>>>
>>>>> How to fix this?
>>>>>
>>>>> R version 2.5.0 (2007-04-23)
>>>>> i686-pc-linux-gnu
>>>>> locale:
>>>>> LC_CTYPE=de_DE.UTF-8;LC_NUMERIC=C;LC_TIME=de_DE.UTF-8;LC_COLLATE=de_DE.UTF-8;LC_MONETARY=de_DE.UTF-8;LC_MESSAGES=de_DE.UTF-8;LC_PAPER=de_DE.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=de_DE.UTF-8;LC_IDENTIFICATION=C 
>>>>>
>>>>> attached base packages:
>>>>> [1] "tools"     "stats"     "graphics"  "grDevices" "utils"     
>>>>> "datasets"
>>>>> [7] "methods"   "base"    other attached packages:
>>>>> hgu95acdf  affycomp      affy    affyio   Biobase
>>>>>  "1.16.0"  "1.12.0"  "1.14.1"   "1.4.0"  "1.14.0"
>>>>>
>>>>> Thanks,
>>>>> Markus
>>>>>
>>>
>>>
>>
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor

-- 
James W. MacDonald, M.S.
Biostatistician
Affymetrix and cDNA Microarray Core
University of Michigan Cancer Center
1500 E. Medical Center Drive
7410 CCGC
Ann Arbor MI 48109
734-647-5623



More information about the Bioconductor mailing list