Closed arakid closed 1 year ago
Hi,
In your HTO assay, it seems that you only extract one feature for it.
hashtag_antibody <- subset(x = sol$antibody_whole, features = c("Hashtag1"))
You will not be able to run HTODemux if there is only one feature. Or is it a typo, where in fact you want to run HTODemux on the "ADT" assay?
It is not a typo - I used only one HTO antibody... (in addition to 14 other ADT antibodies).
I hope that I can use this HTO antibody's data to identify doublets/multiplets away from singlets. What approach would you recommend? For example, do you recommend me to include this HTO antibody into "ADT" assay, and run HTODemux on the ADT assay (in this case the ADT assay includes this one HTO antibody plus 14 ADT antibodies)?
Hi, I see. In that case, you can identify doublets/multiplets on your ADT assay. You cannot do that on your HTO assay. And I would not suggest integrating your HTO with your ADT, since they are essentially different modalities. Alternatively, you can infer doublets/multiplets based on your RNA. Seurat does not have such function built-in but your can use package like DoubletFinder (https://github.com/chris-mcginnis-ucsf/DoubletFinder) to do this.
Thanks very much for your suggestions. When I used ADT assay to use HTODemux function, it identified about 10-20% of cells as singlets (I loaded 22000 cells)... It looks like "DoubletFinder" is the only solution!? If anybody knows how to identify singlets using one HTO, please share that with me (It is tremendously helpful).
THANK YOU!!!
I have a CITE-seq data, where 22000 cells were captured, which were stained with one HTO antibody. I set it as a "HTO" assay, normalize it by "NormalizeData" function and attempted to demultiplexing cells by "HTODemux" function.
I received the following error: Error in counts[iter, colnames(object)] : subscript out of bounds
It would be greatly appreciated if you could give me any suggestions as to how to solve this in this context.
P.S. The following is the exact codes up to the point where I received the error.
hsc.data.1 <- Seurat::Read10X(data.dir = file.path(data.dir, "antibody_capture_filtered")) sol[["hsc-data"]] <- Seurat::CreateSeuratObject(counts = hsc.data.1$
Gene Expression
) sol[["antibody_whole"]] <- Seurat::CreateAssayObject(counts = hsc.data.1$Antibody Capture
) surface_antibody <- subset(x = sol$antibody_whole, features = c("CD34", "CD38", "CD90", "CD45RA", "CD49f", "CD135", "CD10", "CD45", "CD117", "CD133", "CD184", "CD201", "CD33", "CD110")) hashtag_antibody <- subset(x = sol$antibody_whole, features = c("Hashtag1")) sol$hsc-data
[["ADT"]] <- surface_antibody sol$hsc-data
[["HTO"]] <- hashtag_antibodySeurat::DefaultAssay(object = sol$
hsc-data
) <- 'RNA' sol$hsc-data
[["percent.mt"]] <- Seurat::PercentageFeatureSet(sol$hsc-data
, pattern = "^MT-") sol$hsc-data
$percent.mt[is.nan(sol$hsc-data
$percent.mt)] <- FALSE VlnPlot(sol$hsc-data
, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3, raster = FALSE)mean_feature <- mean(sol$
hsc-data
$nFeature_RNA) sd_feature <- sd(sol$hsc-data
$nFeature_RNA) sol$hsc-data
<- subset(sol$hsc-data
, subset = nFeature_RNA > (mean_feature - 2(sd_feature)) & nFeature_RNA < (mean_feature + 2(sd_feature)) & percent.mt < 5)sol$
hsc-data
<- NormalizeData(sol$hsc-data
) sol$hsc-data
<- FindVariableFeatures(sol$hsc-data
, selection.method = "vst", nfeatures = 2000) all.genes <- rownames(sol$hsc-data
) sol$hsc-data
<- ScaleData(sol$hsc-data
, features = all.genes)and then, I performed the following: sol$
hsc-data
<- NormalizeData(sol$hsc-data
, assay = "HTO", normalization.method = "CLR") sol$hsc-data
<- HTODemux(sol$hsc-data
, assay = "HTO", positive.quantile = 0.99) --> Error in counts[iter, colnames(object)] : subscript out of bounds