Learn R Programming

volcano3D (version 1.2.0)

volcano3D: Three-Dimensional Volcano Plot

Description

Plots the pvalues from three-way comparisons in 3D space using plotly.

Usage

volcano3D(
  polar,
  colours = c("green3", "cyan", "blue", "purple", "red", "gold2"),
  non_sig_colour = "grey60",
  colour_scale = "discrete",
  continuous_shift = 1.33,
  axis_title_offset = 1.2,
  label_rows = c(),
  grid = NULL,
  fc_or_zscore = "zscore",
  label_size = 14,
  arrow_length = 50,
  colour_code_labels = TRUE,
  label_colour = NULL,
  hover_text = "label",
  grid_colour = "grey80",
  axis_colour = "black",
  marker_size = 2.7,
  marker_alpha = 1,
  marker_outline_colour = "white",
  marker_outline_width = 0,
  axis_angle = 0.5,
  z_aspectratio = 1,
  xy_aspectratio = 1,
  plot_height = 700,
  camera_eye = list(x = 1.25, y = 1.25, z = 1.25),
  source = "volcano3D",
  ...
)

Arguments

polar

A polar object with created by polar_coords.

colours

A vector of colour names or hex triplets for each of the six groups. Default = c("green3", "cyan", "blue", "purple", "red", "gold2"). Colours are assigned in order: group1+, group1+group2+, group2+, group2+group3+, group3+, group1+group3+.

non_sig_colour

The colour for non-significant markers (default='grey60').

colour_scale

whether to use a 'discrete' or 'continuous' colour scale (default = 'discrete').

continuous_shift

The number of radians to offset the continuous colour scale by. This is calculated by converting the angle to a hue using hsv where 0 corresponds to the colour scale starting with red and 2 with magenta (default = 2).

axis_title_offset

The position scaling between grid and axis titles (default=1.2)

label_rows

A vector of row names or numbers to label.

grid

An optional grid object. If NULL this will be calculated using default values of polar_grid.

fc_or_zscore

whether to use fold change or z-score for the p-values. Options are 'zscore' (default) or 'fc').

label_size

font size for labels (default = 14).

arrow_length

The length of label arrows (default = 50).

colour_code_labels

Logical whether label annotations should be colour coded. If FALSE label_colour is used.

label_colour

HTML colour of annotation labels if not colour coded.

hover_text

A character string containing the argument for hover text (default="label"). Possible columns include:

  • "Name" or "label": name and label column for each marker

  • paste(group, "_axis") the position for each marker on a given axis

  • "x_zscore", "y_zscore" or "r_zscore": The position according to z-score

  • "x_fc", "y_fc" or "r_fc": The position according to fold change

  • "angle", "angle_degrees": Then marker angle

  • "max_exp" or "sig": The maximally expressed group or significant group

  • "col" or "hue": The colour or hue of the marker

  • paste0(group 1, "_", group 2, "_pvalue"): The pvalue for comparisons

  • paste0(group 1, "_", group 2, "_padj"): The pvalue for comparisons

  • paste0(group 1, "_", group 2, "_logFC"): The pvalue for comparisons

  • paste0(multi_group_test, "_pvalue"), paste0(multi_group_test, "_padj"), paste0(multi_group_test, "_logFC"): The stats for all multi-group tests.

grid_colour

The colour of the cylindrical grid (default="grey80").

axis_colour

The colour of the grid axes and labels (default="black").

marker_size

Size of the markers (default = 2.7).

marker_alpha

Opacity for the markers (default = 1).

marker_outline_colour

Colour for marker outline (default = white)

marker_outline_width

Width for marker outline (default = 0)

axis_angle

Angle in radians for the z axis (default = 0.5).

z_aspectratio

The aspect ratio for the z axis compared to x and y (default = 1). Decreasing this makes the plot appear more squat.

xy_aspectratio

The aspect ratio for the xy axis compared to z (default = 1). Decreasing this makes the grid wider in the plot window.

plot_height

The plot height in px. Default=700.

camera_eye

The (x,y,z) components of the 'eye' camera vector. This vector determines the view point about the origin of this scene.

source

a character string of length 1. Match the value of this string with the source argument in event_data to retrieve the event data corresponding to a specific plot (shiny apps can have multiple plots).

...

Optional parameters to pass to polar_grid.

Value

Returns a cylindrical 3D plotly plot featuring variables on a tri-axis radial graph with the -log10(multi-group test p-value) on the z-axis

References

Lewis, Myles J., et al. (2019). Molecular portraits of early rheumatoid arthritis identify clinical and treatment response phenotypes. Cell reports, 28:9

Examples

Run this code
# NOT RUN {
data(example_data)
syn_polar <- polar_coords(sampledata = syn_example_meta,
                          contrast = "Pathotype", 
                          groups = NULL, 
                          pvalues = syn_example_p, 
                          expression = syn_example_rld, 
                          p_col_suffix = "pvalue", 
                          padj_col_suffix = "padj", 
                          non_sig_name = "Not Significant", 
                          multi_group_prefix = "LRT",
                          significance_cutoff = 0.01, 
                          fc_col_suffix='log2FoldChange',
                          fc_cutoff = 0.3)

volcano3D(syn_polar, 
    label_rows = c("FMOD", "LAMP5", "TNNT3"), 
    xy_aspectratio = 1, 
    label_size = 10, 
    z_aspectratio = 0.9)
# }

Run the code above in your browser using DataLab