getLineageModel: Infer entropy-directed cell lineage model

getLineageModelR Documentation

Infer entropy-directed cell lineage model

Description

SLICE provides two independent methods (clustering-based and graph-based) to perform lineage model inference

Usage

getLineageModel(
  object,
  lm.method = "clustering",
  model.type = "tree",
  reverse = F,
  ss.method = "all",
  ss.threshold = 0.25,
  wiring.threshold = function(mst) max(mst),
  community.method = "louvain",
  cluster.method = "kmeans",
  k = NULL,
  k.max = 10,
  B = 100,
  k.opt.method = "firstmax",
  ...
)

Arguments

object

Slice object

lm.method

Select "clustering" based or "graph" based method to infer lineage model

model.type

The type of models that will be infered: "tree" - directed minimum spanning tree based, "graph" - directed graph based

reverse

If FALSE, infer differentiation lineage model (edge directions follow entropy reduction), if TRUE, infer dedifferentiation lineage model (edge directions follow entropy induction)

ss.method

The method for defining core cell set for stable state detection: all - all the cells in a cluster constitute the core cell set; top - cells with scEntropy lower than the ss.threshold quantile of all the values in a cluster constitute the core cell set; pcst - cells with scEntropy lower than the ss.threshold quantile of all the values in a cluster constitute the prize nodes, linear prize-collecting steiner tree algorithm is used to approximate an optimal subnetwork, the cells in the subnetwork constitute the core cell set. Stable states are defined as the centroids of the core cell sets.

ss.threshold

The threshold used when ss.method is "top" or "pcst". Default: 0.25.

wiring.threshold

The threshold for the local wiring procedure in the cell-cell network construction. By default, it is set to the longest edge in the minimum spanning treee. Only take effect when lm.method is "grpah"

community.method

The method for network community detection. Most of the community detection methods implemented in the igraph package are supported, including "fast_greedy", "edge_betweenness", "label_prop", "leading_eigen","louvain","spinglass", "walktrap". If this parameter is set to "auto", the algorithm will perform all the community detection methods and select the one that generates the communities with best modularity. Only take effect when lm.method is "graph"

cluster.method

Use "kmeans" or "pam" to divide cells into clusters. Only take effect when lm.method is "clustering"

k

The number of cell clusters. If NULL, Gap statistic will be used to determine an optimal k.

k.max

The "k.max" parameter of cluster::clusGap(); used when k is NULL.

B

The "B" parameter of cluster::clusGap(); used when k is NULL

k.opt.method

The "method" parameter of cluster::maxSE(); used when k is NULL

Details

The two algorithms both first divide cells into distinct cell clusters (representing cell states or cell types), find the stable state in each cluster, and then infer the lineage model by constructing a directed graph or a directed minimum spanning tree among stable states. The directions of edges in the model follow entropy reduction (differentiation model) and entropy induction (dedifferentiation model)

Prerequisite: the "vds", "rds", and "entropy" slots in the input slice object must be set

Value

updated slice object with inferred lineage model in the "model" slot


minzheguo/SLICE documentation built on June 5, 2023, 11:56 a.m.