Hi,
I hope someone can help me out.
I am using Bioconductor and limma to examine my microarrat data. What
I
am trying to do is eliminate any spots that have an NA between arrays
before applying the design matrix in limma and applying the eBayes
function. Even after I have done this elimination process and have
checked it, by having a look at the M values of the top genes in the
topTable list, some of the genes still have an NA value for one array,
but designated M values for the rest of the arrays in the group.
This is what I am typing into the workspace after normalisation and
scalenormalisation:
A.object<-maA(objectscalenormalisation)
M.object<-maM(objectscalenormalisation)
Library(limma)
a<-is.na(M.object)
a<-apply(a,1,sum)
b[b==0]
which[b==0]
zero<-which(b==0)
x<-
list(A=maA(objectscalenormalisation)[zero,],M=maM(objectscalenormalisa
ti
on)[zero,]
x.lmFit<-lmFit(x,c(1,-1,1,-1))
x.lmFit.Bayes<-eBayes(x.lmFit)
plot(x.lmFit.Bayes$coef,x.lmFit.Bayes$lods)
topTable(x.lmFit.Bayes,n=100)
On Wednesday, July 7, 2004, at 04:15 PM, James Wettenhall wrote:
Why might this not be working ?
Michael.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/enriched
Size: 1195 bytes
Desc: not available
Url : https://www.stat.math.ethz.ch/pipermail/bioconductor/attachments
/20040709/99a9ec52/attachment.bin
I believe the main problem is that you switch your variable name from
a
to b without carrying anything over. Maybe something like this would
work?
a <-is.na(M.object)
zero <- apply(a,1,sum) == 0
Then continue on from there.
HTH,
Jim
James W. MacDonald
Affymetrix and cDNA Microarray Core
University of Michigan Cancer Center
1500 E. Medical Center Drive
7410 CCGC
Ann Arbor MI 48109
734-647-5623
>>> Michael Stapelberg <msberg@med.usyd.edu.au> 07/08/04 11:00PM >>>
Hi,
I hope someone can help me out.
I am using Bioconductor and limma to examine my microarrat data. What
I
am trying to do is eliminate any spots that have an NA between arrays
before applying the design matrix in limma and applying the eBayes
function. Even after I have done this elimination process and have
checked it, by having a look at the M values of the top genes in the
topTable list, some of the genes still have an NA value for one array,
but designated M values for the rest of the arrays in the group.
This is what I am typing into the workspace after normalisation and
scalenormalisation:
A.object<-maA(objectscalenormalisation)
M.object<-maM(objectscalenormalisation)
Library(limma)
a<-is.na(M.object)
a<-apply(a,1,sum)
b[b==0]
which[b==0]
zero<-which(b==0)
x<-
list(A=maA(objectscalenormalisation)[zero,],M=maM(objectscalenormalisa
ti
on)[zero,]
x.lmFit<-lmFit(x,c(1,-1,1,-1))
x.lmFit.Bayes<-eBayes(x.lmFit)
plot(x.lmFit.Bayes$coef,x.lmFit.Bayes$lods)
topTable(x.lmFit.Bayes,n=100)
On Wednesday, July 7, 2004, at 04:15 PM, James Wettenhall wrote:
Why might this not be working ?
Michael.
Hi Michael,
On Fri, 9 Jul 2004, Michael Stapelberg wrote:
> A.object<-maA(objectscalenormalisation)
> M.object<-maM(objectscalenormalisation)
You really need to explain what you did from the beginning. The
R commands you have presented begin with the functions maA() and
maM(). If they are from the "marray" package then you should
say that explicitly, i.e. you should say that you used:
library(marray)
> a<-is.na(M.object)
If you are worried about background-corrected red or green
intensities being negative and log ratios then being undefined
or in other words Not Available (NA), then this "problem" is
certainly not unique to your data set. The authors of the
marray and limma packages are well aware of this issue and
there are automatic methods to deal with this. You shouldn't
need to manually check for NAs for every data set.
I would suggest going through the examples in the limma and
marray documentation, and trying to apply the steps to your data
set as closely as possible. If you are using limma, you will
create an MAList object (the usual name given to this object is
"MA"). If you are using the marray package, you will instead
create an marrayNorm object (which contains M and A objects
after normalization, within an S4 object).
You seem to be creating M and A using a non-standard method (or
extracting them from an marrayNorm object unnecessarily), so
this makes it difficult for people to help you. If you want to
convert an marrayNorm object (from the marray package) into an
MAList object (for the limma package), in order to fit a linear
model, there are automatic coercion (conversion) functions to do
this in the convert pacakge, i.e. you don't need to extract M
and A manually.
To convert an marrayNorm object to an MAList object, you can do:
library(convert)
mnorm <- new("marrayNorm")
MA <- as(mnorm,"MAList")
Replace "mnorm" above with your object of class marrayNorm.
Regards,
James