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 = grid::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_scop",
  theme_args = list(),
  return_layer = FALSE
)

Arguments

srt

A Seurat object containing a PAGA result.

paga

The PAGA result from the Seurat object. Default is 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. Default is the default reduction in the Seurat object.

dims

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

cells

The cells to include in the plot. Default is all cells.

show_transition

Whether to display transitions between different cell states. Default is FALSE.

node_palette

The color palette to use for node coloring. Default is "Paired".

node_palcolor

A vector of colors to use for node coloring. Default is NULL.

node_size

The size of the nodes in the plot. Default is 4.

node_alpha

A numeric value or column name of node specifying the transparency of the nodes.

node_highlight

A character vector specifying the names of nodes to highlight.

node_highlight_color

A character vector specifying the color for highlighting nodes.

label

Whether to show labels for the nodes.

label.size

The size of the labels.

label.fg

A character vector specifying the foreground color of the labels.

label.bg

A character vector specifying the background color of the labels.

label.bg.r

The background color transparency of the labels.

label_insitu

Whether to display the node group labels in situ or as numeric values.

label_repel

Whether to use force-directed label repulsion.

label_repulsion

The repulsion force for labels.

label_point_size

The size of the points in the labels. Default is 1.

label_point_color

The color of the points in the labels. Default is "black".

label_segment_color

The color of the lines connecting the points in the labels. Default is "black".

edge_threshold

The threshold for including edges in the plot. Default is 0.01.

edge_line

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

edge_line_curvature

The curvature factor for curved edges. Default is 0.3.

edge_line_angle

The angle for curved edges. Default is 90.

edge_size

The size range for the edges. Default is c(0.2, 1).

edge_color

The color of the edges. Default is "grey40".

edge_alpha

The transparency of the edges. Default is 0.5.

edge_shorten

The amount to shorten the edges. Default is 0.

edge_offset

The offset for curved edges. Default is 0.

edge_highlight

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

edge_highlight_color

The color to use for highlighting the edges. Default is "red".

transition_threshold

The threshold for removing transitions.

transition_line

A character vector specifying the type of line for transitions (straight, curved).

transition_line_curvature

The curvature of curved transitions.

transition_line_angle

The angle of curved transitions.

transition_size

A numeric vector specifying the range of transition sizes.

transition_color

A character vector specifying the color of the transitions.

transition_alpha

The transparency of the transitions.

transition_arrow_type

A character vector specifying the type of arrow for transitions (closed, open).

transition_arrow_angle

The angle of the transition arrow.

transition_arrow_length

The length of the transition arrow.

transition_shorten

The length of the transition shorten.

transition_offset

The length of the transition offset.

transition_highlight

A character vector specifying the names of transitions to highlight.

transition_highlight_color

A character vector specifying the color for highlighting transitions.

aspect.ratio

The aspect ratio of the plot. Default is 1.

title

The title of the plot. Default is "PAGA".

subtitle

The subtitle of the plot. Default is NULL.

xlab

The label for the x-axis. Default is NULL.

ylab

The label for the y-axis. Default is NULL.

legend.position

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

legend.direction

The direction of the legend. Possible values are "vertical" and "horizontal". Default is "vertical".

theme_use

The name of the theme to use for the plot. Default is "theme_scop".

theme_args

A list of arguments to pass to the theme function. Default is list().

return_layer

Whether to return the plot as a ggplot2 layer. Default is FALSE.

Examples

if (FALSE) { # \dontrun{
data(pancreas_sub)
pancreas_sub <- standard_scop(pancreas_sub)
pancreas_sub <- RunPAGA(
  pancreas_sub,
  group_by = "SubCellType",
  linear_reduction = "PCA",
  nonlinear_reduction = "UMAP",
  return_seurat = TRUE
)

PAGAPlot(pancreas_sub)

PAGAPlot(
  pancreas_sub,
  type = "connectivities_tree"
)

PAGAPlot(
  pancreas_sub,
  reduction = "PCA"
)

PAGAPlot(
  pancreas_sub,
  reduction = "PAGAUMAP2D"
)

PAGAPlot(
  pancreas_sub,
  edge_shorten = 0.05
)

PAGAPlot(
  pancreas_sub,
  label = TRUE
)

PAGAPlot(
  pancreas_sub,
  label = TRUE,
  label_insitu = TRUE
)

PAGAPlot(
  pancreas_sub,
  label = TRUE,
  label_insitu = TRUE,
  label_repel = TRUE
)

PAGAPlot(
  pancreas_sub,
  edge_line = "curved"
)

PAGAPlot(
  pancreas_sub,
  node_size = "GroupSize"
)

PAGAPlot(
  pancreas_sub,
  node_highlight = "Ductal"
)

PAGAPlot(
  pancreas_sub,
  edge_highlight = paste(
    "Pre-endocrine",
    levels(pancreas_sub$SubCellType),
    sep = "-"
  )
)

pancreas_sub <- RunSCVELO(
  pancreas_sub,
  group_by = "SubCellType",
  linear_reduction = "PCA",
  nonlinear_reduction = "UMAP",
  return_seurat = TRUE
)

PAGAPlot(
  pancreas_sub,
  show_transition = TRUE
)

PAGAPlot(
  pancreas_sub,
  show_transition = TRUE,
  transition_offset = 0.02
)
} # }