The goal of netkit is to provide a comprehensive and user-friendly toolkit for network-based data analysis, particularly for biological systems analysis. It includes tools for flexible graph annotation, topological analysis, network visualization, and diffusion-based signal propagation.
Advanced features include a greedy algorithm for reverse diffusion analysis — predicting optimal seed node sets that maximize signal propagation to a specified set of target nodes — and tools for simulating network robustness under targeted or random node removal, following the framework of Albert et al., 2000. Additionally, netkit implements node role classification based on within-module and between-module connectivity, as described by Guimerà & Amaral, 2005.
With a special scope to generate high-quality and interpretable figures suitable for publication, most of the functions generate both tabular results and diagnostic plots. The package also offers flexible network visualization options that support node/edge metadata mapping, dynamic sizing, and layout control.
Altogether, netkit is designed to help researchers explore, interpret, and visualize complex networks with minimal friction and maximum insight.
Installation
You can install the development version of netkit from GitHub using the devtools
or remotes
package:
# If not already installed:
install.packages("devtools")
# Install netkit from GitHub
devtools::install_github("agallinat/netkit")
Documentation
Full usage examples and tutorial are available in the package vignettes:
browseVignettes("netkit")
Or online:
Contributing
Contributions are welcome! If you’d like to report a bug, suggest a feature, or improve documentation, please open an issue or submit a pull request at:
https://github.com/agallinat/netkit/issues
For larger changes, feel free to open a discussion first.