Volcano plot for F test results

Share:

Description

This function generates a volcano-like plot given the F test results.

Usage

1
2
3
volcano(matestobj, threshold=c(0.001,0.05),
        method=c("unadj","unadj"), title="Volcano Plot",
        highlight.flag=TRUE, onScreen=TRUE)

Arguments

matestobj

An object of class matest.

threshold

A vector of three double values to indicate the thresholds for three F tests. The values should be between 0 and 1. Note that you need to put three values here even if you don't have all three F tests in matestobj.

method

A flag indicates to use which P values to generate the plot and select genes. This is a vector with three elements, which corresponds to three F tests. Each element should be one of the following five selections:

  • "unadj"Unadjusted tabulated P values.

  • "nominal"Nominal permutation P values.

  • "fwer"FWER one-step adjusted P values.

  • "fdr"FDR adjusted tabulated P values.

  • "fdrperm"FDR adjusted nominal permutation P values.

Default value is c("unadj", "unadj") which means to use tabulated P values for all tests.

Note that you need to put three values here even if you don't have all three F tests in matestobj.

title

Figure title. Default is "Volcano Plot".

highlight.flag

A logical value to indicate whether to highlight the genes with bad spots or not.

onScreen

A logical value to represent whether to display the plots on screen or not. If TRUE, the figure will be plotted on the screen. Otherwise, it will plot the figure on the current device. Default is TRUE.

Details

This function allows one to visualize the results from the F or T tests. The figure looks like an erupting volcano. There will be one plot For F-test result and multiple plots for T-test result, each plot corresponds to one T-test. You must have F1 test result in the input object in order to do volcano plot.

On the plot, blue dots are the genes selected by the F1 test. The y-axis value is -log10(P-value) for the F1 test and x-axis value is proportional to the fold changes. A horizontal line represents the significance threshold of the F1 test. The red dots are the genes selected by the Fs test (if there's Fs test result). If there is flag information in the data and the user wants to highlight the flagged genes, the genes with any bad spots will be circled by a black circle.

Value

For F-test volcano plot, it returns an object which is a list of the following four fields:

idx.F1

The significant genes selected by F1 test.

idx.Fs

The significant genes selected by Fs test.

idx.all

The significant genes selected by all four F tests.

For T-test volcano plot, it returns an array of the above object. Each element in the array corresponds to one T-test.

Author(s)

Hao Wu

Examples

1
2
3
4
5
6
7
8
9
## Not run: 
data(abf1)
fit.full.mix <- fitmaanova(abf1, formula = ~Strain+Sample, 
    random = ~Sample)
ftest.all = matest(abf1, fit.full.mix, test.method=c(1,1),
    shuffle.method="sample", term="Strain", n.perm= 100)
volcano(ftest.all)

## End(Not run)