seurat
seurat copied to clipboard
Integration and Normalization of multiple biological replicates
I have a problem with UMI normalization with different biological replicates. I have 3 control samples and 5 treatments. My approach is the following:
- Normalization of each sample
- Merge samples
- DE analysis
My code:
for(i in 1:length(samples)){
xx <- Read10X(data.dir = paste0("/media/.../outs/filtered_feature_bc_matrix"))
xx <- CreateSeuratObject(counts = xx, project = sample.names[i], min.cells=3, min.features=200)
xx$sampleid <- sample.names[i]
xx[["percent.mt"]] <- PercentageFeatureSet(xx, pattern = "^MT-")
xx <- NormalizeData(ctrl1, normalization.method = "LogNormalize", scale.factor = 10000)
xx <- SCTransform(ctrl1,method = "glmGamPoi", vars.to.regress = "percent.mt", verbose = FALSE)
list[[i]] <- xx
}
Integration of data and for reference I used control samples 1-3:
all.samples.names <- c("Control1", "Control2", "Control3", "Pat1.0","Pat2.0","Pat4.0","Pat5.0")
rename.cells.list <- list()
for (i in 1:(length(all.samples))) {
ctrl1 <- RenameCells(all.samples[[i]], add.cell.id = all.samples.names[i])
rename.cells.list[[i]] <- ctrl1
}
features <- SelectIntegrationFeatures(object.list = rename.cells.list)
rename.cells.list <- PrepSCTIntegration(object.list = rename.cells.list, anchor.features = features)
anchors <- FindIntegrationAnchors(object.list = rename.cells.list, reference = c(1, 2, 3), normalization.method = "SCT", dims = 1:50, anchor.features = features)
immune.integrated <- IntegrateData(anchorset = anchors, dims = 1:50,normalization.method = "SCT", verbose=TRUE)
Now when I use the code from https://satijalab.org/seurat/articles/integration_introduction.html I get pretty crazy plots. The treatment samples have an expression count scale from 1-5 and the controls from 1-1000.
For example, S100A9 for control of 500 and Treatment only 4. It should be increased in the treatment samples. What I have done wrong? Something wrong with normalization?