Question: MA plot in R
gravatar for ghiwa.khalil
6 months ago by
ghiwa.khalil0 wrote:


I want to draw an MA plot  using plotWithHighlights() in R,

however there are 2 simple arguments needed for this function which I'm not understanding how to use: status, and values. If someone can help me with them and probably give an example it would be great.

Thank you very much

ADD COMMENTlink written 6 months ago by ghiwa.khalil0
gravatar for Guido Hooiveld
6 months ago by
Guido Hooiveld2.2k
Wageningen University, Wageningen, the Netherlands
Guido Hooiveld2.2k wrote:

Did you already check the help pages?

> library(limma)
> ?plotWithHighlights()

Then see:

status: character vector giving the control status of each point, of same length as x and y. If NULL, then all points are plotted in the background color, symbol and size.

values: character vector giving values of status to be highlighted on the plot. Defaults to unique values of status in decreasing order of frequency, with the most frequent value set as the background value. Ignored if there is no status vector.

... and the example code on that page.


Please note that usually you don't want to use the function plotWithHighlights() directly, but rather call it through e.g. the functions plotMA() or plotMD().

You may also want to see the limma user guide paragraph 4.10 (The Spot Types File) for some background on 'types' (aka 'status') and 'values', and 16.3.5 (Weaver Mutant Mice: A Composite 2x2 Factorial Experiment) or 18.1.9 (specifically page 123-124 [plotMD()]) for  application.


Finally, for example when reading in Agilent arrays using limma, the (control) status of each probe is (automatically) in RG$genes$ControlType (1=pos ctrl, -1=neg ctrl, 0=regular probe).



Example when using the raw data downloaded from this dataset:

> GSMfiles <- dir(".", "^GSM")
> GSMfiles
 [1] "GSM1568415_H13.6WTLi1_2_1.txt.gz"  "GSM1568416_H14.6WTLi2_2_2.txt.gz"
 [3] "GSM1568417_H15.6WTLi3_2_3.txt.gz"  "GSM1568418_H16.12WTLi1_2_4.txt.gz"
 [5] "GSM1568419_H17_12WTLi2_1_1.txt.gz" "GSM1568420_H18_12WTLi3_1_2.txt.gz"
 [7] "GSM1568421_H19_6KOLi1_1_3.txt.gz"  "GSM1568422_H20_6KOLi2_1_4.txt.gz"
 [9] "GSM1568423_H21_6KOLi3_2_1.txt.gz"  "GSM1568424_H22_12KOLi1_2_2.txt.gz"
[11] "GSM1568425_H23_12KOLi2_2_3.txt.gz" "GSM1568426_H24_12KOLi3_2_4.txt.gz"
> RG <- read.maimages(GSMfiles,source="agilent",green.only=TRUE)

> plotMA(RG, status=RG$genes$ControlType, values=c("1"))
#The above generates a MA plot for the 1st array vs the average of all other arrays.
#Only the positive controls are colored (because of values = c("1"))
#Just ignore the warning that pops up when the plot is generated!.



ADD COMMENTlink modified 6 months ago • written 6 months ago by Guido Hooiveld2.2k
Please log in to add an answer.


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