[BioC] proposal to modify Limma read.maimages generic import

Gordon Smyth smyth at wehi.edu.au
Sun Oct 10 11:26:01 CEST 2004


In response to a number of requests, I've added a generic import facility 
to read.maimages() in limma.

I've added a new argument 'other.columns' to the read.maimages() function. 
This allows arbitrary columns from the image analysis output files to be 
read into the RGList data object. The columns will be assembled into data 
matrices in the 'other' component of the RGList.

The philosophy is this: RGList objects are now allowed to contain a 
component called 'other', which contains one more more matrices of other 
spot-specific information. Any matrix found in the 'other' component will 
be assumed to be conformal with the R and G matrices and will take part in 
any subsetting operations on the RGList.

Gordon

At 02:00 AM 22/07/2004, Peter Wilkinson wrote:
>This is a request for Gordon Smyth ...
>
>well, it seems that I have answered my own question "Limma read.maimages 
>generic import ".... I think:
>
>The following seems to import the weights just fine, if I am importing 
>from a file that contains only the data portion of the quantarray file.
>
>RG.test <- read.maimages("SEKH0406.data", columns=list(Rf="ch2 Intensity",
>  Gf="ch1 Intensity" , Rb ="ch2 Background" , Gb ="ch1 Background"), 
> wt.fun=wtIgnore.Filter)
>
>The was not immediately evident, since I was using a generic import, 
>however the wtIgnore.Filter function is:
>
> > wtIgnore.Filter
>function (qta)
>{
>     qta[, "Ignore Filter"]
>}
>
>and that seems to find the right column.
>
>So then I tried the following so that I could include a Garea = "ch1 Area" 
>in the column list, because I would like to include area information for 
>quality control. This DOES NOT work.
>
>I would like to propose that the function that handles the column input be 
>altered so that we can extract any column we wish from the quantarray file 
>with the read.maimages function:
>
>If the initialization of the RG object could initialize itself with the 
>arbitrary list that is supplied with the columns parameter, then we can 
>import whatever data we wish with the generic importer :)

>The reason is that I am exploring the use of other information from the 
>quantarray output that may help in refining quality weight assignments, 
>but I do not want the calculation to be done on import, as I want the data 
>available in R. I would have to import every time I wanted to apply a new 
>weight function, which would be taxing.
>
>I think that some of the relevant code portions for this modification are:
>
>#       Initialize RG list object
>         Y <- matrix(0,nspots,nslides)
>         colnames(Y) <- names
>         RG <- list(R=Y,G=Y,Rb=Y,Gb=Y)
>         if(!is.null(wt.fun)) RG$weights <- Y
>
>change RG assigment to reflect list in columns parameter
>
>
>#       Now read remainder of files
>         for (i in 1:nslides) {
>                 if(i > 1) {
>                         fullname <- slides[i]
>                         if(!is.null(path)) fullname <- 
> file.path(path,fullname)
>                         obj <- 
> read.table(fullname,skip=skip,header=TRUE,sep=sep,as.is=TRUE,quote=quote,check.names=FALSE,comment.char="",nrows=nspots,...)
>                 }
>                 RG$R[,i] <- obj[,columns$Rf]
>                 RG$G[,i] <- obj[,columns$Gf]
>                 RG$Rb[,i] <- obj[,columns$Rb]
>                 RG$Gb[,i] <- obj[,columns$Gb]
>                 if(!is.null(wt.fun)) RG$weights[,i] <- wt.fun(obj)
>                 if(verbose) cat(paste("Read",fullname,"\n"))
>         }
>         new("RGList",RG)
>}
>
>modify this portion in the same way.
>
>
>Would this be sensible? or does there exist another alternative.
>
>Peter
>
>
>
>At 09:25 AM 7/21/2004, you wrote:
>
>>Hello there,
>>
>>I have been pondering over the help files of    'read.maimages' from the 
>>limma package when it is used for generic import.
>>
>>I have data that I have extracted the data portion of the quantarray 
>>files, since alot of the file is just wasting space on the HD. Now I want 
>>to import but the data section just looks like a regular square tab 
>>delimited file. Is there a parameter (like for specifying which column is 
>>R and which is G etc) for specifying the ignore filter column so the 
>>ignore filter function can be used to generate the $weights matrix on import?
>>
>>I looked at the source code, and I did not see that this was the case, am 
>>I correct?
>>
>>Peter W.



More information about the Bioconductor mailing list