satijalab / seurat

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

Integrate Xenium (targeted) with scRNA-seq data (transcriptomics) #9186

Open Psrwnsr opened 1 month ago

Psrwnsr commented 1 month ago

Hi everyone,

I’m currently working on Xenium (10x Genomics) data analysis, which contains 321 targeted genes. To explore more, I would like to merge and integrate public data with my Xenium dataset. However, the public data is at the transcriptomics level.

My question is, can we merge and integrate data with different numbers of transcripts together?

I’m working with Seurat V.5, using the SCTransform normalization method. After merging the two datasets, I integrated them using the “IntegrateLayers” function with the HarmonyIntegration method, selecting only the common features identified in both datasets.

Here is the code I used: common_genes <- intersect(rownames(Xenium.SPT.annotated.filtered), rownames(PublicData.normal))

Merged_data <- merge(Xenium.SPT.annotated.filtered, PublicData.normal) Merged_data <- SCTransform(Merged_data, assay = "Xenium") Merged_data <- RunPCA(Merged_data, npcs = 30)

Integrated_data <- IntegrateLayers(object = Merged_data, method = HarmonyIntegration, orig.reduction = "pca", new.reduction = "harmony", features = common_genes, verbose = FALSE)

Integrated_data[["Xenium"]] <- JoinLayers(Integrated_data[["Xenium"]])

Integrated_data <- FindNeighbors(Integrated_data, reduction = "harmony", dims = 1:30) Integrated_data <- FindClusters(Integrated_data, resolution = 0.6) Integrated_data <- RunUMAP(Integrated_data, dims = 1:30, reduction = "harmony")

Is this approach feasible? If you have any comments or suggestions, please feel free to share. Thanks!

walter-eckalbar commented 4 weeks ago

Did you ever get anywhere with this? I am trying a similar approach, but IntegrateLayers doesn't seem to like Xenium assays.