satijalab / azimuth-references

19 stars 10 forks source link

Integrating ECCITE-seq data with my smartseq2 data #23

Closed howardhkk123 closed 2 months ago

howardhkk123 commented 2 months ago

Hi Seurat team,

My name is Howard. I am trying to annotate the cells from smartseq2 scRNA seq data based on the reference ECCITE-seq dataset from Zhang, B., et al. Nat Immunol. 2022. Becasue their ECCITE-seq data didn't have SPCA and wsnn graph, I generated wsnn graph and conducted SPCA for this data first following the guideline in the Vignettes. Follwoing the SPCA, I tried to generate an archor between my query dataset and the ECCITE-seq reference, but I keep getting this error message during archor generation. "Error in slot(object = reference[[reference.assay]], name = "SCTModel.list") : no slot of name "SCTModel.list" for this object of class "Assay""

These are my codes. `MY_seuobj <- readRDS("seuobj_SC.rds") PBMC_ECCITE <- readRDS(file.path(data_path, "PBMC_vaccine_ECCITE_TCR.rds")) PBMC_ECCITE[["percent.mt"]] <- PercentageFeatureSet(PBMC_ECCITE, pattern = "^MT.")

DefaultAssay(PBMC_ECCITE) <- 'RNA' PBMC_ECCITE <- SCTransform(PBMC_ECCITE, assay = "RNA", vst.flavor="v2", vars.to.regress = "percent.mt", verbose = FALSE)%>% RunPCA()

DefaultAssay(PBMC_ECCITE) <- 'ADT' VariableFeatures(PBMC_ECCITE) <- rownames(PBMC_ECCITE[["ADT"]]) PBMC_ECCITE <- NormalizeData(PBMC_ECCITE, normalization.method = 'CLR', margin = 2) %>% ScaleData() %>% RunPCA(reduction.name = 'apca')

PBMC_ECCITE <- FindMultiModalNeighbors( PBMC_ECCITE, reduction.list = list("pca", "apca"), dims.list = list(1:30, 1:18), modality.weight.name = "RNA.weight" ) PBMC_ECCITE <- RunUMAP(PBMCECCITE, nn.name = "weighted.nn", reduction.name = "wnn.umap", reduction.key = "wnnUMAP") PBMC_ECCITE <- RunSPCA(PBMC_ECCITE, graph = 'wsnn', verbose = FALSE) Anchors <- FindTransferAnchors( reference = PBMC_ECCITE, query = MY_seuobj, normalization.method = "SCT", k.anchor = 5, reference.reduction = "spca", dims = 1:40)`

Could you please help me figure out the problem?

Thanks! Howard