Strange signal Log-Ratios with MA.RG
3
0
Entering edit mode
@giulio-di-giovanni-950
Last seen 10.2 years ago
Hi to all, I have a problem that really I cannot solve. Some signal log-ratios given to me converting a RGlist with MA.RG(RG) are different from the ones calculated directly, that's the point: Looking some .gpr files, I build a RGList with RG <- read.maimages(source="genepix", ext="gpr) and I obtain for the first 3 genes and the first sample the following Red and Green Foreground and Background intensities RG[1:3,1] An object of class "RGList" $R 63MG [1,] 407 [2,] 4304 [3,] 531 $G 63MG [1,] 291 [2,] 3571 [3,] 394 $Rb 63MG [1,] 518 [2,] 518 [3,] 493 $Gb 63MG [1,] 295 [2,] 295 [3,] 302 That's to say that log ratios are: >za <- log2((RG$R[1:3]-RG$Rb[1:3])/(RG$G[1:3]-RG$Gb[1:3])) >za [1] 4.7944159 0.2087391 -1.2756344 But when I made the conversion with MA.RG(RG) (I need that for following analysis) I obtain: >RGMA <- MA.RG(RG) >RGMA$M[1:3,1] [1] NA 0.2087391 -1.2756344 And this happens for several other genes and samples. Most values are exactly equal, others have NAs ... Please, there's someone who could say what I'm doing wrong ? There's some limitations or some filtering I'm not noticing.. ? Thanks in advance, Giulio
• 1.1k views
ADD COMMENT
0
Entering edit mode
@sean-davis-490
Last seen 3 months ago
United States
On Apr 1, 2005, at 11:06 AM, Giulio Di Giovanni wrote: > Hi to all, > > I have a problem that really I cannot solve. > > Some signal log-ratios given to me converting a RGlist with MA.RG(RG) > are different from the ones calculated directly, that's the point: > > Looking some .gpr files, I build a RGList with > > RG <- read.maimages(source="genepix", ext="gpr) > > and I obtain for the first 3 genes and the first sample the following > Red and Green Foreground and Background intensities > > RG[1:3,1] > An object of class "RGList" > $R > 63MG > [1,] 407 > [2,] 4304 > [3,] 531 > > $G > 63MG > [1,] 291 > [2,] 3571 > [3,] 394 > > $Rb > 63MG > [1,] 518 > [2,] 518 > [3,] 493 > > $Gb > 63MG > [1,] 295 > [2,] 295 > [3,] 302 > > That's to say that log ratios are: > >> za <- log2((RG$R[1:3]-RG$Rb[1:3])/(RG$G[1:3]-RG$Gb[1:3])) >> za Note here that RG$R[1:3] is not necessarily the same as RG$R[1:3,1]. Same goes for other RG stuff in your example. > [1] 4.7944159 0.2087391 -1.2756344 > > But when I made the conversion with MA.RG(RG) (I need that for > following analysis) > I obtain: > >> RGMA <- MA.RG(RG) >> RGMA$M[1:3,1] > [1] NA 0.2087391 -1.2756344 > > And this happens for several other genes and samples. Most values are > exactly equal, others have NAs ... > Note that for the first gene, you will have a negative values in red and green channels. If you type MA.RG in your window, you will see that it sets RG$R values <=0 after background substraction to NA; same for RG$G. I think MA.RG is probably doing the right thing here. Do you agree? Sean
ADD COMMENT
0
Entering edit mode
@wolfgang-huber-3550
Last seen 3 months ago
EMBL European Molecular Biology Laborat…
Ciao Giulio, this is a commonly known limitation of log-ratios. It appears that your problem is that MA.RG(RG) does not calculate log2((RG$R-RG$Rb)/(RG$G-RG$Gb)) but rather log2(RG$R-RG$Rb) - log2(RG$G-RG$Gb) and these are different when the individual differences are non- positive but the quotient in the first expression is not. Now some advertisement... For "generalized log-ratios" that avoid this problem, coincide with the usual log-ratio when the latter is well-defined, and are biologically and statistically meaningful shrinkage estimators otherwise, see the "vsn" package and accompanying paper(s). Shrinkage estimators sacrifice a small bias for a significant reduction in variance, so that the MSE decreases. "vsn" is one of the choices for "method" in normalizeBetweenArrays {limma}. Cheers Wolfgang ------------------------------------- Wolfgang Huber European Bioinformatics Institute European Molecular Biology Laboratory Cambridge CB10 1SD England Phone: +44 1223 494642 Fax: +44 1223 494486 Http: www.ebi.ac.uk/huber ------------------------------------- Giulio Di Giovanni wrote: > Hi to all, > > I have a problem that really I cannot solve. > > Some signal log-ratios given to me converting a RGlist with MA.RG(RG) > are different from the ones calculated directly, that's the point: > > Looking some .gpr files, I build a RGList with > > RG <- read.maimages(source="genepix", ext="gpr) > > and I obtain for the first 3 genes and the first sample the following > Red and Green Foreground and Background intensities > > RG[1:3,1] > An object of class "RGList" > $R > 63MG > [1,] 407 > [2,] 4304 > [3,] 531 > > $G > 63MG > [1,] 291 > [2,] 3571 > [3,] 394 > > $Rb > 63MG > [1,] 518 > [2,] 518 > [3,] 493 > > $Gb > 63MG > [1,] 295 > [2,] 295 > [3,] 302 > > That's to say that log ratios are: > >> za <- log2((RG$R[1:3]-RG$Rb[1:3])/(RG$G[1:3]-RG$Gb[1:3])) >> za > > [1] 4.7944159 0.2087391 -1.2756344 > > But when I made the conversion with MA.RG(RG) (I need that for following > analysis) > I obtain: > >> RGMA <- MA.RG(RG) >> RGMA$M[1:3,1] > > [1] NA 0.2087391 -1.2756344 > > And this happens for several other genes and samples. Most values are > exactly equal, others have NAs ... > > Please, there's someone who could say what I'm doing wrong ? There's > some limitations or some filtering I'm not noticing.. ? > > Thanks in advance, > > Giulio > > _______________________________________________ > Bioconductor mailing list > Bioconductor@stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/bioconductor
ADD COMMENT
0
Entering edit mode
@gordon-smyth
Last seen 1 hour ago
WEHI, Melbourne, Australia
>Date: Fri, 1 Apr 2005 13:19:30 -0500 >From: Sean Davis <sdavis2@mail.nih.gov> >Subject: Re: [BioC] Strange signal Log-Ratios with MA.RG >To: "Giulio Di Giovanni" <perimessaggini@hotmail.com> >Cc: bioconductor@stat.math.ethz.ch > > >On Apr 1, 2005, at 11:06 AM, Giulio Di Giovanni wrote: > > > Hi to all, > > > > I have a problem that really I cannot solve. > > > > Some signal log-ratios given to me converting a RGlist with MA.RG(RG) > > are different from the ones calculated directly, that's the point: > > > > Looking some .gpr files, I build a RGList with > > > > RG <- read.maimages(source="genepix", ext="gpr) > > > > and I obtain for the first 3 genes and the first sample the following > > Red and Green Foreground and Background intensities > > > > RG[1:3,1] > > An object of class "RGList" > > $R > > 63MG > > [1,] 407 > > [2,] 4304 > > [3,] 531 > > > > $G > > 63MG > > [1,] 291 > > [2,] 3571 > > [3,] 394 > > > > $Rb > > 63MG > > [1,] 518 > > [2,] 518 > > [3,] 493 > > > > $Gb > > 63MG > > [1,] 295 > > [2,] 295 > > [3,] 302 > > > > That's to say that log ratios are: > > > >> za <- log2((RG$R[1:3]-RG$Rb[1:3])/(RG$G[1:3]-RG$Gb[1:3])) > >> za > >Note here that RG$R[1:3] is not necessarily the same as RG$R[1:3,1]. >Same goes for other RG stuff in your example. > > > [1] 4.7944159 0.2087391 -1.2756344 > > > > But when I made the conversion with MA.RG(RG) (I need that for > > following analysis) > > I obtain: > > > >> RGMA <- MA.RG(RG) > >> RGMA$M[1:3,1] > > [1] NA 0.2087391 -1.2756344 > > > > And this happens for several other genes and samples. Most values are > > exactly equal, others have NAs ... > > > >Note that for the first gene, you will have a negative values in red >and green channels. If you type MA.RG in your window, you will see >that it sets RG$R values <=0 after background substraction to NA; same >for RG$G. I think MA.RG is probably doing the right thing here. Do you >agree? > >Sean Dear Giulo, As Sean is gently pointing out here, MA.RG() is giving different results to you because the simplistic "direct calculation" that you give is wrong. Taking the ratio of two negative intensities to get a positive ratio, as for your first value, is nonsense. Note that the log-ratio of 4.79 that you have computed isn't even of the right sign -- you are suggesting that the red channel corrected intensity is much larger than the green channel for this spot, but in fact it is the other way around. Any analysis based on these values will be misleading. I actually recommend using a background correction method which avoids negative intensities -- this is what I do myself. Gordon
ADD COMMENT
0
Entering edit mode
Thank you to all and forgive me, Simply, lost in the data, I didn't noticed the that bg values where larger than fg, I already had raw ratios in a column and I made the log...But now it's perfectly clear. Btw, I never had the intention to calculate log-ratios by hand, and so I don't "suggest" to use that formula, simply was a little test I made because a was losing some data I needed: In fact, I'm not interested in gene analysis, now. I'm working on background signal reduction given by some added solutes, and so high backgrounds are important data... Thanks again Giulio >From: Gordon Smyth <smyth@wehi.edu.au> >To: "Giulio Di Giovanni" <perimessaggini@hotmail.com> >CC: bioconductor@stat.math.ethz.ch, Sean Davis <sdavis2@mail.nih.gov> >Subject: Re: [BioC] Strange signal Log-Ratios with MA.RG >Date: Sat, 02 Apr 2005 20:27:32 +1000 > > >>Date: Fri, 1 Apr 2005 13:19:30 -0500 >>From: Sean Davis <sdavis2@mail.nih.gov> >>Subject: Re: [BioC] Strange signal Log-Ratios with MA.RG >>To: "Giulio Di Giovanni" <perimessaggini@hotmail.com> >>Cc: bioconductor@stat.math.ethz.ch >> >> >>On Apr 1, 2005, at 11:06 AM, Giulio Di Giovanni wrote: >> >> > Hi to all, >> > >> > I have a problem that really I cannot solve. >> > >> > Some signal log-ratios given to me converting a RGlist with MA.RG(RG) >> > are different from the ones calculated directly, that's the point: >> > >> > Looking some .gpr files, I build a RGList with >> > >> > RG <- read.maimages(source="genepix", ext="gpr) >> > >> > and I obtain for the first 3 genes and the first sample the following >> > Red and Green Foreground and Background intensities >> > >> > RG[1:3,1] >> > An object of class "RGList" >> > $R >> > 63MG >> > [1,] 407 >> > [2,] 4304 >> > [3,] 531 >> > >> > $G >> > 63MG >> > [1,] 291 >> > [2,] 3571 >> > [3,] 394 >> > >> > $Rb >> > 63MG >> > [1,] 518 >> > [2,] 518 >> > [3,] 493 >> > >> > $Gb >> > 63MG >> > [1,] 295 >> > [2,] 295 >> > [3,] 302 >> > >> > That's to say that log ratios are: >> > >> >> za <- log2((RG$R[1:3]-RG$Rb[1:3])/(RG$G[1:3]-RG$Gb[1:3])) >> >> za >> >>Note here that RG$R[1:3] is not necessarily the same as RG$R[1:3,1]. >>Same goes for other RG stuff in your example. >> >> > [1] 4.7944159 0.2087391 -1.2756344 >> > >> > But when I made the conversion with MA.RG(RG) (I need that for >> > following analysis) >> > I obtain: >> > >> >> RGMA <- MA.RG(RG) >> >> RGMA$M[1:3,1] >> > [1] NA 0.2087391 -1.2756344 >> > >> > And this happens for several other genes and samples. Most values are >> > exactly equal, others have NAs ... >> > >> >>Note that for the first gene, you will have a negative values in red >>and green channels. If you type MA.RG in your window, you will see >>that it sets RG$R values <=0 after background substraction to NA; same >>for RG$G. I think MA.RG is probably doing the right thing here. Do you >>agree? >> >>Sean > >Dear Giulo, > >As Sean is gently pointing out here, MA.RG() is giving different results to >you because the simplistic "direct calculation" that you give is wrong. >Taking the ratio of two negative intensities to get a positive ratio, as >for your first value, is nonsense. Note that the log-ratio of 4.79 that you >have computed isn't even of the right sign -- you are suggesting that the >red channel corrected intensity is much larger than the green channel for >this spot, but in fact it is the other way around. Any analysis based on >these values will be misleading. > >I actually recommend using a background correction method which avoids >negative intensities -- this is what I do myself. > >Gordon >
ADD REPLY

Login before adding your answer.

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