NormalizeData(sobj, normalization.method = "CLR", margin = 2,
verbose = FALSE)

ScaleData(sobj_filt, vars.to.regress = "percent.mt", verbose = FALSE)

RunPCA(sobj_filt, npcs = 30, verbose = FALSE)

JackStraw(sobj_filt, num.replicate = 50, dims = 25, verbose = FALSE)

FindNeighbors(sobj_filt, dims = 1:20, verbose = FALSE)

FindClusters(sobj_filt, resolution = r, verbose = FALSE)

RunUMAP(sobj_filt, dims = 1:20, umap.method = "uwot",

Seurat::ProjectDim(object, reduction = reduction.save, overwrite = TRUE,
verbose = FALSE)

RunUMAP(sobj_filt, reduction = "harmony", dims = 1:20,
reduction.name = "umap.harmony", umap.method = "uwot", metric = "cosine",
verbose = FALSE)