Skip to contents

Estimate cell cycle state with Seurat gene-set scoring, scran::cyclone(), or tricycle.

Usage

RunCellCycle(
  srt,
  method = c("Seurat", "cyclone", "tricycle"),
  assay = NULL,
  layer = "counts",
  species = "Homo_sapiens",
  name = "CellCycle",
  phase_col = NULL,
  overwrite = FALSE,
  verbose = TRUE,
  ...
)

Arguments

srt

A Seurat object.

method

Cell cycle estimation method. One of "Seurat", "cyclone", or "tricycle".

assay

Assay to use. NULL uses the default assay.

layer

Data layer used by cyclone and tricycle.

species

Latin names for animals, i.e., "Homo_sapiens", "Mus_musculus"

name

Prefix for metadata columns and tricycle reduction names.

phase_col

Optional metadata column used to store the final phase call, for example "Phase". Default is NULL, which avoids writing a compatibility phase column.

overwrite

Whether to overwrite existing output columns.

verbose

Whether to print the message. Default is TRUE.

...

Additional arguments passed to the selected method.

Value

A Seurat object with cell cycle metadata and, for tricycle, a tricycle embedding reduction.

Examples

data(pancreas_sub)
srt <- pancreas_sub[, 1:80]

srt <- RunCellCycle(
  srt,
  method = "cyclone",
  species = "Mus_musculus",
  name = "Cyclone"
)
#>  [2026-08-30 04:50:59] Start cell cycle scoring
#> 'select()' returned 1:many mapping between keys and columns
#>  [2026-08-30 04:50:59] Map input feature names to ENSEMBL IDs with org.Mm.eg.db for scran::cyclone
#>  [2026-08-30 04:51:07] Cell cycle scoring completed

srt <- RunCellCycle(
  srt,
  method = "tricycle",
  species = "Mus_musculus",
  name = "Tricycle"
)
#>  [2026-08-30 04:51:07] Start cell cycle scoring
#> Warning: Layer ‘data’ is empty
#> Warning: Layer ‘scale.data’ is empty
#> Warning: 'librarySizeFactors' is deprecated.
#> Use 'scrapper::centerSizeFactors' instead.
#> See help("Deprecated")
#> Warning: 'normalizeCounts' is deprecated.
#> Use 'scrapper::normalizeCounts' instead.
#> See help("Deprecated")
#> No custom reference projection matrix provided. The ref learned from mouse Neuroshpere data will be used.
#> The number of projection genes found in the new data is 485.
#>  [2026-08-30 04:51:08] Cell cycle scoring completed
if ("Cyclone_cyclone_Phase" %in% colnames(srt@meta.data)) {
  CellDimPlot(
    srt,
    reduction = "Tricycle_tricycleEmbedding",
    group.by = "Cyclone_cyclone_Phase"
  )
}

FeatureDimPlot(
  srt,
  reduction = "Tricycle_tricycleEmbedding",
  features = "Tricycle_tricyclePosition"
)