Updates shinycell config to recognize a metadata as a discrete one. This function is useful when a discrete metadata only contains integers, e.g. unspervised cluster labels starting from 0 to (n-1) clusters. If these metadata are not factored, then the app is unable to recognise these as discrete metadata automatically. This is especially important when working with loom files as they do not support factors/levels by default.

make_meta_categorical(scConf, meta.to.input, obj, maxLevels = 50)

Arguments

scConf

shinycell config data.table

meta.to.input

metadata from the single-cell metadata to be made discrete. Must match one of the following:

  • Seurat objects: column names in seu@meta.data i.e. colnames(seu@meta.data)

  • SCE objects: column names in sce@colData i.e. colnames(sce@colData)

  • h5ad files: column names in h5ad.obs i.e. h5ad.obs.columns.values

  • loom files: column names in loom/col_attrs i.e. loom/col_attrs.names

obj

input single-cell object for Seurat (v3+) / SingleCellExperiment data or input file path for h5ad / loom files

maxLevels

maximum number of levels allowed for categorical metadata. Metadata with nlevels > maxLevels will throw up an error message

Value

updated shinycell config data.table

Author

John F. Ouyang

Examples

if (FALSE) {
scConf = make_meta_categorical(scConf, "clusterID", loom_obj)
}