ConstructNetwork() and ModuleEigengenes() functions use different methods to calculate the ME (module eigengene), leading to the discrepancy in the kME result #266
Labels
question
Further information is requested
Thank you very much for developing the hdWGCNA package. However, I have encountered an issue with the conflicting ME (module eigengene) and kME (module membership) values during the module identification process.
Firstly, in the ConstructNetwork function, you use the default WGCNA::blockwiseConsensusModules function. I have set the minCoreKME and minKMEtoStay parameters to 0.5 and 0.2, respectively. However, when I ran the ModuleConnectivity function to calculate the gene kME values, the minimum kME value was 0.02, which does not meet my set threshold.
After reviewing the source code, I found that the blockwiseConsensusModules function calls the WGCNA::multiSetMEs function, which in turn calls the WGCNA::moduleEigengenes function to calculate the module eigengenes (ME). This is where the discrepancy arises, as I noticed that the hdWGCNA::ModuleEigengenes function uses the Seurat RunPCA method instead.
Since the kME calculation is a simple correlation (cor function + Pearson correlation), the difference in the results is due to the ME value calculation. The inconsistency in the ME calculation methods between the WGCNA and hdWGCNA packages is causing the issue, and I am unable to apply the results from the ModuleEigengenes and ModuleConnectivity functions.
I hope you can provide a solution to this problem as soon as possible. Thank you for your time and attention.
The text was updated successfully, but these errors were encountered: