Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inquiry about topology structure and natural connetivity of every single sample network #3

Open
Shawane-Wang opened this issue Nov 17, 2023 · 4 comments

Comments

@Shawane-Wang
Copy link

Hello! I am working on a projet which requires to construct single sample network for each participants. Lucky to find this package! However, I came across some issues. Wish you could help!

  1. We'd like to construct single sample network using SPIEC-EASI. Could it be realized in lionessR?
  2. Besides, any other functions could we set to replace "netFun" in the "lioness(exp, netFun)"? Could you show me some examples?
  3. We'd like to calculate topology structure for every sample network and correlate them with other variables. How could it be realized?
  4. We'd like to calculate natural connetivity as well as the results after randomly remove nodes in the network to identify the vulnerability or robustness of the network. Is it possible to realize? The concept came from "Interannual climate variability and altered precipitation influence the soil microbial community structure in a Tibetan Plateau grassland" and "Natural Connectivity of Complex Networks".
@mararie
Copy link
Owner

mararie commented Nov 20, 2023

Hi! Thank you for your message. Please find my replies below.

  1. I am not familiar with the SPIEC-EASI method and thus unsure if it can be implemented in lionessR. However, in principle, the LIONESS approach should work on any network reconstruction algorithm that returns complete, weighted networks.
  2. You could, for example, use other similarity metrics such as Spearman correlation "stats::cor(t(x), method="spearman")". The input function depends on what type of network you would like to model.
  3. Yes, you can calculate network topology using, for example, fast.greedy from the igraph package. You may need to threshold the networks though, as these are complete and weighted and thus, identifying clear communities can be difficult, especially if the network size is large (and suffers from the resolution limit).
  4. From the description above, it sounds like this is something you would like to do after having modeled a single-sample network. This should be possible. An alternative would be to evaluate how removing nodes in the aggregate network affects stability of the single-sample networks.
    Good luck with your research!

@Shawane-Wang
Copy link
Author

Thanks for your reply! However I am still confused about the response to the question 3. Does it mean the cormat object generated after lioness(dat, netFun) was a weighted correlation matrix? Could you explain more about "threshold the networks"?

@mararie
Copy link
Owner

mararie commented Nov 20, 2023

Thanks for your message.

The output of LIONESS depends on the input network reconstruction algorithm. As this package was designed to apply LIONESS to Pearson correlation networks, the output of the default netFun() is based on an aggregate network estimated with Pearson correlation. The edge weights in each single-sample network can be interpreted as the contribution to that aggregate network. Please refer to the original LIONESS publication for more information on how LIONESS works and how it can be applied to other algorithms, DOI: 10.1016/j.isci.2019.03.021.

As this is not a bug in the code, but rather a question on the methodology, I am closing this issue. Feel free to contact me here should you have any remaining questions: https://www.kuijjerlab.org/contact/

@Shawane-Wang
Copy link
Author

Thanks for your kind reply! I would contact you by the website~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants