vsVolcano: Volcano plot from log_{2} fold changes and...

Description Usage Arguments Value Author(s) Examples

View source: R/vsVolcano.R

Description

This function allows you to extract necessary results-based data from either a DESeq2 object, edgeR object, or cuffdiff data frame to create a volcano plot (i.e. a scatter plot) of the negative log of the p-value versus the log of the fold change while implementing ggplot2 aesthetics.

Usage

1
2
3
4
5
vsVolcano(x, y, data, d.factor = NULL, type = c("cuffdiff", "deseq",
  "edger"), padj = 0.05, x.lim = NULL, lfc = NULL, title = TRUE,
  legend = TRUE, grid = TRUE, highlight = NULL, data.return = FALSE,
  xaxis.text.size = 10, yaxis.text.size = 10, xaxis.title.size = 10,
  yaxis.title.size = 10, main.title.size = 15, legend.text.size = 9)

Arguments

x

treatment x for comparison (log_{2}(x/control)). This will be a factor level in your data.

y

treatment y for comparison (log_{2}(y/control)). This will be a factor level in your data.

data

output generated from calling the main routines of either cuffdiff, DESeq2, or edgeR analyses. For cuffdiff, this will be a *_exp.diff file. For DESeq2, this will be a generated object of class DESeqDataSet. For edgeR, this will be a generated object of class DGEList.

d.factor

a specified factor; for use with DESeq2 objects only. This input equates to the first parameter for the contrast argument when invoking the results() function in DESeq2. Defaults to NULL.

type

an analysis classifier to tell the function how to process the data. Must be either cuffdiff, deseq, or edger. cuffdiff must be used with cuffdiff data; deseq must be used for DESeq2 output; edgeR must be used with edgeR data. See the data parameter for further details.

padj

a user defined adjusted p-value cutoff point. Defaults to 0.05.

x.lim

set manual limits (boundaries) to the x axis. Defaults to NULL.

lfc

log fold change level for setting conditonals. If no user input is added (NULL), value defaults to 1.

title

display the main title of plot. Logical; defaults to TRUE. If set to FALSE, no title will display in plot.

legend

display legend of plot. Logical; defaults to TRUE. If set to FALSE, no legend will display in plot.

grid

display major and minor axis lines. Logical; defaults to TRUE. If set to FALSE, no axis lines will display in plot.

highlight

character string of IDs that will be highlighted. Set to NULL if you do not want highlighted data.

data.return

returns data output of plot Logical; defaults to FALSE. If set to TRUE, a data frame will also be called. Assign to object for reproduction and saving of data frame. See final example for further details.

xaxis.text.size

change the font size of the x-axis text. Defaults to 10.

yaxis.text.size

change the font size of the y-axis text. Defaults to 10.

xaxis.title.size

change the font size of the x-axis title text. Defaults to 10.

yaxis.title.size

change the font size of the y-axis title text. Defaults to 10.

main.title.size

change the font size of the plot title text. Defaults to 15.

legend.text.size

change the font size of the legend body text. Defaults to 9.

Value

An object created by ggplot

Author(s)

Brandon Monier, brandon.monier@sdstate.edu

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Cuffdiff example
data("df.cuff")
vsVolcano(
     x = "hESC", y = "iPS", data = df.cuff, d.factor = NULL,
     type = "cuffdiff", padj = 0.05, x.lim = NULL, lfc = 2,
     title = TRUE, grid = TRUE, data.return = FALSE
)

# DESeq2 example
data("df.deseq")
require(DESeq2)
vsVolcano(
     x = "treated_paired.end", y = "untreated_paired.end",
     data = df.deseq, d.factor = "condition",
     type = "deseq", padj = 0.05, x.lim = NULL, lfc = NULL,
     title = TRUE, grid = TRUE, data.return = FALSE
)

# edgeR example
data("df.edger")
require(edgeR)
vsVolcano(
     x = "WM", y = "MM", data = df.edger, d.factor = NULL,
     type = "edger", padj = 0.1, x.lim = NULL, lfc = 2,
     title = FALSE, grid = TRUE, data.return = FALSE
)

data("df.deseq")
require(DESeq2)
hl <- c(
    "FBgn0036248",
    "FBgn0026573",
    "FBgn0259742",
    "FBgn0038961",
    "FBgn0038928"
)
vsVolcano(
    x = "treated_paired.end", y = "untreated_paired.end",
    data = df.deseq, d.factor = "condition",
    type = "deseq", padj = 0.05, x.lim = NULL, lfc = NULL,
    title = TRUE, grid = TRUE, data.return = FALSE, highlight = hl
)

# Extract data frame from visualization
data("df.cuff")
tmp <- vsVolcano(
     x = "hESC", y = "iPS", data = df.cuff,
     d.factor = NULL, type = "cuffdiff", padj = 0.05,
     x.lim = NULL, lfc = 2, title = TRUE, grid = TRUE,
     data.return = TRUE
)
df_volcano <- tmp[[1]] ## or use tmp$data
head(df_volcano)

# Show plot from object (see prior example for more details)
tmp[[2]] ## or use tmp$plot

btmonier/vidger documentation built on July 17, 2019, 4:37 p.m.