SeuratSubClustering

Sub-cluster the selected T cells.

Find clusters of a subset of cells.

It's unlike [Seurat::FindSubCluster], which only finds subclusters of a single cluster. Instead, it will perform the whole clustering procedure on the subset of cells. One can use metadata to specify the subset of cells to perform clustering on.

For the subset of cells, the reductions will be re-performed on the subset of cells, and then the clustering will be performed on the subset of cells. The reduction will be saved in sobj@reduction$sub_umap_<casename> of the original object and the clustering will be saved in the metadata of the original object using the casename as the column name.

Environment Variables

  • ncores (type=int;order=-100): Default: 1.
    Number of cores to use.
    Used in future::plan(strategy = "multicore", workers = <ncores>) to parallelize some Seurat procedures.
  • mutaters (type=json): Default: {}.
    The mutaters to mutate the metadata to subset the cells.
    The mutaters will be applied in the order specified.
  • subset: An expression to subset the cells, will be passed to tidyseurat::filter().

  • RunUMAP (ns): Arguments for RunUMAP().
    object is specified internally as the subset object, and - in the key will be replaced with ..
    dims=N will be expanded to dims=1:N; The maximal value of N will be the minimum of N and the number of columns - 1 for each sample.

  • FindNeighbors (ns): Arguments for FindNeighbors().
    object is specified internally, and - in the key will be replaced with ..
  • FindClusters (ns): Arguments for FindClusters().
    object is specified internally, and - in the key will be replaced with ..
    The cluster labels will be prefixed with "s". The first cluster will be "s1", instead of "s0".
    • resolution (type=auto): Default: 0.8.
      The resolution of the clustering. You can have multiple resolutions as a list or as a string separated by comma.
      Ranges are also supported, for example: 0.1:0.5:0.1 will generate 0.1, 0.2, 0.3, 0.4, 0.5. The step can be omitted, defaulting to 0.1.
      The results will be saved in <casename>_<resolution>.
      The final resolution will be used to define the clusters at <casename>.
    • <more>: See https://satijalab.org/seurat/reference/findclusters
  • cache (type=auto): Default: /tmp.
    Whether to cache the information at different steps.
    If True, the seurat object will be cached in the job output directory, which will be not cleaned up when job is rerunning.
    The cached seurat object will be saved as <signature>.<kind>.RDS file, where <signature> is the signature determined by the input and envs of the process.
    See https://github.com/satijalab/seurat/issues/7849, https://github.com/satijalab/seurat/issues/5358 and https://github.com/satijalab/seurat/issues/6748 for more details also about reproducibility issues.
    To not use the cached seurat object, you can either set cache to False or delete the cached file at <signature>.RDS in the cache directory.
  • cases (type=json): Default: {'subcluster': Diot({})}.
    The cases to perform subclustering.
    Keys are the names of the cases and values are the dicts inherited from envs except mutaters and cache.
    If empty, a case with name subcluster will be created with default parameters.

Metadata

The metadata of the Seurat object will be updated with the sub-clusters specified by names (keys) of envs.cases:

SeuratSubClustering-metadata