# Generating volcano scatterplot

This might look a very silly question to many of you but please answer.

I am interested in generating a volcano plot for my dataset, which has four columns and all values are in log2. column 1 has name while column 2, 3, 4 has values in treated, untreated states and fold change.

DDR1    7.8519007358    8.0207450402    0.1688443044
RFC2    8.1756591822    7.7784602732    -0.397198909
HSPA6       7.8186806878    7.274639204 -0.5440414838
PAX8    8.0207450402    3.8519007358    -4.1688443044
CALR    7.7784602732    1.8519007358    -5.9265595374
MAPK1   4.8519007358    7.7784602732    2.9265595374
MAPK1   4.8819007358    7.2784602732    2.3965595374
KRAS    3.8519007358    7.8519007358    4

I am intrested in generating scatter plot from these values with marking outliers at 2 fold.

I am bit confused and puzzled with the command in R as it is asking more than one parameter like p-value and things which I do not have.

drawVolcanoPlot(M,p,m=1,p.cut=0.05,p.transform=log10,ylab=NULL,colramp=NULL,na.rm=TRUE,...)

Kindly help me in generating this scatterplot with my dataset.

Solutions in python are also welcome.

Thank you for your time and consideration.

-

This field is new to me but it looks like this is not just a problem of producing a plot. You have a piece of analysis to do before you can present the results in your plot. A volcano plot appears to be simply a way of presenting the results of that analysis, which it sounds like you have not yet done.

The so-called p-values need to be generated by a test for each point that indicates how statistically unusual each of your points are. There is a discussion of how to do that on this site about microarray data analysis. There are various ways of doing this; you just need to choose one before you go to the next step of presenting your results in one of these plots.

I'm not familiar with the maDB R package that has the drawVolcanoPlot() function but I'd suggest a good read of the maDB documentation to get started on how to generate those p-values.

I say "so-called" p-values because this seems a slightly different approach to classical hypothesis testing. Normally statisticians do not approve of running hundreds of tests and comparing the p-values. However, this seems a standard approach in this field, and certainly gives some useful information. I would just caution that these p-values should nto be interpreted the same as p-values from classical hypothesis testing. Instead, they are an indicator of how surprising an individual point is (rather than of the probability of getting observed data given a null hypothesis, to be interpreted in terms of whether that hypothesis should be rejected).

-
With microarrays and other small n large p problems, the p-values for many tests are computed and ordered. This is a filtering device for eliminating some variables from consideration and is not taken seriously because of the high multiplicity of testing. –  Michael Chernick Jun 11 '12 at 1:15
Michael can you please add some context? It may be unclear to some how this is related to this question. –  Macro Jun 11 '12 at 1:21
@Macro Sorry. Peter Ellis points to "so-called p-values" because p-values are computed for each biomarker. The ordering of the p-values keeping biomarkers for further consideration from those with the lowest p-values is a common first stage method to filter out the biomarkers that have no effect. But the p-values ar eonly used as a screening device and not to be taken literally about how significant the marker id. –  Michael Chernick Jun 11 '12 at 1:38
Yes, I think this is what I was trying to say too. Nothing wrong with these as giving some information on the particular points of data, but they shouldn't be interpreted the way p-values are in a hypothesis testing context. –  Peter Ellis Jun 11 '12 at 2:01