Hello, I am working with two sample types. One is uninfected and another is infected. I combined them through integration and their orig.ident are 'infected' and 'uninfected'. In the image the infected has straight dotted lines. What do they mean? I am new to scRNA analysis, please let me know if you need more information.
Which normalization method did you use for your data? I am guessing you had used SCTransform normalization for your data. Can you plot using the following codes and see if it makes a difference?
I would recommend you to use
Seurat V5
andLogNormalize()
method for your data normalization.your_seuratObj <- NormalizeData(your_seuratObj, normalization.method = "LogNormalize", scale.factor = 10000)
I am already using Seurat V5 I think. I am using SCTransform as it was recommended by the seurat page. I get this plot with the code you have provided. They look the same. Could it be that due to the cells expressing these genes being too low I am getting those straight lines?
I wonder how the
Vlnplots
will look if you normalize the data usingNormalizeData()
function inSeurat
. The flat line in your plot are because the data is discrete counts. This is more more noticeable for small values than for larger values as data are log transformed. I do not think you have worry about the data though. One more thing to note here that though recommendedSCTransform()
to normalize the data (as you said above), you can still usedNormalizeData()
function to normalize the data. Did you perform data integration here? If so how did you do it?features <- SelectIntegrationFeatures(object.list = merged_dat)
data.anchors <- FindIntegrationAnchors(object.list = merged_dat, anchor.features = features)
data.combined <- IntegrateData(anchorset = data.anchors)
data.combined <- ScaleData(data.combined, verbose = FALSE)
data.combined <- RunPCA(data.combined, npcs = 30, verbose = FALSE)
elbow <- ElbowPlot(data.combined, ndims = 30)
elbow
data.combined <- RunUMAP(data.combined, reduction = "pca", dims = 1:16)
data.combined <- FindNeighbors(data.combined, reduction = "pca", dims = 1:16)
data.combined <- FindClusters(data.combined, resolution = 0.3)
So here the merged_dat is a list containing the uninfected and infected seurat objects that went through SCTransform. If I want to compare infected and uninfected data this is the way to go right?
The approach you are using here is the old method. Seurat is updated to V5. Please try Seurat V5 integrative analysis described in the link below. You can try with several batch correction methods and decide which one best fits to your data Integrative analysis in Seurat v5.