[BioC] plotMA

Gordon Smyth smyth at wehi.EDU.AU
Thu May 10 01:28:42 CEST 2007


Dear Lev,

You've broken the code by sort of over-programming with

   lmFit(log2(exp(exprs(temp))), design)

If you used the simpler

   lmFit(temp, design)

it would all work.

The problem is that you're giving lmFit a matrix not an expression 
object, hence lmFit doesn't know whether the data are log-ratios or 
log-intensities, hence it can't compute the Amean values, hence it 
can't make an MA-plot. There's been some discussion about this topic 
on this list.

Best wishes
Gordon

PS. Please give sessionInfo() when you make a post. I'm guessing here 
that you're not using the current Bioconductor release.

At 01:45 AM 10/05/2007, Lev Soinov wrote:
>Dear List,
>
>Could you shed some light on what this mistake might mean:
> > plotMA(fit2, array=1)
>Error in xy.coords(x, y, xlabel, ylabel, log) :
>         'x' and 'y' lengths differ
>In addition: Warning messages:
>1: is.na() applied to non-(list or vector) in: is.na(x)
>2: no non-missing arguments to min; returning Inf
>3: no non-missing arguments to max; returning -Inf
>
>My scripts are below.
>With kind regards,
>Lev.
>
>
>
> > signals[1:2,1:2]
>        SIGNAL1 SIGNAL2
>1                        761.96                        825.94
>2                      16059.83                      15860.98
> > print (nrow (signals))
>[1] 11691
> > print (ncol (signals))
>[1] 20
> > temp<-vsn(signals)
>vsn: 11691 x 20 matrix (1 stratum). 100% done.
> >
> >
> > design <- model.matrix(~0 
> +factor(c(1,1,1,1,2,1,2,2,2,2,3,3,3,3,4,4,4,4,4,3)))
> > colnames(design) <- c("group1", "group2", "group3", "group4")
> > contrast.matrix <- makeContrasts(group2-group1, group3-group1, 
> group4-group1, group4-group2, group4-group3, group3-group2, levels=design)
> > fit <- lmFit(log2(exp(exprs(temp))), design)
> > fit2 <- contrasts.fit(fit, contrast.matrix)
> > fit2 <- eBayes(fit2)



More information about the Bioconductor mailing list