GRPhIN (Graphlet Characterization of Regulatory and Physical Interaction Networks) is an algorithm for counting graphlets and the specific node positions within each graphlet (called orbits) in mixed regulatory and physical interaction networks. Graph representions of regulatory or physical interactions in isolation may obscure the complete functional context of a protein. PPI networks and GRNs do not exist separately; proteins are transcription factors, genes encode proteins, and physical and regulatory interactions mix and coexist forming their own distinct patterns. Graphlets are small, connected, induced subnetworks that describe patterns, local topologies, and organization in networks.
GRPhIN takes as input (1) an undirected PPI network and (2) a directed regulatory network and counts all mixed graphlets and their respective orbits (Figure 6). GRPhIN provides additional functional context to the roles a protein may play beyond traditional isolated network types.
- Install and activate the GRPhIN conda environment in the root directory with
conda env create -f environment.yml
andconda activate grphin
. - To run the GRPhIN orbit and graphlet counting algorithm on the example networks, run the
grphin.py
script withpython3 grphin.py
. - Follow the menu options for your organism of interest.
data/
– Contains raw data files for case studies.final_output/
– Contains output data files for case studies.
countRandomizedNetworks.sh
- Script to run GRPhIN in graphlets-only mode on a user-defined number of networks. Used to count graphlets in 1000 randomized networks for oxidative stress case studies.enrichment.py
– Script for calculating graphlet enrichment statistics.environment.yml
– Set up the conda environment with all dependencies required to run the project.grphin.py
– Script for running the GRPhIN algorithm.generateNetworks.py
– Script to generate randomized networks for significance testing.iterations_swaps.R
- Script to generate plot showing thresholds for swaps for each species based on the percent randomization.iterations_swaps.txt
- Dataset to calculate the percent randomization based on different numbers of swaps for all species.orbit_proteins.py
– Script for finding protein identities and overrepresented orbits in GRPhIN results.pageRank.py
– Script for running simple Random Walk with Restart algorithm to capture a subnetwork based on oxidative stress pathways.README.md
– This file, providing documentation for the repository.significance.py
– Script to calculate the significance of the appearance of mixed graphlets in oxidative stress pathways compared to random networks.