Creates ElbowPlot with ability to calculate and plot cutoffs for amount of variance conferred by the PCs. Cutoff 1 is PC where principal components only contribute less than 5% of standard deviation and the principal components cumulatively contribute 90% of the standard deviation. Cutoff 2 is point where the percent change in variation between the consecutive PCs is less than 0.1%.

ElbowPlot_scCustom(
  seurat_object,
  ndims = NULL,
  reduction = "pca",
  plot_type = "stdev",
  calc_cutoffs = TRUE,
  plot_cutoffs = TRUE,
  line_colors = c("dodgerblue", "firebrick"),
  cutoff_linewidth = NULL,
  linewidth = deprecated()
)

Arguments

seurat_object

name of Seurat object

ndims

The number of dims to plot. Default is NULL and will plot all dims

reduction

The reduction to use, default is "pca"

plot_type

One of "stdev" (default), "variance" (per-PC \ "cumulative_variance" (running sum of those percentages; equals 100\ stored PC when ndims spans all of them)

calc_cutoffs

logical, whether or not to calculate the cutoffs, default is TRUE.

plot_cutoffs

logical, whether to plot the cutoffs as vertical lines on plot, default is TRUE.

line_colors

colors for the cutoff lines, default is c("dodgerblue", "firebrick").

cutoff_linewidth

width of the cutoff lines, default is NULL, uses ggplot2 default.

linewidth

[Soft-deprecated]. See cutoff_linewidth.

Value

ggplot2 object

Examples

library(Seurat)
ElbowPlot_scCustom(seurat_object = pbmc_small)