Skip to contents

This function generates a PAGA plot based on the given Seurat object and PAGA result.

Usage

PAGAPlot(
  srt,
  paga = srt@misc$paga,
  type = "connectivities",
  reduction = NULL,
  dims = c(1, 2),
  cells = NULL,
  show_transition = FALSE,
  node_palette = "Paired",
  node_palcolor = NULL,
  node_size = 4,
  node_alpha = 1,
  node_highlight = NULL,
  node_highlight_color = "red",
  label = FALSE,
  label.size = 3.5,
  label.fg = "white",
  label.bg = "black",
  label.bg.r = 0.1,
  label_insitu = FALSE,
  label_repel = FALSE,
  label_repulsion = 20,
  label_point_size = 1,
  label_point_color = "black",
  label_segment_color = "black",
  edge_threshold = 0.01,
  edge_line = c("straight", "curved"),
  edge_line_curvature = 0.3,
  edge_line_angle = 90,
  edge_size = c(0.2, 1),
  edge_color = "grey40",
  edge_alpha = 0.5,
  edge_shorten = 0,
  edge_offset = 0,
  edge_highlight = NULL,
  edge_highlight_color = "red",
  transition_threshold = 0.01,
  transition_line = c("straight", "curved"),
  transition_line_curvature = 0.3,
  transition_line_angle = 90,
  transition_size = c(0.2, 1),
  transition_color = "black",
  transition_alpha = 1,
  transition_arrow_type = "closed",
  transition_arrow_angle = 20,
  transition_arrow_length = unit(0.02, "npc"),
  transition_shorten = 0.05,
  transition_offset = 0,
  transition_highlight = NULL,
  transition_highlight_color = "red",
  aspect.ratio = 1,
  title = "PAGA",
  subtitle = NULL,
  xlab = NULL,
  ylab = NULL,
  legend.position = "right",
  legend.direction = "vertical",
  theme_use = "theme_scp",
  theme_args = list(),
  return_layer = FALSE
)

Arguments

srt

A Seurat object containing a PAGA result.

paga

The PAGA result from the Seurat object. Defaults to srt\$misc\$paga.

type

The type of plot to generate. Possible values are "connectivities" (default) and "connectivities_tree".

reduction

The type of reduction to use for the plot. Defaults to the default reduction in the Seurat object.

dims

The dimensions of the reduction to use for the plot. Defaults to the first two dimensions.

cells

The cells to include in the plot. Defaults to all cells.

show_transition

A logical value indicating whether to display transitions between different cell states. Defaults to FALSE.

node_palette

The color palette to use for node coloring. Defaults to "Paired".

node_palcolor

A vector of colors to use for node coloring. Defaults to NULL.

node_size

The size of the nodes in the plot. Defaults to 4.

node_alpha

The transparency of the nodes in the plot. Defaults to 1.

node_highlight

The group(s) to highlight in the plot. Defaults to NULL.

node_highlight_color

The color to use for highlighting the nodes. Defaults to "red".

label

A logical value indicating whether to display labels for the nodes. Defaults to FALSE.

label.size

The size of the labels. Defaults to 3.5.

label.fg

The color of the label text. Defaults to "white".

label.bg

The background color of the labels. Defaults to "black".

label.bg.r

The transparency of the label background color. Defaults to 0.1.

label_insitu

A logical value indicating whether to use in-situ labeling for the nodes. Defaults to FALSE.

label_repel

A logical value indicating whether to use repel mode for labeling nodes. Defaults to FALSE.

label_repulsion

The repulsion factor for repel mode. Defaults to 20.

label_point_size

The size of the points in the labels. Defaults to 1.

label_point_color

The color of the points in the labels. Defaults to "black".

label_segment_color

The color of the lines connecting the points in the labels. Defaults to "black".

edge_threshold

The threshold for including edges in the plot. Defaults to 0.01.

edge_line

The type of line to use for the edges. Possible values are "straight" and "curved". Defaults to "straight".

edge_line_curvature

The curvature factor for curved edges. Defaults to 0.3.

edge_line_angle

The angle for curved edges. Defaults to 90.

edge_size

The size range for the edges. Defaults to c(0.2, 1).

edge_color

The color of the edges. Defaults to "grey40".

edge_alpha

The transparency of the edges. Defaults to 0.5.

edge_shorten

The amount to shorten the edges. Defaults to 0.

edge_offset

The offset for curved edges. Defaults to 0.

edge_highlight

The group(s) to highlight in the plot. Defaults to NULL.

edge_highlight_color

The color to use for highlighting the edges. Defaults to "red".

transition_threshold

The threshold for including transitions in the plot. Defaults to 0.01.

transition_line

The type of line to use for the transitions. Possible values are "straight" and "curved". Defaults to "straight".

transition_line_curvature

The curvature factor for curved transitions. Defaults to 0.3.

transition_line_angle

The angle for curved transitions. Defaults to 90.

transition_size

The size range for the transitions. Defaults to c(0.2, 1).

transition_color

The color of the transitions. Defaults to "black".

transition_alpha

The transparency of the transitions. Defaults to 1.

transition_arrow_type

The type of arrow to use for the transitions. Possible values are "closed", "open", and "triangle". Defaults to "closed".

transition_arrow_angle

The angle of the arrow for transitions. Defaults to 20.

transition_arrow_length

The length of the arrow for transitions. Defaults to unit(0.02, "npc").

transition_shorten

The amount to shorten the transitions. Defaults to 0.05.

transition_offset

The offset for curved transitions. Defaults to 0.

transition_highlight

The group(s) to highlight in the plot. Defaults to NULL.

transition_highlight_color

The color to use for highlighting the transitions. Defaults to "red".

aspect.ratio

The aspect ratio of the plot. Defaults to 1.

title

The title of the plot. Defaults to "PAGA".

subtitle

The subtitle of the plot. Defaults to NULL.

xlab

The label for the x-axis. Defaults to NULL.

ylab

The label for the y-axis. Defaults to NULL.

legend.position

The position of the legend. Possible values are "right", "left", "bottom", and "top". Defaults to "right".

legend.direction

The direction of the legend. Possible values are "vertical" and "horizontal". Defaults to "vertical".

theme_use

The name of the theme to use for the plot. Defaults to "theme_scp".

theme_args

A list of arguments to pass to the theme function. Defaults to an empty list.

return_layer

A logical value indicating whether to return the plot as a ggplot2 layer. Defaults to FALSE.

See also

Examples

data("pancreas_sub")
pancreas_sub <- RunPAGA(srt = pancreas_sub, group_by = "SubCellType", linear_reduction = "PCA", nonlinear_reduction = "UMAP", return_seurat = TRUE)
#> 'misc' slot is not converted.
#> 'tools' slot is not converted.
#> Error in slot(object = object, name = "features")[[layer]] <- features: more elements supplied than there are to replace
PAGAPlot(pancreas_sub)
#> Error in PAGAPlot(pancreas_sub): Cannot find the paga result.
PAGAPlot(pancreas_sub, type = "connectivities_tree")
#> Error in PAGAPlot(pancreas_sub, type = "connectivities_tree"): Cannot find the paga result.
PAGAPlot(pancreas_sub, reduction = "PCA")
#> Error in PAGAPlot(pancreas_sub, reduction = "PCA"): Cannot find the paga result.
PAGAPlot(pancreas_sub, reduction = "PAGAUMAP2D")
#> Error in PAGAPlot(pancreas_sub, reduction = "PAGAUMAP2D"): Cannot find the paga result.
PAGAPlot(pancreas_sub, edge_shorten = 0.05)
#> Error in PAGAPlot(pancreas_sub, edge_shorten = 0.05): Cannot find the paga result.
PAGAPlot(pancreas_sub, label = TRUE)
#> Error in PAGAPlot(pancreas_sub, label = TRUE): Cannot find the paga result.
PAGAPlot(pancreas_sub, label = TRUE, label_insitu = TRUE)
#> Error in PAGAPlot(pancreas_sub, label = TRUE, label_insitu = TRUE): Cannot find the paga result.
PAGAPlot(pancreas_sub, label = TRUE, label_insitu = TRUE, label_repel = TRUE)
#> Error in PAGAPlot(pancreas_sub, label = TRUE, label_insitu = TRUE, label_repel = TRUE): Cannot find the paga result.
PAGAPlot(pancreas_sub, edge_line = "curved")
#> Error in PAGAPlot(pancreas_sub, edge_line = "curved"): Cannot find the paga result.
PAGAPlot(pancreas_sub, node_size = "GroupSize")
#> Error in PAGAPlot(pancreas_sub, node_size = "GroupSize"): Cannot find the paga result.
PAGAPlot(pancreas_sub, node_highlight = "Ductal")
#> Error in PAGAPlot(pancreas_sub, node_highlight = "Ductal"): Cannot find the paga result.
PAGAPlot(pancreas_sub, edge_highlight = paste("Pre-endocrine", levels(pancreas_sub$SubCellType), sep = "-"))
#> Error in PAGAPlot(pancreas_sub, edge_highlight = paste("Pre-endocrine",     levels(pancreas_sub$SubCellType), sep = "-")): Cannot find the paga result.

pancreas_sub <- RunSCVELO(srt = pancreas_sub, group_by = "SubCellType", linear_reduction = "PCA", nonlinear_reduction = "UMAP", return_seurat = TRUE)
#> 'misc' slot is not converted.
#> 'tools' slot is not converted.
#> Error in slot(object = object, name = "features")[[layer]] <- features: more elements supplied than there are to replace
PAGAPlot(pancreas_sub, show_transition = TRUE)
#> Error in PAGAPlot(pancreas_sub, show_transition = TRUE): Cannot find the paga result.
PAGAPlot(pancreas_sub, show_transition = TRUE, transition_offset = 0.02)
#> Error in PAGAPlot(pancreas_sub, show_transition = TRUE, transition_offset = 0.02): Cannot find the paga result.