Entering edit mode
Dear Peter,
I have thought from time to time about adding single-channel
capability to limma and
read.maimages(). I haven't done it so far because I don't see this
sort of data in my own work,
so I have been unsure of the special needs here, and also undecided
about the data class to read
into. I guess it will happen when it is clear in my mind what needs
to be done.
As a work around, I think you have already figured that out. You
could for example use
read.maimages() with dummy values for R & Rb and then just ignore
them. With this approach you
would
1. Use read.maimages() with dummy arguments for R & Rb
2. Background correct as usual using backgroundCorrect()
3. Normalize the RG$G matrix using normalizeBetweenArrays()
4. Use log2(RG$G) as input to lmFit() etc.
You would be in much the same position as someone reading in a matrix
of expression values. See
my recent reply to Lance Palmer.
Best wishes
Gordon
On Mon, May 14, 2007 10:36 pm, Peter White wrote:
> Dear Gordon,
>
> No problem cc'ing the list. I did come up with a function to read
the flag
> data from Agilent and weight the elements accordingly. Also, I
worked out
> that the gProcessedSignal in their FE data is, in the case of single
color,
> just the gMeanSignal - gBGUsed. They use a spatial detrending model
to
> calculate the element background (it is based on the negative
control spots,
> as with their arrays the local background is not adding anything to
the
> signal).
>
> Thanks,
>
> Peter
>
> myFlagFun <- function(x) {
> #Weight only strongly positive spots 1, everything else 0
> present <- x$gIsPosAndSignif == 1
> probe <- x$ControlType == 0
> manual <- x$IsManualFlag == 0
> strong <- x$gIsWellAboveBG == 1
> y <- as.numeric(present & probe & manual & strong)
>
> #Weight weak spots 0.5
>
> weak <- strong == FALSE
> weak <- (present & probe & manual & weak)
> weak <- grep(TRUE,weak)
> y[weak] <- 0.5
>
> #Weight flagged spots 0.5
>
> sat <- x$gIsSaturated == 0
> xdr <- x$gIsLowPMTScaledUp == 0
> featureOL1 <- x$gIsFeatNonUnifOL == 0
> featureOL2 <- x$gIsFeatPopnOL == 0
> flagged <- (sat & xdr & featureOL1 & featureOL2)
> flagged <- grep(FALSE, flagged)
> good <- grep(TRUE, y==1)
> flagged <- intersect(flagged, good)
> y[flagged] <- 0.5
> y
> }
>
> G <- read.maimages(targets,
> columns = list(G = "gMeanSignal", Gb = "gBGUsed", R =
> "gProcessedSignal",
> Rb = "gBGMedianSignal"),
> annotation= c("Row", "Col", "FeatureNum", "ProbeUID",
> "ControlType",
> "ProbeName", "GeneName", "SystematicName"),
> wt.fun=myFlagFun)
>
> -----Original Message-----
> From: Gordon Smyth [mailto:smyth at wehi.EDU.AU]
> Sent: Saturday, May 12, 2007 5:35 AM
> To: pwhite at mail.med.upenn.edu
> Subject: Re: Agilent One-Color Data
>
> Dear Peter,
>
> Do you mind if I cc my reply to the Bioconductor mailing list?
>
> Best wishes
> Gordon
>
> At 01:27 AM 10/05/2007, Peter White wrote:
>>Dear Dr. Smyth,
>>
>>I've been using Limma for the past few years for
>>processing our two-color array data, and have
>>developed a number of scripts to automate our
>>routine analysis using the Limma software. We
>>have recently started to use more and more
>>Agilent arrays, which initially were causing us
>>some troubles (they include dark corners on
>>their arrays which seems to mess up the grid
>>dimensions). Although I am very dubious about
>>using a two-color platform to generate one-color
>>data, we have just done a single color
>>experiment with 16 arrays. I have been trying to
>>load the data into R but have realized that
>>Limma does not appear to yet be setup for
>>one-color Agilent arrays. Do you have any plans
>>to add this functionality and any tips on how I should proceed?
>>
>>Thanks again for all your work on developing and
>>maintaining - it is a critical component for our research.
>>
>>Best wishes,
>>
>>Peter
>>
>>P.S. Here was my work around for loading the data:
>>
>>G <- read.maimages(targets, columns = list(G = "gMeanSignal",
>> Gb = "gBGUsed", R = "gProcessedSignal", Rb =
> "gIsPosAndSignif"),
>> annotation= c("Row", "Col",
>> "FeatureNum", "ProbeUID", "ControlType",
>> "ProbeName", "GeneName", "SystematicName"))
>>
>>Peter White, Ph.D.
>>Technical Director
>>Functional Genomics Core
>>Department of Genetics
>>University of Pennsylvania
>>570 Clinical Research Building
>>415 Curie Boulevard
>>Philadelphia, PA 19104-6145