harmony
harmony copied to clipboard
Is dims.use actually working in RunHarmony?
Hello,
I noticed the output RunHarmony (Seurat) has all 50 components from PCA, but I specified only using the top 10. Also when I specifically computed only 10 PCs and then RunHarmony on it, the output embedding is only 10. When using the top 10 from harmonized PCs from the original 50 gives me a different downstream clustering than computing only 10 PCs. Is it possible that it's using all components no matter what?
I encountered the same issue. Setting dims.use does not change the results, it uses all the PCs from the PCA in the object.
Thanks for bringing this up. I have also been dealing with the same problem recently. It seems that modifying dim.use doesn't have any effect. Hope that we get a response from the developing team soon.
Hello, not the dev team, but are you both specifying the dims in this format "1:20" for example, and not just using dims.use = 20? I had the same issue not realizing it requires the same format you'd use for any seurat command specifying dims.
Also facing the same issue over here.
I should point out I ended up just redoing RunPCA with desired PCs after checking elbow plot (or jackstraw).
The same issue. 2022/1/20
Hi, not a developer of the package, but indeed there is an issue, which I highlighted in issue #151 , the solution is add a single line
embedding <- embedding[, dims.use]
inside their function. If they do not update the package, you can copy locally the function, e.g. RunHarmony.Seurat, rename it so it does not conflict with Harmony's package and make the change yourselves.
Best, CAK
Apologies for the late reply. This has been fixed in the newest version of harmony.