stefpeschel / NetCoMi

Network construction, analysis, and comparison for microbial compositional data
GNU General Public License v3.0
146 stars 26 forks source link

No hub node for group1 #45

Closed danningwang closed 2 years ago

danningwang commented 2 years ago

Hi authors,

I recently start using your package and find it very nice as it incorporate many potential workflows for microbiome data analysis. But when I compare two networks, one did not have any hub node. Why does this happen? The hub node should be those above 95% quantile of the centrality distribution, then there should be some hubs exist. Could you explain this for me?

Thanks, Danning

stefpeschel commented 2 years ago

Dear Danning,

have you set hubPar to only a single value, e.g. to "eigenvector", and lnormFit = FALSE? Then, you should get some hub nodes. Otherwise, could you please provide me with your netAnalyze() code and the dimension of the adjacency matrix (can be accessed via dim(net$adjaMat1) and dim(net$adjaMat2), where net is your constructed network object)?

Best, Stefanie

danningwang commented 2 years ago

Dear Stefanie, I did not set hubPar as I thought the default value of hubPar is 'eigenvector', and I also set lnormFit=T. My adjacency matrix is 322 x 322. The following is my code for net construction and analysis.

treatment.net = netConstruct(t(rs.otuTab.lp), measurePar = list(nlambda=40, lambda.min.ratio=1e-1, pulsar.params = list(rep.num=99)), sparsMethod = "none", seed = 1245356, verbose = 3) treatment.analyze <- netAnalyze(treatment.net, centrLCC = FALSE,

avDissIgnoreInf = TRUE,

                          sPathNorm = FALSE,
                          clustMethod = "cluster_fast_greedy",
                          hubQuant = 0.95,
                          lnormFit = TRUE,
                          normDeg = FALSE)

Thanks, Danning

stefpeschel commented 2 years ago

Dear Danning, Thanks for the code and explanations.

If lnormFit = TRUE, a log-normal distribution is fitted to the centrality values and the 95% quantile of the fitted distribution is taken for identifying the hubs. So, in this case, you won't necessarily find any hub nodes.

If, on the other hand, lnormFit is set to FALSE, the empirical distribution function of the centralities is used and the number of hubs is predefined.

Best, Stefanie

danningwang commented 2 years ago

Many thanks, Stefanie. I see.

Best regards, Danning