= assignCellCycle(sce) sce
Scoring the cell cycle
cellula
implements one method for cell cycle scoring, as done by the tricycle
package by Zheng and colleagues.
The assignCellCycle()
function is a simple wrapper to tricycle
with a couple added features: two methods to determine the origin of the PCA point cloud automatically, and a simple way to infer the cell cycle phase (as a categorical vector) using the authors’ indications.
The methods for recentering (recenter
argument) are:
optim
an optimization routine that finds the point within the PCA point cloud that is farthest from all other points (by Pierre-Luc Germain)chull
finds the center by finding the centroid of the convex hull of the cloudnone
takes (0,0) as center.
Additional parameters feed directly into the tricycle::estimate_cycle_position()
function, in particular:
gname.type
the type of gene names (rownames of theSCE
object), either"SYMBOL"
or"ENSEMBL"
gname
therowData(sce)
column with gene identifiers, if not rownamesexpres_values
the assay to use to project data on the reference space.
The plotCellCycle()
function takes tricycle
results and plots them in a circular embedding in which the position of each cell reflects the cell cycle phase it is estimated to be in.
The rings_by
argument controls how many rings the data will be divided into: it can be clusters, samples, batches, etc.
The colour_by
argument controls the data used for the color scale. By default it is the position (angle) on the projection, which, being cyclical, requires a cyclical color palette.
# Let's make shorter labels
$labels_AUC = gsub(sce$labels_AUC, pattern = "MURARO_PANCREAS_", replacement = "")
sce$labels_AUC = gsub(sce$labels_AUC, pattern = "_CELL", replacement = "")
sce
plotCycle(sce, rings_by = "labels_AUC")