This function creates an interactive plotly object which maps differential expression onto a polar coordinates.

radial_plotly(
  polar,
  type = 1,
  colours = polar@scheme,
  label_rows = NULL,
  arrow_length = 80,
  label_size = 14,
  colour_code_labels = FALSE,
  label_colour = "black",
  grid_colour = "grey80",
  grid_width = 1,
  marker_size = 7,
  marker_alpha = 0.8,
  marker_outline_colour = "white",
  marker_outline_width = 0.5,
  axis_title_size = 16,
  axis_label_size = 10,
  axis_colour = "black",
  axis_width = 2,
  ...
)

Arguments

polar

A 'volc3d' object with the p-values between groups of interest and polar coordinates created by polar_coords, deseq_polar or voom_polar.

type

Numeric value whether to use scaled (Z-score) or unscaled (fold change) as magnitude. Options are 1 = Z-score (default) or 2 = unscaled/fold change.

colours

A vector of colour names or hex triplets for the non-significant points and each of the six groups.

label_rows

A vector of row names or numbers to label.

arrow_length

The length of label arrows (default = 80).

label_size

Font size of labels/annotations (default = 14)

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.

grid_colour

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

grid_width

The width of the grid lines (default=1)

marker_size

Size of the markers (default = 6)

marker_alpha

Opacity for the markers (default = 0.7)

marker_outline_colour

Colour for marker outline (default = white)

marker_outline_width

Width for marker outline (default = 0.5)

axis_title_size

Font size for axis titles (default = 16)

axis_label_size

Font size for axis labels (default = 10)

axis_colour

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

axis_width

The width of the axis lines (default=2)

...

Optional parameters passed to polar_grid e.g. r_axis_ticks or axis_angle

Value

Returns a plotly plot featuring variables on a tri-axis radial graph

Details

This function builds a layered plotly object. By default this produces an SVG output, but this can be slow with 1000s of points. For large number of points we recommend switching to webGL by piping to toWebGL() as shown in the examples.

References

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

See also

Examples

data(example_data)
syn_polar <- polar_coords(outcome = syn_example_meta$Pathotype,
                          data = t(syn_example_rld))

radial_plotly(polar = syn_polar, label_rows = c("COBL"))

## Faster webGL version for large numbers of points
library(plotly)
#> Loading required package: ggplot2
#> 
#> Attaching package: ‘plotly’
#> The following object is masked from ‘package:ggplot2’:
#> 
#>     last_plot
#> The following object is masked from ‘package:IRanges’:
#> 
#>     slice
#> The following object is masked from ‘package:S4Vectors’:
#> 
#>     rename
#> The following object is masked from ‘package:stats’:
#> 
#>     filter
#> The following object is masked from ‘package:graphics’:
#> 
#>     layout
radial_plotly(polar = syn_polar, label_rows = c("COBL")) %>%
  toWebGL()