Skip to contents

This function generates a dot plot for multiple genes, comparing expression levels across one or two specified groups. It supports both individual and pseudobulk expression calculations. Highly variable customization options allow control over dot size, color scaling, annotations, and axis orientation. The function integrates seamlessly with Seurat objects for single-cell RNA-seq analysis.

Usage

DO.Dotplot(
  Seu_object,
  Feature,
  group.by.x = NULL,
  group.by.y = NULL,
  group.by.y2 = NULL,
  across.group.by.x = F,
  across.group.by.y = F,
  sort_x = NULL,
  dot.size = c(1, 6),
  plot.margin = c(1, 1, 1, 1),
  midpoint = 0.5,
  scale_gene = F,
  returnValue = F,
  log1p_nUMI = T,
  hide_zero = T,
  annotation_x = F,
  annotation_x_position = 0.25,
  annotation_x_rev = F,
  point_stroke = 0.2,
  limits_colorscale = NULL,
  coord_flip = F,
  ...
)

Arguments

Seu_object

The seurat Seu_object

Feature

Genes or DF of interest, Data frame should have columns with gene and annotation information, e.g. output of FindAllMarkers

group.by.x

group name to plot on x-axis

group.by.y

group name to look for in meta data

group.by.y2

second group name to look for in meta data

across.group.by.x

calculate a pseudobulk expression approach for the x-axis categories

across.group.by.y

calculate a pseudobulk expression approach for the y-axis categories, if group.by.y2 is specified Pseudobulk will be splitted by it

sort_x

Vector sorting the xaxis

dot.size

Vector of dot size

plot.margin

= plot margins

midpoint

midpoint in color gradient

scale_gene

IF True calculates the Z-score of the average expression per gene

hide_zero

Removes dots for genes with 0 expression

annotation_x

Adds annotation on top of x axis instead on y axis

point_stroke

Defines the thickness of the black stroke on the dots

limits_colorscale

Set manually colorscale limits

...

Further arguments passed to annoSegment function if annotation_x == T

Value

a ggplot

Author

Mariano Ruz Jurado

Examples

if (FALSE) { # \dontrun{


DO.Dotplot(
  Seu_object = Seurat,
  Feature = c("CDH5","TTN","MALAT1"),
  group.by.x="condition"
)
} # }