LIMMA No residual using rmaPLM
2
0
Entering edit mode
Ron Ophir ▴ 270
@ron-ophir-1010
Last seen 10.2 years ago
Thanks, Ben. I haven't seen your response probably due to problem in the way I send my e-mail or the way my e-mail address is subbmited to the server. Anyhow, what you mean that when lmFit identifies PLMset object it requires weights either from the PLMset object or by the users. And in the PLMset object that generated by rmaPLM does not supply weights. Is that so? Thanks, Ron II'd recommend that you use fitPLM rather than rmaPLM for these purposes.The reason why it is giving "reasonable results" in the first case andan error in the other case, is that it is using your user suppliedweights in the earlier situation and trying to derive some sensibleweights based on the PLM model fit. Unfortunately rmaPLM does not returnthe information that is used to construct these but fitPLM does.Ben On Mon, 2005-09-05 at 13:51 +0300, Ron Ophir wrote: > Hi > I am analyzing affymetrix data having the following experimental> design:> > analysis$design> Normal IOP IOPC > L91RAE230 2.CEL 0 1 0 > L92RAE230 2.CEL 0 1 0 > L93RAE230 2.CEL 0 0 1 > L94RAE230 2.CEL 0 0 1 > L95RAE230 2.CEL 1 0 0 > L96RAE230 2.CEL 1 0 0 > and following contrasts > > analysis$contrasts > IOPC.IOP IOPC.Normal IOP.Normal> Normal 0 -1 -1> IOP -1 0 1 > IOPC 1 1 0 > The preprocessing was done using affyPLM packge > analysis$data<-rmaPLM(analysis$raw)> where analysis$raw is AfyyBatch object. Then I fitted the the model> once with weighting matrix using AMP flags > fm<-as.matrix(analysis$Flags!="A") > analysis$fit<-lmFit(analysis$data,analysis$design,w=matrix(as.numeric( fm),dim(fm)[1],dim(fm)[2],dimnames=dimnames(fm)))> and got a reasonable results and once without this matrix. What was> surprising is that fitting without the weighting matrix I got the > following error message: > > analysis$bayes<-eBayes(analysis$contrasts.fit)> Error in ebayes(fit = fit, proportion = proportion, stdev.coef.lim = > stdev.coef.lim) : > No residual degrees of freedom in linear model fits> I've checked the fit coeffecient matrix (analyis$fit object) and is all NA. > Does someone have an idea why? I did not applied any weighting matrix> for this fitting. > Thanks > Ron > > > > > [[alternative HTML version deleted]] > > _______________________________________________ > Bioconductor mailing list> Bioconductor at stat.math.ethz.ch> https://stat.ethz.ch/mailman/listinfo/bioconductor
Preprocessing affyPLM Preprocessing affyPLM • 1.3k views
ADD COMMENT
0
Entering edit mode
Ben Bolstad ★ 1.1k
@ben-bolstad-93
Last seen 10.2 years ago
Indeed, lmFit when it identifies a PLMset object tries to derive weights using the se.chip.coef slot of the PLMset object. By default rmaPLM does not return these but fitPLM would. Looking back through your previous code it appears as though what you were trying to do is compare situations where you gave absent probesets 0 weight and everything else a weight of 1 with a situation where everything is unweighted (ie essentially equal weights). You could carry out this second situation by supplying a matrix of ones as your weights if supplying a PLMset object or alternatively carryout RMA using rma() and supply the resultant exprSet without weights to lmFit. Ben On Tue, 6 Sep 2005, Ron Ophir wrote: > Thanks, Ben. I haven't seen your response probably due to problem in the > way I send my e-mail or the way my e-mail address is subbmited to the > server. Anyhow, what you mean that when lmFit identifies PLMset object > it requires weights either from the PLMset object or by the users. And > in the PLMset object that generated by rmaPLM does not supply weights. > Is that so? > Thanks, > Ron > > II'd recommend that you use fitPLM rather than rmaPLM for these > purposes.The reason why it is giving "reasonable results" in the first > case andan error in the other case, is that it is using your user > suppliedweights in the earlier situation and trying to derive some > sensibleweights based on the PLM model fit. Unfortunately rmaPLM does > not returnthe information that is used to construct these but fitPLM > does.Ben >
ADD COMMENT
0
Entering edit mode
@gordon-smyth
Last seen 5 hours ago
WEHI, Melbourne, Australia
>Date: Mon, 05 Sep 2005 13:51:38 +0300 >From: "Ron Ophir" <ron.ophir at="" weizmann.ac.il=""> >Subject: [BioC] LIMMA No residual using rmaPLM >To: <bioconductor at="" stat.math.ethz.ch=""> >Message-ID: <s31c4d86.078 at="" wisemail.weizmann.ac.il=""> >Content-Type: text/plain > >Hi >I am analyzing affymetrix data having the following experimental >design: > > analysis$design > Normal IOP IOPC >L91RAE230 2.CEL 0 1 0 >L92RAE230 2.CEL 0 1 0 >L93RAE230 2.CEL 0 0 1 >L94RAE230 2.CEL 0 0 1 >L95RAE230 2.CEL 1 0 0 >L96RAE230 2.CEL 1 0 0 > and following contrasts > > analysis$contrasts > IOPC.IOP IOPC.Normal IOP.Normal >Normal 0 -1 -1 >IOP -1 0 1 >IOPC 1 1 0 >The preprocessing was done using affyPLM packge >analysis$data<-rmaPLM(analysis$raw) >where analysis$raw is AfyyBatch object. Then I fitted the the model >once with weighting matrix using AMP flags >fm<-as.matrix(analysis$Flags!="A") >analysis$fit<-lmFit(analysis$data,analysis$design,w=matrix(as.numeric (fm),dim(fm)[1],dim(fm)[2],dimnames=dimnames(fm))) > and got a reasonable results and once without this matrix. What was >surprising is that fitting without the weighting matrix I got the >following error message: > > analysis$bayes<-eBayes(analysis$contrasts.fit) >Error in ebayes(fit = fit, proportion = proportion, stdev.coef.lim = >stdev.coef.lim) : > No residual degrees of freedom in linear model fits >I've checked the fit coeffecient matrix (analyis$fit object) and is all >NA. >Does someone have an idea why? I did not applied any weighting matrix >for this fitting. As Ben has already explained, you are implicitly using a weighting matrix here because your 'PLMset' object contains a slot 'se.chip.coefs' from which limma is attempting to construct probe-set weights. (Basically the weight for each expression value is the inverse squared se, with some moderation to prevent absurd values.) You can easily turn this off by using lmFit(..., weights=NULL) The philosophy is this: If the se.chip.coefs slot is empty, then limma will take the se's and hence the weights to be all equal. If however this slot is set to be a matrix with entirely NA values, then limma will assume (and this is the crucial thing) that the se's are not only missing but non-ignorable. Hence it passes NA weights to the lmFit and hence you end up with no useful data. I am open to suggestion that limma should do something different. My feeling which motivates the current behaviour is that slots in data objects are only set (or should only be set) when they really mean something. Hence they should not be ignored without specific direction to do so, even if they contain NA values. Gordon >Thanks >Ron
ADD COMMENT
0
Entering edit mode
Hi, Summary: When running a short course recently at the JSM in Minneapolis: http://bioinf.wehi.edu.au/marray/jsm2005/ we created an installation bundle which may be of interest to Windows users (particularly if you know someone who doesn't yet have R installed and wants to get started with BioC etc.). Here it is: http://bioinf.wehi.edu.au/marray/jsm2005/Required/Software/cran/ Now, the more verbose version... Apologies for being a stranger to this mailing list recently - I have only been reading lower-volume R mailing lists so that I can have more time for research etc. In the past, (after R releases 1.8.1 and then after 1.9.1), I have built installation bundles (or wizards) for Windows users which will install R, limmaGUI, affylmGUI, all the required R packages and all the required Tcl/Tk packages (including Tktable and BWidget), in a way which should be as easy as installing R itself (using the GUI installation wizard). I never built the wizard/bundle after R 2.0.x because the way I do it involves building R from source (which requires having all the right compilers etc.) and there was a problem with my Latex installation which I had trouble fixing. And also, I was away from work for personal reasons around that time. I have recently built a Windows installation bundle (as described above), but probably with a lot more R packages than some people really want. It was built for a recent short course at the JSM in Minneapolis. Here's our course website: http://bioinf.wehi.edu.au/marray/jsm2005/ The R packages (and versions) included in the bundle are listed at: http://bioinf.wehi.edu.au/marray/jsm2005/Required/ and the wizard/bundle itself can be found at: http://bioinf.wehi.edu.au/marray/jsm2005/Required/Software/cran/ Given that I have successfully built the wizard/bundle recently, it wouldn't be too hard to trim it down to the bare essentials, so I'm happy to hear requests for that, but (a) Most people on this list already have R installed, so I'm probably not really talking to right audience and (b) A new version of R will be released very soon, so this bundle will become out-of-date very quickly and (c) Officially I'm not maintaining the limmaGUI,affylmGUI projects any more - a colleague of mine, Keith is, so I'm trying to avoid spending too much time on them so that I can get on with other research. So after reading those negative thoughts, if you still want (or know people e.g. biologists) who want me (or Keith) to maintain this sort of installation bundle more regularly, I'm happy to hear requests. Regards, James
ADD REPLY

Login before adding your answer.

Traffic: 828 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6