satijalab / seurat

R toolkit for single cell genomics
http://www.satijalab.org/seurat
Other
2.26k stars 906 forks source link

umap plot with speckles #2582

Closed doctorjb77 closed 4 years ago

doctorjb77 commented 4 years ago

image I merged 8 objects and ran SCTranform and I'm getting these speckles on the umap that I have not seen before. What do these speckles signify?

andrewwbutler commented 4 years ago

Hi,

It's not really possible to say much without more information about the data and how you processed it. Very generally, something probably went wrong upstream of RunUMAP.

no-response[bot] commented 4 years ago

This issue has been automatically closed because there has been no response to our request for more information from the original author. With only the information that is currently in the issue, we don't have enough information to take action. Please reach out if you have or find the answers we need so that we can investigate further.

jacksonloper commented 4 years ago

@doctorjb77 did you ever figure it out? we get speckles too sometimes and can't figure out what it means

JarneBelien commented 11 months ago

@doctorjb77 I am getting a super similar result - did you ever figure out the reason?

BenxiaHu commented 5 months ago

@JarneBelien did you figure it out?

JarneBelien commented 5 months ago

@BenxiaHu I don't think there was anything particularly wrong because I did all the possible troubleshooting. I came across other people who sometimes also saw this. Solution: try different normalization and integration methods... After Harmony integration eg this did not occur anymore.

BenxiaHu commented 4 months ago

@JarneBelien thanks a lot. can you show the specific codes?

JarneBelien commented 4 months ago

@BenxiaHu I just checked my code again, and actually after all different integration methods (so also Seurat integration), the UMAP normalized, so I guess it was mainly due to the different samples/datasets not being properly integrated before visualisation.

For Seurat integration, I used the workaround appointing reference datasets to lower memory requirement as such:

Integration_Features <- SelectIntegrationFeatures(Split_Blood, nfeatures = 3000)

Split_Blood <- lapply(X = Split_Blood, FUN = function(x) {
    x <- RunPCA(x, features = Integration_Features, verbose = FALSE)
})

options(future.globals.maxSize = 20000*1024^2)

Split_Blood <- PrepSCTIntegration(Split_Blood, anchor.features = Integration_Features, verbose = FALSE)

Anchors <- FindIntegrationAnchors(object.list = Split_Blood, reference = c(1, 5, 10, 13, 17), reduction = "rpca", dims = 1:50, normalization.method = "SCT", anchor.features = Integration_Features)

For Harmony, you can just follow the vignette: https://portals.broadinstitute.org/harmony/articles/quickstart.html

Good luck!

BenxiaHu commented 4 months ago

thanks a lot. do you follow this one: https://satijalab.org/seurat/archive/v4.3/integration_introduction

JarneBelien commented 4 months ago

You can indeed follow that one. I followed a workaround that's less memory intensive, the one using recirpocal PCA: image But that vignette is not supported anymore.

BenxiaHu commented 4 months ago

thanks a lot. I try this one: https://satijalab.org/seurat/archive/v4.3/integration_introduction

image

but still see many cell speckles.

BenxiaHu commented 4 months ago

organoid <- readRDS("snRNAseq.rds") organoid <- SplitObject(organoid, split.by = "SampleID")

organoid <- lapply(X = organoid, FUN = SCTransform) features <- SelectIntegrationFeatures(object.list = organoid, nfeatures = 3000) organoid <- PrepSCTIntegration(organoid,anchor.features = features) anchors <- FindIntegrationAnchors(organoid,normalization.method = "SCT",anchor.features = features) organoid <- IntegrateData(anchors, normalization.method = "SCT") organoid <- RunPCA(organoid, dims=1:50,verbose = FALSE) organoid <- RunUMAP(organoid, dims = 1:50,umap.method = "umap-learn", metric = "correlation",verbose = FALSE) organoid <- FindNeighbors(organoid, dims = 1:50, verbose = FALSE) organoid <- FindClusters(organoid,verbose = FALSE) DimPlot(organoid, raster=FALSE)

BenxiaHu commented 4 months ago

@JarneBelien do you see anything different from your code?

JarneBelien commented 4 months ago

I do not see an overt difference in the code no. You could try several things:

Good luck!