Runs the Slingshot algorithm on a Seurat object.
Usage
RunSlingshot(
  srt,
  group.by,
  reduction = NULL,
  dims = NULL,
  start = NULL,
  end = NULL,
  prefix = NULL,
  reverse = FALSE,
  align_start = FALSE,
  show_plot = TRUE,
  lineage_palette = "Dark2",
  seed = 11,
  ...
)Arguments
- srt
- A Seurat object. 
- group.by
- The variable to group the cells by. 
- reduction
- The reduction technique to use for dimensionality reduction. Default is NULL, which uses the default reduction for the Seurat object. 
- dims
- The dimensions to use for the Slingshot algorithm. Default is NULL, which uses first two dimensions. 
- start
- The starting group for the Slingshot algorithm. Default is NULL. 
- end
- The ending group for the Slingshot algorithm. Default is NULL. 
- prefix
- The prefix to add to the column names of the resulting pseudotime variable. Default is NULL. 
- reverse
- Logical value indicating whether to reverse the pseudotime variable. Default is FALSE. 
- align_start
- Logical value indicating whether to align the starting pseudotime values at the maximum pseudotime. Default is FALSE. 
- show_plot
- Logical value indicating whether to show the dimensionality plot. Default is TRUE. 
- lineage_palette
- The color palette to use for the lineages in the plot. Default is "Dark2". 
- seed
- The random seed to use for reproducibility. Default is 11. 
- ...
- Additional arguments to be passed to the - slingshotfunction.
Examples
data("pancreas_sub")
pancreas_sub <- RunSlingshot(pancreas_sub, group.by = "SubCellType", reduction = "UMAP")
#> Warning: No shared levels found between `names(values)` of the manual scale and the data's fill values.
#> Warning: No shared levels found between `names(values)` of the manual scale and the data's fill values.
#> Warning: Removed 8 rows containing missing values or values outside the scale range (`geom_path()`).
#> Warning: Removed 8 rows containing missing values or values outside the scale range (`geom_path()`).
#> Error in gtable_add_grob(gtable, grob, t = mean(gtable$layout[grep("panel",     gtable$layout$name), "t"]), l = dim(gtable)[2], clip = clip): `grobs` must be a single grob or a list of grobs, not a list matrix.
pancreas_sub <- RunSlingshot(pancreas_sub, group.by = "SubCellType", reduction = "PCA", dims = 1:10)
#> Warning: No shared levels found between `names(values)` of the manual scale and the data's fill values.
#> Warning: No shared levels found between `names(values)` of the manual scale and the data's fill values.
#> Error in gtable_add_grob(gtable, grob, t = mean(gtable$layout[grep("panel",     gtable$layout$name), "t"]), l = dim(gtable)[2], clip = clip): `grobs` must be a single grob or a list of grobs, not a list matrix.
CellDimPlot(pancreas_sub, group.by = "SubCellType", reduction = "UMAP", lineages = paste0("Lineage", 1:2), lineages_span = 0.1)
#> Error in CellDimPlot(pancreas_sub, group.by = "SubCellType", reduction = "UMAP",     lineages = paste0("Lineage", 1:2), lineages_span = 0.1): Lineage1 is not in the meta.data of srt object.
# 3D lineage
pancreas_sub <- Standard_SCP(pancreas_sub)
#> [2025-09-08 16:17:28.062063] Start Standard_SCP
#> [2025-09-08 16:17:28.062247] Checking srtList... ...
#> Warning: Failed to check Seurat version compatibility: 'list' object cannot be coerced to type 'double'
#> Warning: The following arguments are not used: drop
#> Warning: The following arguments are not used: drop
#> Error in as.vector(data): no method for coercing this S4 class to a vector
pancreas_sub <- RunSlingshot(pancreas_sub, group.by = "SubCellType", reduction = "StandardpcaUMAP3D")
#> Warning: No shared levels found between `names(values)` of the manual scale and the data's fill values.
#> Warning: No shared levels found between `names(values)` of the manual scale and the data's fill values.
#> Warning: Removed 8 rows containing missing values or values outside the scale range (`geom_path()`).
#> Warning: Removed 8 rows containing missing values or values outside the scale range (`geom_path()`).
#> Error in gtable_add_grob(gtable, grob, t = mean(gtable$layout[grep("panel",     gtable$layout$name), "t"]), l = dim(gtable)[2], clip = clip): `grobs` must be a single grob or a list of grobs, not a list matrix.
CellDimPlot(pancreas_sub, group.by = "SubCellType", reduction = "UMAP", lineages = paste0("Lineage", 1:3), lineages_span = 0.1, lineages_trim = c(0.05, 0.95))
#> Error in CellDimPlot(pancreas_sub, group.by = "SubCellType", reduction = "UMAP",     lineages = paste0("Lineage", 1:3), lineages_span = 0.1, lineages_trim = c(0.05,         0.95)): Lineage1 is not in the meta.data of srt object.