IntegrateLayers #9307
Replies: 1 comment
-
Hi, As for the warning messages, I do not think they are of particular concern. Since this is more of a analysis question, I will move it to the Discussion channel to get more people from the community to engage. |
Beta Was this translation helpful? Give feedback.
-
Hi, I have 2 cells Lines (run in different sequencing runs), exposed to 8 different compounds each, so 16 samples.
I am interested in the effect of the compounds (exposure).
My steps:
merged_seurat <- NormalizeData(object = merged_seurat)
merged_seurat <- FindVariableFeatures(object =merged_seurat)
merged_seurat <- ScaleData(merged_seurat)
merged_seurat <- RunPCA(merged_seurat)
merged_seurat <- merged_seurat %>%
RunUMAP(dims = 1:20) %>%
FindNeighbors( dims = 1:20) %>%
FindClusters(resolution = 0.1, cluster.name = "unintegrated_clusters_0.1")
when I plot DimPlot(merged_seurat, reduction = "umap", split.by = "Line") I see that Line1 and Line 2 do not overlap much, while if I split.by = exposure they do.
Then I think I need to Integrate by Line (to remove the effect of Line/batch).
But I don't think I should integrate by Exposure (as they still share clusters, and I am afraid of overcorrecting the effect of the exposure which is what I am trying to catch). * Is my thinking correct??????
A - IntegrateLayers():
Then I would be integrating by Line only. which I think is more appropriate for my design but the normalization and find variables is not being done by sample but by Line. *** Is this correct?
I can do this with Harmony as well... but in any case the selection of layers to integrate depends on how I split.
B- RunHarmony():
Here I am doing the normalization and find variables in my merged_seurat which is the result of step 2 (and therefore the normalization and findvariables etc is being done by sample as they are independent layers in the merged_seurat object, as if I has joined-split by sample), but I am running Harmony group.by.vars = 'LINE' (without having split by Line the layers). So is not the same as running Harmony in with integrateLayers() after splitting by line as in approach A.
**** which Harmony approach would be correct?
C- FindIntegrationAnchors() CCA
Here, it seems I am splitting by Line for the integration, but the normalizeData and FindVariablesFeatures is being done for each sample.
***** would this be correct?
******this is failing in the step
FindIntegrationAnchors(object.list = obj.list, anchor.features = features)
..........................................
In summary, I am very confused in how I should split the layers, if the normalization and find variables should be done by sample or by "Line-group of samples of the same batch", and how to tell each function the specific variable I want to consider for integration (e.g. Line, Exposure, all samples).
Final question for Harmony, either with RunHarmony or IntegrateLayers(HarmonyIntegration) I am getting several warnings:
9: Quick-TRANSfer stage steps exceeded maximum (= 12420850)
and with IntegrateLayers(HarmonyIntegration) also many deprecated as for example
1: HarmonyMatrix is deprecated and will be removed in the future from the API in the future
2: Warning: The parameters do_pca and npcs are deprecated. ...
... 9: Quick-TRANSfer stage steps exceeded maximum (= 12420850)
Is it ok to ignore all these warnings?
I am sorry it is a very long question... but found many forums with same concerns and no straight answer so I wanted to be clear.
Thank you so much!
Gimena
Beta Was this translation helpful? Give feedback.
All reactions