Integrating joint snATAC/RNA-seq experiments #438
-
Hello, First off, thanks for the great tools in Signac/Seurat. I have a conceptual question that I think combines a few different of the vignettes and tutorials, but want to see if I'm thinking about it correctly before proceeding. I have 16 10x runs from the joint ATAC/RNA platform that are for 4 conditions (2 treatments and by each sex) that each have 4 biological replicates. I am interested in various combination comparisons between treatment and sex for differential expression and accessibility. I'm trying to understand when along the analysis it is appropriate to use NormalizeData, ScalaData, and Integrate with Harmony and if there are any special considerations when using the data from the joint chemistries or should I think of them as separate assays for the purpose of normalizing the data across the conditions/replicates? I had seen this but it is only for the one samples (https://satijalab.org/signac/articles/pbmc_multiomic.html) Trying to decide on a workflow. Here are a couple I came up with:
Thanks in advance for any guidance. |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 19 replies
-
I'm interested in the same topic here as well. I'm in a somewhat similar situation, where we have multiple captures of the 10x multiome (snRNA/ATAC) for several different groups of data that we eventually want to integrate. My approach so far is below:
The only issue I'm encountering so far is some errors on the IntegrateData step of the ATAC integration. I'd be more than open to input on this workflow and it's shortcomings. |
Beta Was this translation helpful? Give feedback.
-
Hi, this is an interesting question, and we're still working on methods to handle this properly (integration of multimodal datasets). In the meantime, I would suggest finding integration anchors using the RNA modality (using whatever options you want: CCA, rPCA). You can then use the same set of anchors to correct the cell embeddings for both the RNA data (run |
Beta Was this translation helpful? Give feedback.
-
@kmwinkley - Hello! Did you manage to get this to work? I'm trying it now and getting the same issue...but I believe I have ensured there is an LSI reduction for the combined objects. LSI is present for all cells, but it seems either i'm doing something wrong or its not happy with what I've done. Would you mind sharing the script that worked for you if you were successful? Cheers! |
Beta Was this translation helpful? Give feedback.
-
I think below is what you are looking for. Hope it helps. Good luck! `library(Signac) DefaultAssay(all_runs)<-"peaks" all_runs <- FindTopFeatures(all_runs, min.cutoff = 20) all_runs <- RunUMAP(all_runs, dims = 1:50, reduction = 'lsi', reduction.name = "umap.ATAC") all_runs <- RunHarmony(object = all_runs, group.by.vars = 'condition', all_runs<- RunUMAP(all_runs, dims = 1:50, reduction = 'harmony', reduction.name = "umap.ATAC_harm") DefaultAssay(all_runs)<-"RNA" all_runs<-SCTransform(all_runs, verbose = TRUE) all_runs <- FindMultiModalNeighbors(all_runs, reduction.list = list("pca", "harmony"), dims.list = list(1:50, 1:50)) ` |
Beta Was this translation helpful? Give feedback.
Hi, this is an interesting question, and we're still working on methods to handle this properly (integration of multimodal datasets). In the meantime, I would suggest finding integration anchors using the RNA modality (using whatever options you want: CCA, rPCA). You can then use the same set of anchors to correct the cell embeddings for both the RNA data (run
IntegrateData()
, followed byScaleData
andRunPCA
on the integrated assay), and for the LSI (runIntegrateEmbeddings()
withreductions = "lsi"
). You can then use both integrated dimension reductions for multimodal clustering (runFindMultiModalNeighbors()
with the integrated RNA data and the corrected LSI as inputs).