This project applies Graph Theory and Network Science to analyze Human Protein-Protein Interaction (PPI) networks. Using NetworkX, it explores the topological properties of the proteome to identify essential proteins ("hubs") and discover potential signaling pathways.
The analysis provides biological insights by modeling proteins as Nodes and their interactions as Edges, allowing for the application of advanced graph algorithms.
- Network Topology Analysis:
- Constructed a weighted undirected graph from PPI data.
- Calculated Degree Distribution to identify scale-free properties.
- Computed Graph Density and Average Clustering Coefficient.
- Hub Identification (Centrality Measures):
- Used Degree Centrality to find the most connected proteins (e.g., UBC, APP).
- Ranked proteins to highlight potential drug targets.
- Pathfinding & Signaling:
- Implemented Dijkstra’s Algorithm (via NetworkX) to find Shortest Paths between specific proteins.
- Analyzed connectivity for specific targets (e.g., P04629 - NTRK1).
- Visualization:
- Generated subnetwork graphs to visualize local interactions.
- Plotted Degree Histograms on Log-Log scales.
- Source: PathLinker 2018 Human PPI (Weighted).
- Mapping: UniProt IDs mapped to Gene Symbols for readability.
- Clone the repository:
git clone [https://github.com/mariamashraf731/PPI-Graph-Analytics.git](https://github.com/mariamashraf731/PPI-Graph-Analytics.git)
- Install Dependencies:
pip install -r requirements.txt
- Run the Analysis:
jupyter notebook notebooks/PPI_Analysis_Main.ipynb
For a detailed explanation of the graph metrics and biological interpretations, refer to the [Final Report](docs/Graph-Based Analysis of Protein-Protein Interactions for Biological Insights.pdf).