Hi all,
I am trying to normalize microarray data using the subtractmm method
using
the "affy" library.
The following is my R script:
set.seed(123)
library(affy)
Data <- ReadAffy()
eset<-expresso(Data,bgcorrect.method="rma",
normalize.method="quantiles",
pmcorrect.method="subtractmm",
summary.method="medianpolish")
write.exprs(eset,file="subtractmm_data.txt")
During the normalization, I encounter the following error message:
Error in if (converged) break : missing value where TRUE/FALSE needed
In addition: Warning message:
NaNs produced in: log(x, base)
...
The processed data is a grid of NA's.
Does anyone know what might be wrong here and what I could do to fix
it?
Thanks again for your help,
Chris
the problem is that the medianpolish summarization method takes a log2
transformation of the data. if you use subtractmm there is the
possibility of gettting negatives. Perhaps you want to use
pmcorrect.method="mas"
which will used a modified version of MM. This will not give you the
same problem of NA.
On Wed, 2004-04-21 at 13:49, PARK,CHRISTOPHER CHANGSUN wrote:
> Hi all,
>
> I am trying to normalize microarray data using the subtractmm method
using
> the "affy" library.
>
> The following is my R script:
>
> set.seed(123)
> library(affy)
> Data <- ReadAffy()
> eset<-expresso(Data,bgcorrect.method="rma",
> normalize.method="quantiles",
> pmcorrect.method="subtractmm",
> summary.method="medianpolish")
> write.exprs(eset,file="subtractmm_data.txt")
>
> During the normalization, I encounter the following error message:
>
> Error in if (converged) break : missing value where TRUE/FALSE
needed
> In addition: Warning message:
> NaNs produced in: log(x, base)
> ...
>
> The processed data is a grid of NA's.
>
> Does anyone know what might be wrong here and what I could do to fix
it?
>
> Thanks again for your help,
> Chris
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor@stat.math.ethz.ch
> https://www.stat.math.ethz.ch/mailman/listinfo/bioconductor
--
Ben Bolstad <bolstad@stat.berkeley.edu>
http://www.stat.berkeley.edu/~bolstad
I'm wondering whether a problem with Ben's suggestion might be that in
expresso, the pmcorrect step is applied after background correction
(and
normalization), and the RMA bg correction is applied to the PM
intensities only. So, as far as I understand, by choosing
pmcorrect.method
other than "pmonly" together with "bgcorrect.method="rma", one would
subtract not-bgcorrected MM intensities from bgcorrected PM
intensities.
> Date: Wed, 21 Apr 2004 13:55:12 -0700
> From: Ben Bolstad <bolstad@stat.berkeley.edu>
> Subject: Re: [BioC] subtractmm problem in "affy"
> To: "PARK,CHRISTOPHER CHANGSUN" <ccpark@ucla.edu>
> Cc: bioconductor@stat.math.ethz.ch
> Message-ID: <1082580912.1635.56.camel@bmbbox.dyndns.org>
> Content-Type: text/plain
>
> the problem is that the medianpolish summarization method takes a
log2
> transformation of the data. if you use subtractmm there is the
> possibility of gettting negatives. Perhaps you want to use
>
> pmcorrect.method="mas"
>
> which will used a modified version of MM. This will not give you the
> same problem of NA.
>
>
> On Wed, 2004-04-21 at 13:49, PARK,CHRISTOPHER CHANGSUN wrote:
> > Hi all,
> >
> > I am trying to normalize microarray data using the subtractmm
method using
> > the "affy" library.
> >
> > The following is my R script:
> >
> > set.seed(123)
> > library(affy)
> > Data <- ReadAffy()
> > eset<-expresso(Data,bgcorrect.method="rma",
> > normalize.method="quantiles",
> > pmcorrect.method="subtractmm",
> > summary.method="medianpolish")
> > write.exprs(eset,file="subtractmm_data.txt")
> >
> > During the normalization, I encounter the following error message:
> >
> > Error in if (converged) break : missing value where TRUE/FALSE
needed
> > In addition: Warning message:
> > NaNs produced in: log(x, base)
> > ...
> >
> > The processed data is a grid of NA's.
> >
Best,
Anja
--
Dr. Anja von Heydebreck
Department of Bio- and Chemoinformatics
Merck KGaA
64271 Darmstadt, Germany
Phone: ++49-6151-723235
Fax: ++49-6151-723329
anja.von.heydebreck@merck.de
Yes you are correct. if you read the
"affy: built in processing methods"
vignette, it is clearly spelled out in section 6 that "It is
important
to note that not every preprocessing method can be combined together.
In
particular the rma backgrounds adjust only PM probe intensities and so
they should only be used in conjunction with the pmonly PM
correction."
It would be trivial for someone to modify their local bg.correct.rma
to
handle MM probes. Say something like:
bg.correct.rma <- function(object, ...){
pm(object) <- apply(pm(object),2,bg.adjust)
mm(object) <- apply(mm(object),2,bg.adjust)
return(object)
}
or you could use
bgcorrect.method="none"
in the expresso() call
On Thu, 2004-04-22 at 02:40, Anja von Heydebreck wrote:
> I'm wondering whether a problem with Ben's suggestion might be that
in
> expresso, the pmcorrect step is applied after background correction
(and
> normalization), and the RMA bg correction is applied to the PM
> intensities only. So, as far as I understand, by choosing
pmcorrect.method
> other than "pmonly" together with "bgcorrect.method="rma", one would
> subtract not-bgcorrected MM intensities from bgcorrected PM
intensities.
>
> > Date: Wed, 21 Apr 2004 13:55:12 -0700
> > From: Ben Bolstad <bolstad@stat.berkeley.edu>
> > Subject: Re: [BioC] subtractmm problem in "affy"
> > To: "PARK,CHRISTOPHER CHANGSUN" <ccpark@ucla.edu>
> > Cc: bioconductor@stat.math.ethz.ch
> > Message-ID: <1082580912.1635.56.camel@bmbbox.dyndns.org>
> > Content-Type: text/plain
> >
> > the problem is that the medianpolish summarization method takes a
log2
> > transformation of the data. if you use subtractmm there is the
> > possibility of gettting negatives. Perhaps you want to use
> >
> > pmcorrect.method="mas"
> >
> > which will used a modified version of MM. This will not give you
the
> > same problem of NA.
> >
> >
> > On Wed, 2004-04-21 at 13:49, PARK,CHRISTOPHER CHANGSUN wrote:
> > > Hi all,
> > >
> > > I am trying to normalize microarray data using the subtractmm
method using
> > > the "affy" library.
> > >
> > > The following is my R script:
> > >
> > > set.seed(123)
> > > library(affy)
> > > Data <- ReadAffy()
> > > eset<-expresso(Data,bgcorrect.method="rma",
> > > normalize.method="quantiles",
> > > pmcorrect.method="subtractmm",
> > > summary.method="medianpolish")
> > > write.exprs(eset,file="subtractmm_data.txt")
> > >
> > > During the normalization, I encounter the following error
message:
> > >
> > > Error in if (converged) break : missing value where TRUE/FALSE
needed
> > > In addition: Warning message:
> > > NaNs produced in: log(x, base)
> > > ...
> > >
> > > The processed data is a grid of NA's.
> > >
>
> Best,
> Anja
>
> --
> Dr. Anja von Heydebreck
> Department of Bio- and Chemoinformatics
> Merck KGaA
> 64271 Darmstadt, Germany
> Phone: ++49-6151-723235
> Fax: ++49-6151-723329
> anja.von.heydebreck@merck.de
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor@stat.math.ethz.ch
> https://www.stat.math.ethz.ch/mailman/listinfo/bioconductor
--
Ben Bolstad <bolstad@stat.berkeley.edu>
http://www.stat.berkeley.edu/~bolstad