Runs the Monocle3 algorithm on a Seurat object.
Usage
RunMonocle3(
srt,
assay = NULL,
slot = "counts",
reduction = DefaultReduction(srt),
clusters = NULL,
graph = NULL,
partition_qval = 0.05,
k = 50,
cluster_method = "louvain",
num_iter = 2,
resolution = NULL,
use_partition = NULL,
close_loop = TRUE,
root_pr_nodes = NULL,
root_cells = NULL,
seed = 11
)
Arguments
- srt
A Seurat object.
- assay
The name of the assay in the Seurat object to use for analysis. Defaults to NULL, in which case the default assay of the object is used.
- slot
The slot in the Seurat object to use for analysis. Default is "counts".
- reduction
The reduction used. Defaults to NULL, in which case the default reduction of the Seurat object is used.
- clusters
The cluster variable in the Seurat object to use for analysis. Defaults to NULL, in which case use Monocle clusters is used.
- graph
The name of the graph slot in the Seurat object to use for analysis. Defaults to NULL, in which case Monocle graph is used.
- partition_qval
The q-value threshold for partitioning cells. Defaults to 0.05.
- k
The number of nearest neighbors to consider for clustering. Defaults to 50.
- cluster_method
The clustering method to use. Defaults to "louvain".
- num_iter
The number of iterations for clustering. Defaults to 2.
- resolution
The resolution parameter for clustering. Defaults to NULL.
- use_partition
Whether to use partitions to learn disjoint graph in each partition. If not specified, user will be prompted for input. Defaults to NULL.
- close_loop
Whether to close loops in the graph. Defaults to TRUE.
- root_pr_nodes
The root nodes to order cells. If not specified, user will be prompted for input. Defaults to NULL.
- root_cells
The root cells to order cells. If not specified, user will be prompted for input. Defaults to NULL.
- seed
The random seed to use for reproducibility. Defaults to 11.
Examples
if (interactive()) {
data("pancreas_sub")
# Use Monocle clusters to infer the trajectories
pancreas_sub <- RunMonocle3(srt = pancreas_sub, reduction = "UMAP")
names(pancreas_sub@tools$Monocle3)
trajectory <- pancreas_sub@tools$Monocle3$trajectory
milestones <- pancreas_sub@tools$Monocle3$milestones
CellDimPlot(pancreas_sub, group.by = "Monocle3_partitions", reduction = "UMAP", label = TRUE, theme_use = "theme_blank") + trajectory + milestones
CellDimPlot(pancreas_sub, group.by = "Monocle3_clusters", reduction = "UMAP", label = TRUE, theme_use = "theme_blank") + trajectory
FeatureDimPlot(pancreas_sub, features = "Monocle3_Pseudotime", reduction = "UMAP", theme_use = "theme_blank") + trajectory
## Select the lineage using monocle3::choose_graph_segments
# cds <- pancreas_sub@tools$Monocle3$cds
# cds_sub <- monocle3::choose_graph_segments(cds, starting_pr_node = NULL, ending_pr_nodes = NULL)
# pancreas_sub$Lineages_1 <- NA
# pancreas_sub$Lineages_1[colnames(cds_sub)] <- pancreas_sub$Monocle3_Pseudotime[colnames(cds_sub)]
# CellDimPlot(pancreas_sub, group.by = "SubCellType", lineages = "Lineages_1", lineages_span = 0.1, theme_use = "theme_blank")
# Use Seurat clusters to infer the trajectories
pancreas_sub <- Standard_SCP(pancreas_sub)
CellDimPlot(pancreas_sub, group.by = c("Standardclusters", "CellType"), label = TRUE, theme_use = "theme_blank")
pancreas_sub <- RunMonocle3(srt = pancreas_sub, clusters = "Standardclusters")
trajectory <- pancreas_sub@tools$Monocle3$trajectory
CellDimPlot(pancreas_sub, group.by = "Monocle3_partitions", reduction = "StandardUMAP2D", label = TRUE, theme_use = "theme_blank") + trajectory
CellDimPlot(pancreas_sub, group.by = "Monocle3_clusters", reduction = "StandardUMAP2D", label = TRUE, theme_use = "theme_blank") + trajectory
FeatureDimPlot(pancreas_sub, features = "Monocle3_Pseudotime", reduction = "StandardUMAP2D", theme_use = "theme_blank") + trajectory
# Use custom graphs and cell clusters to infer the partitions and trajectories, respectively
pancreas_sub <- Standard_SCP(pancreas_sub, cluster_resolution = 5)
CellDimPlot(pancreas_sub, group.by = c("Standardclusters", "CellType"), label = TRUE)
pancreas_sub <- RunMonocle3(
srt = pancreas_sub,
clusters = "Standardclusters", graph = "Standardpca_SNN"
)
trajectory <- pancreas_sub@tools$Monocle3$trajectory
CellDimPlot(pancreas_sub, group.by = "Monocle3_partitions", reduction = "StandardUMAP2D", label = TRUE, theme_use = "theme_blank") + trajectory
CellDimPlot(pancreas_sub, group.by = "Monocle3_clusters", reduction = "StandardUMAP2D", label = TRUE, theme_use = "theme_blank") + trajectory
FeatureDimPlot(pancreas_sub, features = "Monocle3_Pseudotime", reduction = "StandardUMAP2D", theme_use = "theme_blank") + trajectory
}