Thanks Marcus ! Appreciate it -Rich




On Mar 17, 2012, at 5:31 PM, Marcus Davy <mdavy86@gmail.com> wrote:

> When you run avereps() on an MAList you are calling
> 
> avereps.MAList <-
> function (x, ID = NULL)
> {
>     if (is.null(ID)) {
>         ID <- x$genes$ID
>         if (is.null(ID))
>             ID <- rownames(x)
>         if (is.null(ID))
>             stop("Cannot find probe IDs")
>     }
>     y <- x
>     y$M <- avereps(x$M, ID = ID)
>     y$A <- avereps(x$A, ID = ID)
>     other <- names(x$other)
>     for (a in other) y$other[[a]] <- avereps(x$other[[a]], ID = ID)
>     y$weights <- avereps(x$weights, ID = ID)
>     y$genes <- x$genes[!duplicated(ID), ]
>     y$printer <- NULL
>     y
> }
> <environment: namespace:limma>
> 
> If you transform from a MAList to a RGList with RG.MA
> 
>  RG.MA
> function (object)
> {
>     object$R <- 2^(object$A + object$M/2)
>     object$G <- 2^(object$A - object$M/2)
>     object$M <- NULL
>     object$A <- NULL
>     new("RGList", unclass(object))
> }
> <environment: namespace:limma>
> 
> The RG intensities in your case are normalized and back transformed.
> 
> The dyes are;
> Cy3 => Green dye
> Cy5 => Red dye.
> 
> Your expression on the first 12 probes is effectively calculating M
> 
> log2(E2.avg_RG$R[,1:12]/E2.avg_RG$G[,1:12])
>  
> or
> 
> log2(E2.avg_RG$R[,1:12]) - log2(E2.avg_RG$G[,1:12])
> 
> where M = log2(R) - log2(G)
> 
> You could verify this with a sanity check, something like;
> 
> Cy5Cy3_RvsG  <- log2(E2.avg_RG$R[,1:12]/E2.avg_RG$G[,1:12])
> identical(E2.avg$M[1:12,]  , Cy5Cy3_RvsG)
> 
> 
> Marcus
> 
> 
> On Sun, Mar 18, 2012 at 11:19 AM, Richard Green <greener@uw.edu> wrote:
> If I load and normalize some two channel arrays
> 
> library(limma)
> 
> setwd("/vol04/microarray/vineet_study/run_data2")
> 
> files <- dir(pattern="*.txt")
> 
> RG <- read.maimages(files=dir(),source="agilent",
> columns=list(G="gMeanSignal",Gb="gBGMedianSignal",R="rMeanSignal",Rb="rBGMedianSignal"),
> annotation = c("Row", "Col","FeatureNum", "GeneName",
> "ControlType","ProbeName"))
> 
> targets <- readTargets("/vol04/microarray/vineet_study/targets.txt")
> 
> RG<- backgroundCorrect(RG, method="none")
> 
> MA <- normalizeWithinArrays(RG, method="loess")
> 
> E2.avg <- avereps(MA, ID=MA$genes$ProbeName)
> 
> and I want to generate ratios of Cy5/Cy3 and Cy3/Cy5
> 
> I could convert my MA back to and RG
> 
> E2.avg_RG <- RG.MA(E2.avg)
> 
> if I do that it will create two unlogged channels again.
> 
> question 1 are the intensities still normalized? which channel is Cy3 and
> Cy5?
> 
> Would the following generate a log ratio of my normalized data(for the
> first 12 samples)?
> 
> Cy5Cy3_RvsG  <- log2(E2.avg_RG$R[,1:12]/E2.avg_RG$G[,1:12])
> 
> Any advice folks have is appreciated.
> 
> Thanks
> 
> -Rich
> 
>        [[alternative HTML version deleted]]
> 
> _______________________________________________
> Bioconductor mailing list
> Bioconductor@r-project.org
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
> 

	[[alternative HTML version deleted]]

