Question: Why does backgroundCorrect with method="none" produce different plots with plotMA()?
0
gravatar for CantExitVIM
16 months ago by
CantExitVIM10
CantExitVIM10 wrote:

Code Snippet:

x <- read.maimages(targets,source="agilent", green.only=TRUE)
plotMA(x)
ybc <-backgroundCorrect(x, method="none")
plotMA(ybc)

 

If I use plotMA3by2(), I get the same results. This is expected since no background correction was done (method = "none"). But for some reason, plotMA(x) and plotMA(ybc) look significantly different. They both seem to be using the same reference array. Although, when I use plotMA(X), I do get a warning saying "In plotMA.EListRaw(x) : NaNs produced." plotMA(ybc) does not give me that warning.

 

What accounts for this behavior?

 

Thank you

ADD COMMENTlink modified 16 months ago by Gordon Smyth38k • written 16 months ago by CantExitVIM10
Answer: Why does backgroundCorrect with method="none" produce different plots with plotM
1
gravatar for James W. MacDonald
16 months ago by
United States
James W. MacDonald51k wrote:

The backgroundCorrect function corrects for the background values contained in the Eb list item of your EListRaw object, and then sets Eb to be NULL. Then when you use plotMA, it checks to see if Eb is NULL, and if not, it subtracts it from the E list item (which contains the foreground estimates). So X has a non-NULL Eb list item, and ybc does not.

ADD COMMENTlink written 16 months ago by James W. MacDonald51k
Answer: Why does backgroundCorrect with method="none" produce different plots with plotM
0
gravatar for Gordon Smyth
16 months ago by
Gordon Smyth38k
Walter and Eliza Hall Institute of Medical Research, Melbourne, Australia
Gordon Smyth38k wrote:

I'll add a little more detail to James' answer. When you made an MA plot (using plotMA or plotMD), the EListRaw object has to be converted first into an EList object on the log-scale in order to make the plot. So some form of background correction and normalization has to be applied. If you haven't done any background correction or normalization yourself, then plotMA() will apply the simplest background correction and normalization methods, which are "subtract" and "none" respectively. In effect, it will do this:

ybc <- backgroundCorrect(x, method="subtract")
ybc <- normalizeBetweenArrays(ybc, method="none")
plotMA(ybc, ...)

Be aware that method="subtract" is pretty simple and not recommended because it has a tendency to return negative expression values and, hence, NAs when you convert to the log-scale.

If you have already background corrected, or have already normalized, then plotMA() will use whatever you have done. In your case, you ran backgroundCorrection with method="none", so plotMA(ybc) respects your wishes and uses the uncorrected foreground intensities.

In summary, I recommend that you apply background correction and normalization explicitly according to your preferences. If you don't, then you just get the simplest default choices.

ADD COMMENTlink modified 16 months ago • written 16 months ago by Gordon Smyth38k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 317 users visited in the last hour