--- a +++ b/Functions/variableFeatureSelection.R @@ -0,0 +1,19 @@ +#' @description get variable genes and evalute the cell cycle effect +#' @param seurat.lists: multi seurat object list +#' @parma method: seurat process method +#' @param: return.only.var.gene, vars.to.regress: parameter for SCTranform +#' @param: nfeatures: the number of variable features + +variableFeatureSelection <- function(seurat.lists, method = c("Standard", "SCT"), return.only.var.genes = T, nfeatures = 3000, vars.to.regress = c("nCount_RNA", "percent.mt")){ + + for (i in 1:length(seurat.lists)) { + DefaultAssay(seurat.lists[[i]]) <- "RNA" + if(method == "SCT"){ + seurat.lists[[i]] <- SCTransform(seurat.lists[[i]], variable.features.n = nfeatures, vars.to.regress = vars.to.regress, verbose = FALSE, return.only.var.genes = return.only.var.genes) + }else{ + seurat.lists[[i]] <- NormalizeData(seurat.lists[[i]], verbose = FALSE) + seurat.lists[[i]] <- FindVariableFeatures(seurat.lists[[i]], selection.method = "vst", nfeatures = nfeatures, verbose = FALSE) + } + } + return(seurat.lists) +} \ No newline at end of file