Replace method, AffyBatch, pm or mm
1
0
Entering edit mode
@laurent-buffat-85
Last seen 10.3 years ago
Hi everyone, In an affybatch, I can extract from an affybatch “exp.norm” and a given probesetname, psm, the pm value for a list of condition : > pm(exp.norm,psn)[,1:3] 1 2 3 1007_s_at1 501.35097 430.517639 495.100973 1007_s_at2 120.76764 131.600973 142.100973 1007_s_at3 293.51764 290.017639 268.350973 1007_s_at4 517.43431 568.184306 635.184306 . Etc Now, I would like to replace these values by an over one like for example : > pm(exp.norm,psn)[,1:3] <- pm(exp.norm,psn)[,1:3] + 1000 or * pm(ex.norm,psn)[,1:3] <- NA But, I have these error : > pm(exp.norm,psn)[,1:3] <- pm(exp.norm,psn)[,1:3] Error in "pm<-"(`*tmp*`, psn, value = pm(exp.norm, psn)[, 1:3]) : unused argument(s) ( ...) In addition: Warning messages: 1: 'multiget' is deprecated. Use 'mget' instead. See help("Deprecated") and help("base-deprecated"). 2: 'multiget' is deprecated. Use 'mget' instead. See help("Deprecated") and help("base-deprecated"). Thanks for your help. Laurent Buffat [[alternative HTML version deleted]]
• 1.6k views
ADD COMMENT
0
Entering edit mode
rgentleman ★ 5.5k
@rgentleman-7725
Last seen 9.6 years ago
United States
On Tue, Oct 19, 2004 at 10:08:06AM +0200, Laurent Buffat wrote: > Hi everyone, > > In an affybatch, I can extract from an affybatch ?exp.norm? and a given > probesetname, psm, the pm value for a list of condition : > > > pm(exp.norm,psn)[,1:3] > > 1 2 3 > > 1007_s_at1 501.35097 430.517639 495.100973 > > 1007_s_at2 120.76764 131.600973 142.100973 > > 1007_s_at3 293.51764 290.017639 268.350973 > > 1007_s_at4 517.43431 568.184306 635.184306 > > . Etc > > > > Now, I would like to replace these values by an over one like for example : > > > pm(exp.norm,psn)[,1:3] <- pm(exp.norm,psn)[,1:3] + 1000 > > or > > * pm(ex.norm,psn)[,1:3] <- NA > > But, I have these error : > > > pm(exp.norm,psn)[,1:3] <- pm(exp.norm,psn)[,1:3] > > Error in "pm<-"(`*tmp*`, psn, value = pm(exp.norm, psn)[, 1:3]) : > > unused argument(s) ( ...) > > In addition: Warning messages: > > 1: 'multiget' is deprecated. > so, for the multiget part, that is something the author/maintainer should have already dealt with. The R function multiget is deprecated (and in fact in R 2.0.0 it no longer exists, so this code will not work there). Nothing bad happens in the present case, it works as it did before, it is just a warning for the software developer to please change their code (they usually get about 1 year to do so). > Use 'mget' instead. > > See help("Deprecated") and help("base-deprecated"). > > 2: 'multiget' is deprecated. > > Use 'mget' instead. > > See help("Deprecated") and help("base-deprecated"). > > > > Thanks for your help. > > > > Laurent Buffat > > > > > > > > > > > > > > > > > > > > > [[alternative HTML version deleted]] > > _______________________________________________ > Bioconductor mailing list > Bioconductor@stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/bioconductor -- +--------------------------------------------------------------------- ------+ | Robert Gentleman phone : (617) 632-5250 | | Associate Professor fax: (617) 632-2444 | | Department of Biostatistics office: M1B20 | | Harvard School of Public Health email: rgentlem@jimmy.harvard.edu | +--------------------------------------------------------------------- ------+
ADD COMMENT
0
Entering edit mode
the error here is the use of ",psn". it seems like you made a mistake when typing "exp.norm,psn". did you mean "exp.norm.psn"? functions think psn is an argument. pm has a ... in the args so it passes it as part of ... and ignores. but pm<- doesnt have a ... so you get an error. as far as i know all the multigets where removed some time ago. what version are you using? if you find a multiget in >=1.5 please let me know. On Tue, 19 Oct 2004, Robert Gentleman wrote: > On Tue, Oct 19, 2004 at 10:08:06AM +0200, Laurent Buffat wrote: > > Hi everyone, > > > > In an affybatch, I can extract from an affybatch “exp.norm” and a given > > probesetname, psm, the pm value for a list of condition : > > > > > pm(exp.norm,psn)[,1:3] > > > > 1 2 3 > > > > 1007_s_at1 501.35097 430.517639 495.100973 > > > > 1007_s_at2 120.76764 131.600973 142.100973 > > > > 1007_s_at3 293.51764 290.017639 268.350973 > > > > 1007_s_at4 517.43431 568.184306 635.184306 > > > > . Etc > > > > > > > > Now, I would like to replace these values by an over one like for example : > > > > > pm(exp.norm,psn)[,1:3] <- pm(exp.norm,psn)[,1:3] + 1000 > > > > or > > > > * pm(ex.norm,psn)[,1:3] <- NA > > > > But, I have these error : > > > > > pm(exp.norm,psn)[,1:3] <- pm(exp.norm,psn)[,1:3] > > > > Error in "pm<-"(`*tmp*`, psn, value = pm(exp.norm, psn)[, 1:3]) : > > > > unused argument(s) ( ...) > > > > In addition: Warning messages: > > > > 1: 'multiget' is deprecated. > > > > so, for the multiget part, that is something the author/maintainer > should have already dealt with. The R function multiget is > deprecated (and in fact in R 2.0.0 it no longer exists, so this code > will not work there). Nothing bad happens in the present case, it > works as it did before, it is just a warning for the software > developer to please change their code (they usually get about 1 year > to do so). > > > Use 'mget' instead. > > > > See help("Deprecated") and help("base-deprecated"). > > > > 2: 'multiget' is deprecated. > > > > Use 'mget' instead. > > > > See help("Deprecated") and help("base-deprecated"). > > > > > > > > Thanks for your help. > > > > > > > > Laurent Buffat > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > > Bioconductor mailing list > > Bioconductor@stat.math.ethz.ch > > https://stat.ethz.ch/mailman/listinfo/bioconductor > > -- > +------------------------------------------------------------------- --------+ > | Robert Gentleman phone : (617) 632-5250 | > | Associate Professor fax: (617) 632-2444 | > | Department of Biostatistics office: M1B20 | > | Harvard School of Public Health email: rgentlem@jimmy.harvard.edu | > +------------------------------------------------------------------- --------+ > > _______________________________________________ > Bioconductor mailing list > Bioconductor@stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/bioconductor >
ADD REPLY
0
Entering edit mode
Rafael A. Irizarry wrote: > as far as i know all the multigets where removed some time ago. what > version are you using? if you find a multiget in >=1.5 please let me know. 'multiget' was removed for the last release, both in the code and in the doc... Apparently only one was forgotten (and still is) in the text of a vignette... I believe that the user has an old version of the package...
ADD REPLY
0
Entering edit mode
Hi, Thanks for Raphael, Robert & Laurent for your answers. It helps me to solve my problem: I work with R 1.9.0 and affy 1.5.0, but: Historically, to get a probe intensity of a probe set name, I used an old "signature" of pm: pm( aBatch, aProbeSetName) This is not supported any more with affy >= 1.5.0) and then you try to use it you have this error : # R version : 1.9.0 > library(affy) > package.version("affy") # 1.5.0 > data(affybatch.example) > psn <- "A28102_at" > chips <- c("20A","20B") > pm(affybatch.example,psn) [, chips] Error in .local(object, which, ...) : couldn't find function "multiget" Because, I have write some code with this "old call" and I would like to continue to use it and I not understood the "intensity method", I try to correct these error and "manually" restore the "multiget" function > source("/somewhere/multi.R") With an old definition of multi.R and these definition use mget, but its works (with warning) and I was able to get the "intensity" of a probeset in a batch with the "old signature of pm" : > pm(affybatch.example,psn) [, chips] 20A 20B A28102_at1 149.0 118.0 A28102_at2 143.5 124.8 A28102_at3 132.0 111.0 A28102_at4 130.0 98.0 A28102_at5 115.8 114.3 A28102_at6 131.0 143.0 A28102_at7 131.8 124.0 A28102_at8 140.0 129.0 A28102_at9 122.0 172.0 A28102_at10 133.3 178.0 A28102_at11 136.0 145.8 A28102_at12 123.0 138.0 A28102_at13 132.5 131.0 A28102_at14 130.0 113.8 A28102_at15 125.0 119.0 A28102_at16 133.5 164.0 Warning message: 'multiget' is deprecated. Use 'mget' instead. See help("Deprecated") and help("base-deprecated"). And so, I continued to use it. That I have not understood, and I apologize for this, is that with the new version of affy, I have to use "intensity" and ProbesIndex do to what I try to do : Instead of "pm(aBatch, aProSetName)" to get or replace intensity of probes of a probeset in a affybatch, I have to use Intensity & probesIndex : >xi <- intensity(affybatch.example)[ indexProbes(affybatch.example,"pm")[[psn]],chips] instead of > xi <- pm(affybatch.example,psn)[,chips] And to REPLACE : >intensity((affybatch.example)[ indexProbes(affybatch.example,"pm")[[psn]],chips]) <- NA Instead of >pm(affybatch.example.psn)[,chips] <- NA Thanks again for your help and sorry for the confusion. Laurent Buffat -----Message d'origine----- De : bioconductor-bounces@stat.math.ethz.ch [mailto:bioconductor-bounces@stat.math.ethz.ch] De la part de Laurent Gautier Envoye : mercredi 20 octobre 2004 05:22 A : rafa@jhu.edu Cc : Laurent Buffat; Laurent Gautier; Robert Gentleman; bioconductor@stat.math.ethz.ch Objet : Re: [BioC] Replace method, AffyBatch, pm or mm Rafael A. Irizarry wrote: > as far as i know all the multigets where removed some time ago. what > version are you using? if you find a multiget in >=1.5 please let me know. 'multiget' was removed for the last release, both in the code and in the doc... Apparently only one was forgotten (and still is) in the text of a vignette... I believe that the user has an old version of the package... _______________________________________________ Bioconductor mailing list Bioconductor@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/bioconductor
ADD REPLY
0
Entering edit mode
laurent buffat wrote: > <...cut...> > Instead of "pm(aBatch, aProSetName)" to get or replace intensity of probes > of a probeset in a affybatch, I have to use Intensity & probesIndex : > Good. As a general comment, when going to tweaks and 'non-mainstream' manipulations with 'affy', I would recommend to leave wrappers alone and use more 'primitive' functions. A lot of the package was designed with that in mind: primitive (but convenient) functions, and wrappers for some common operations (for example, 'expresso' is a wrapper around individual pre-processing operations for example, and the pre- processing operations are themselves wrappers around pre-preprocessing core functions operating on matrices of data... same idea with pm vs. indexProbes + intensity). L.
ADD REPLY
0
Entering edit mode
laurent buffat wrote: > > Hi, > > Thanks for Raphael, Robert & Laurent for your answers. It helps me to solve > my problem: > > I work with R 1.9.0 and affy 1.5.0, but: > > Historically, to get a probe intensity of a probe set name, I used an old > "signature" of pm: pm( aBatch, aProbeSetName) What exactly are you using for aProbeSetName? This still works for me using R-2.0.0 and affy-1.5.6, if I use the Affy probe ids. > pm(dat, geneNames(dat)[1]) 001.CEL 002.CEL 1007_s_at1 268.3 781.0 1007_s_at2 310.0 1154.5 1007_s_at3 607.8 1576.0 1007_s_at4 2360.5 6501.0 1007_s_at5 1765.8 5157.3 1007_s_at6 1471.8 4359.5 1007_s_at7 474.5 1430.8 1007_s_at8 555.5 1559.8 1007_s_at9 196.5 646.5 1007_s_at10 1016.3 3987.0 1007_s_at11 1455.0 3440.3 1007_s_at12 1090.8 2439.8 1007_s_at13 1231.0 2697.0 1007_s_at14 201.0 498.8 1007_s_at15 520.3 1084.8 1007_s_at16 1494.3 3697.8 -- James W. MacDonald Affymetrix and cDNA Microarray Core University of Michigan Cancer Center 1500 E. Medical Center Drive 7410 CCGC Ann Arbor MI 48109
ADD REPLY
0
Entering edit mode
Hi James, I'm using exactly the same Affy ProbeSet ids that you did in your example : > library(affy) > data(affybatch.example) > pm(affybatch.example, geneNames(affybatch.example)[1]) Error in .local(object, which, ...) : couldn't find function "multiget" But I don't have the same version of R (1.9.0) and affy (1.5.0) I will reinstall completely R and bioconductor with the new version and try this example again, but I have actually a solution with the intensity slot. Are you able to replace the pm intensity ? If you do > pm(dat, geneNames(dat)[1]) <- NA Is it working for you ? Thanks for your help. Laurent Buffat. -----Message d'origine----- De : James W. MacDonald [mailto:jmacdon@med.umich.edu] Envoye : mercredi 20 octobre 2004 15:26 A : laurent buffat Cc : bioconductor@stat.math.ethz.ch; 'Robert Gentleman'; bioconductor@stat.math.ethz.ch Objet : Re: [BioC] Replace method, AffyBatch, pm or mm laurent buffat wrote: > > Hi, > > Thanks for Raphael, Robert & Laurent for your answers. It helps me to solve > my problem: > > I work with R 1.9.0 and affy 1.5.0, but: > > Historically, to get a probe intensity of a probe set name, I used an old > "signature" of pm: pm( aBatch, aProbeSetName) What exactly are you using for aProbeSetName? This still works for me using R-2.0.0 and affy-1.5.6, if I use the Affy probe ids. > pm(dat, geneNames(dat)[1]) 001.CEL 002.CEL 1007_s_at1 268.3 781.0 1007_s_at2 310.0 1154.5 1007_s_at3 607.8 1576.0 1007_s_at4 2360.5 6501.0 1007_s_at5 1765.8 5157.3 1007_s_at6 1471.8 4359.5 1007_s_at7 474.5 1430.8 1007_s_at8 555.5 1559.8 1007_s_at9 196.5 646.5 1007_s_at10 1016.3 3987.0 1007_s_at11 1455.0 3440.3 1007_s_at12 1090.8 2439.8 1007_s_at13 1231.0 2697.0 1007_s_at14 201.0 498.8 1007_s_at15 520.3 1084.8 1007_s_at16 1494.3 3697.8 -- James W. MacDonald Affymetrix and cDNA Microarray Core University of Michigan Cancer Center 1500 E. Medical Center Drive 7410 CCGC Ann Arbor MI 48109
ADD REPLY
0
Entering edit mode
laurent buffat wrote: > Hi James, > > I'm using exactly the same Affy ProbeSet ids that you did in your example : > > >>library(affy) >>data(affybatch.example) >>pm(affybatch.example, geneNames(affybatch.example)[1]) > > Error in .local(object, which, ...) : couldn't find function "multiget" > > But I don't have the same version of R (1.9.0) and affy (1.5.0) > I will reinstall completely R and bioconductor with the new version and try > this example again, but I have actually a solution with the intensity slot. > > Are you able to replace the pm intensity ? If you do > > >>pm(dat, geneNames(dat)[1]) <- NA No I can't. As Rafael noted, the "pm<-" method only allows for the replacement of all the pm probes in a given AffyBatch. I'm curious though; why do you want to replace pm values rather than filtering, etc at the expression value stage? NA values appear to cause problems with some of the processing steps for e.g., rma. > > > Is it working for you ? > > Thanks for your help. > > Laurent Buffat. -- James W. MacDonald Affymetrix and cDNA Microarray Core University of Michigan Cancer Center 1500 E. Medical Center Drive 7410 CCGC Ann Arbor MI 48109
ADD REPLY
0
Entering edit mode
sorry, i now see what psn is. to increase speed, the current implementation only lets you replace all the pm. that is feautre that we could add. for now you can do by using pm(abatch)[,index] <- value -r On Tue, 19 Oct 2004, Robert Gentleman wrote: > On Tue, Oct 19, 2004 at 10:08:06AM +0200, Laurent Buffat wrote: > > Hi everyone, > > > > In an affybatch, I can extract from an affybatch “exp.norm” and a given > > probesetname, psm, the pm value for a list of condition : > > > > > pm(exp.norm,psn)[,1:3] > > > > 1 2 3 > > > > 1007_s_at1 501.35097 430.517639 495.100973 > > > > 1007_s_at2 120.76764 131.600973 142.100973 > > > > 1007_s_at3 293.51764 290.017639 268.350973 > > > > 1007_s_at4 517.43431 568.184306 635.184306 > > > > . Etc > > > > > > > > Now, I would like to replace these values by an over one like for example : > > > > > pm(exp.norm,psn)[,1:3] <- pm(exp.norm,psn)[,1:3] + 1000 > > > > or > > > > * pm(ex.norm,psn)[,1:3] <- NA > > > > But, I have these error : > > > > > pm(exp.norm,psn)[,1:3] <- pm(exp.norm,psn)[,1:3] > > > > Error in "pm<-"(`*tmp*`, psn, value = pm(exp.norm, psn)[, 1:3]) : > > > > unused argument(s) ( ...) > > > > In addition: Warning messages: > > > > 1: 'multiget' is deprecated. > > > > so, for the multiget part, that is something the author/maintainer > should have already dealt with. The R function multiget is > deprecated (and in fact in R 2.0.0 it no longer exists, so this code > will not work there). Nothing bad happens in the present case, it > works as it did before, it is just a warning for the software > developer to please change their code (they usually get about 1 year > to do so). > > > Use 'mget' instead. > > > > See help("Deprecated") and help("base-deprecated"). > > > > 2: 'multiget' is deprecated. > > > > Use 'mget' instead. > > > > See help("Deprecated") and help("base-deprecated"). > > > > > > > > Thanks for your help. > > > > > > > > Laurent Buffat > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > > Bioconductor mailing list > > Bioconductor@stat.math.ethz.ch > > https://stat.ethz.ch/mailman/listinfo/bioconductor > > -- > +------------------------------------------------------------------- --------+ > | Robert Gentleman phone : (617) 632-5250 | > | Associate Professor fax: (617) 632-2444 | > | Department of Biostatistics office: M1B20 | > | Harvard School of Public Health email: rgentlem@jimmy.harvard.edu | > +------------------------------------------------------------------- --------+ > > _______________________________________________ > Bioconductor mailing list > Bioconductor@stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/bioconductor >
ADD REPLY

Login before adding your answer.

Traffic: 777 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