Skip to contents

Run doublet-calling with scds

Usage

db_scds(
  srt,
  assay = "RNA",
  db_rate = ncol(srt)/1000 * 0.01,
  method = c("hybrid", "cxds", "bcds"),
  data_type = NULL,
  ...
)

Arguments

srt

A Seurat object.

assay

The name of the assay to be used for doublet-calling. Default is "RNA".

db_rate

The expected doublet rate. Default is calculated as ncol(srt) / 1000 * 0.01.

method

The method to be used for doublet-calling. Options are "hybrid", "cxds", or "bcds".

data_type

Optional precomputed result from CheckDataType() for the input assay. Primarily used internally to avoid repeated scans of the same count matrix across nested QC calls.

...

Additional arguments to be passed to scds::cxds_bcds_hybrid().

Examples

data(pancreas_sub)
pancreas_sub <- standard_scop(pancreas_sub)
#>  [2026-04-26 02:32:08] Start standard processing workflow...
#>  [2026-04-26 02:32:08] Checking a list of <Seurat>...
#> ! [2026-04-26 02:32:08] Data 1/1 of the `srt_list` is "unknown"
#>  [2026-04-26 02:32:08] Perform `NormalizeData()` with `normalization.method = 'LogNormalize'` on 1/1 of `srt_list`...
#>  [2026-04-26 02:32:11] Perform `Seurat::FindVariableFeatures()` on 1/1 of `srt_list`...
#>  [2026-04-26 02:32:12] Use the separate HVF from `srt_list`
#>  [2026-04-26 02:32:12] Number of available HVF: 2000
#>  [2026-04-26 02:32:12] Finished check
#>  [2026-04-26 02:32:12] Perform `Seurat::ScaleData()`
#>  [2026-04-26 02:32:13] Perform pca linear dimension reduction
#>  [2026-04-26 02:32:13] Use stored estimated dimensions 1:20 for Standardpca
#>  [2026-04-26 02:32:14] Perform `Seurat::FindClusters()` with `cluster_algorithm = 'louvain'` and `cluster_resolution = 0.6`
#>  [2026-04-26 02:32:14] Reorder clusters...
#>  [2026-04-26 02:32:14] Skip `log1p()` because `layer = data` is not "counts"
#>  [2026-04-26 02:32:14] Perform umap nonlinear dimension reduction
#>  [2026-04-26 02:32:14] Perform umap nonlinear dimension reduction using Standardpca (1:20)
#>  [2026-04-26 02:32:20] Perform umap nonlinear dimension reduction using Standardpca (1:20)
#>  [2026-04-26 02:32:25] Standard processing workflow completed
pancreas_sub <- db_scds(pancreas_sub, method = "hybrid")
#>  [2026-04-26 02:32:25] Running scds with method "hybrid"
#>  [2026-04-26 02:32:26] Data type is raw counts
CellDimPlot(
  pancreas_sub,
  reduction = "umap",
  group.by = "db.scds_hybrid_class"
)


FeatureDimPlot(
  pancreas_sub,
  reduction = "umap",
  features = "db.scds_hybrid_score"
)